/* ══════════════════════════════════════════════════════════════
   Aquí Por Ti — Acts
   The journey's temperature curve:
   rose-dark → golden Petra → stone Palma → parchment Cádiz →
   turquoise/night ocean → dust-gold California → dusk Carmel →
   full-colour La Seu 2013 → paper → ink
   ══════════════════════════════════════════════════════════════ */

/* ═════════ OVERTURE (hero) ═════════ */
.ov{position:relative;min-height:100svh;display:grid;overflow:hidden;background:oklch(.09 .022 34);color:oklch(.97 .02 70);isolation:isolate}
.ov-bg{position:absolute;inset:-8% -4%;background:url('rose-window-cross.png') 42% center/cover;filter:saturate(1.1) contrast(1.06);transform:translate3d(0,calc(var(--p) * 60px),0) scale(calc(1.06 + var(--p) * .10));will-change:transform}
.ov-veil{position:absolute;inset:0;background:linear-gradient(96deg,oklch(.1 .025 35/.14) 0%,oklch(.1 .025 35/.28) 30%,oklch(.09 .022 35/.8) 52%,oklch(.07 .018 35/.95) 76%,oklch(.06 .015 35/.98) 100%)}
.ov-veil2{position:absolute;inset:0;background:radial-gradient(ellipse 60% 46% at 26% 44%,oklch(.72 .16 40/.20),transparent 66%),linear-gradient(180deg,oklch(.06 .02 34/.62) 0%,transparent 26%,transparent 72%,oklch(.05 .015 34/.7) 100%)}
.ov-grid{position:relative;z-index:3;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,5vw,80px);padding:clamp(96px,13vh,132px) var(--gutter) clamp(92px,12vh,120px);max-width:1480px;margin:0 auto;width:100%}
.ov-left{align-self:stretch;display:flex;align-items:flex-end}
.ov-rosemark{font-family:var(--sans);font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:oklch(.92 .04 70/.72);display:flex;align-items:center;gap:11px;flex-wrap:wrap;text-shadow:0 1px 10px oklch(.05 .02 30/.9)}
.ov-rosemark .dot{width:3px;height:3px;border-radius:50%;background:var(--gold)}
.ov-right{max-width:600px;align-self:center;transform:translate3d(0,calc(var(--p) * -46px),0)}
.ov-eyebrow{font-family:var(--sans);font-size:9.5px;letter-spacing:.36em;text-transform:uppercase;color:oklch(.94 .04 70/.84);margin-bottom:clamp(22px,3.4vh,38px);display:flex;align-items:center;gap:13px;text-shadow:0 1px 8px oklch(.05 .02 30/.9)}
.ov-eyebrow i{width:34px;height:1px;background:var(--gold);display:block}
.ov-title{font-family:var(--serif-display);font-size:clamp(56px,10.5vw,148px);line-height:.9;font-weight:300;letter-spacing:-.02em;margin:0 0 clamp(18px,2.6vh,30px);text-shadow:0 4px 46px oklch(.05 .02 30/.6)}
.ov-title em{font-style:italic;color:var(--gold);display:block}
.ov-deck{font-family:var(--serif-body);font-size:clamp(15.5px,1.35vw,19px);line-height:1.66;color:oklch(.9 .025 72/.92);max-width:520px;margin:0 0 clamp(24px,3.4vh,38px)}
.ov-deck .nm{font-style:italic;color:var(--gold)}
.ov-credits{display:flex;flex-wrap:wrap;gap:12px 30px}
.ov-cred{display:flex;align-items:center;gap:12px}
.ov-cred img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:center 24%;box-shadow:0 0 0 1px oklch(.7 .08 78/.5),0 0 0 4px oklch(.1 .02 34/.5)}
.ov-cred-t{display:flex;flex-direction:column;gap:2px;font-family:var(--sans)}
.ov-cred-l{font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:oklch(.78 .05 78/.8)}
.ov-cred-n{font-family:var(--serif-display);font-style:italic;font-size:15px;color:oklch(.96 .02 74)}
.ov-cred-p{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:oklch(.72 .03 72/.8)}
.ov-scroll{position:absolute;z-index:4;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:11px;font-family:var(--sans);font-size:8.5px;letter-spacing:.3em;text-transform:uppercase;color:oklch(.86 .04 76/.8)}
.ov-scroll i{width:1px;height:46px;background:linear-gradient(180deg,var(--gold),transparent);animation:ovpulse 2.6s var(--ease) infinite}
@keyframes ovpulse{0%,100%{opacity:.35;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}
@media(max-width:900px){
  .ov-grid{grid-template-columns:1fr;align-content:end;gap:22px;padding:104px var(--gutter) 84px}
  .ov-left{align-items:flex-start;order:2}
  .ov-right{order:1}
  .ov-bg{background-position:52% 30%}
  .ov-veil{background:linear-gradient(180deg,oklch(.09 .022 35/.62) 0%,oklch(.09 .022 35/.42) 32%,oklch(.07 .018 35/.9) 70%,oklch(.06 .015 35/.97) 100%)}
}

/* ═════════ THRESHOLD (invocation) ═════════ */
.th{position:relative;background:oklch(.13 .022 36);color:oklch(.92 .02 74);padding:clamp(84px,13vh,150px) 0;overflow:hidden}
.th::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 0%,oklch(.6 .14 36/.16),transparent 70%)}
.th-in{position:relative;display:grid;grid-template-columns:minmax(220px,.62fr) 1fr;gap:clamp(36px,5.5vw,84px);align-items:center;max-width:1180px;margin:0 auto;padding:0 var(--gutter)}
.th-fig{max-width:330px}
.th-fig{position:relative}
.th-fig .j-arch{aspect-ratio:4/4.6}
.th-fig .j-arch img{object-position:center 16%}
.th-fig figcaption{margin-top:20px;display:flex;flex-direction:column;gap:4px;font-family:var(--sans)}
.th-fig .c1{font-size:8.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.th-fig .c2{font-family:var(--serif-display);font-style:italic;font-size:18px;color:oklch(.95 .02 74)}
.th-fig .c3{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:oklch(.7 .03 72/.8)}
.th-orn{color:var(--gold);opacity:.7;margin-bottom:clamp(26px,4vh,42px)}
.th-inv{font-family:var(--serif-display);font-size:clamp(21px,2.7vw,38px);line-height:1.34;font-weight:300;margin:0}
.th-inv .ln{display:block;padding:5px 0}
.th-inv em{font-style:italic;color:var(--gold)}
.th-inv .ln-final{margin-top:16px;padding-top:20px;border-top:1px solid oklch(.5 .06 76/.28)}
.th-inv .sg{font-style:italic;color:var(--vermilion-soft)}
@media(max-width:820px){.th-in{grid-template-columns:1fr;gap:32px}.th-fig{max-width:280px}}

/* ═════════ ACT SHELL ═════════ */
.act{position:relative;overflow:hidden}
.act-head{position:relative;z-index:3}
.act-place{font-family:var(--sans);font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.act-place>span{white-space:nowrap}
.act-place .yr{font-family:var(--serif-display);font-style:italic;letter-spacing:.06em;font-size:14px;text-transform:none;opacity:.8}
.act-place .rmn{font-family:var(--serif-display);font-size:15px;font-style:italic;letter-spacing:.1em;text-transform:none;opacity:.55}
.act-body{position:relative;z-index:3}
.act-body p+p{margin-top:1.05em}

/* ── I · PETRA — golden earth ── */
.petra{background:linear-gradient(180deg,oklch(.13 .04 30) 0,oklch(.93 .036 84) var(--band),oklch(.966 .022 80) 46%,oklch(.972 .012 78) 100%);padding:var(--actpad) 0 clamp(80px,12vh,150px);color:var(--ink)}
.petra::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 62% 44% at 78% 12%,oklch(.86 .10 84/.5),transparent 68%),radial-gradient(ellipse 50% 40% at 6% 82%,oklch(.9 .06 92/.4),transparent 70%)}
.petra-in{position:relative;z-index:3;display:grid;grid-template-columns:1fr minmax(280px,.62fr);gap:clamp(36px,5vw,80px);align-items:center;max-width:1040px;margin:0 auto;padding:0 var(--gutter)}
.petra-fig{max-width:330px;margin-left:auto}
.petra .act-place{color:var(--gold-deep)}
.petra .j-title{color:var(--ink)}
.petra .j-title em{color:var(--gold-deep)}
.petra .j-lede{color:var(--ink-soft);margin:22px 0 26px;padding-bottom:24px;border-bottom:1px solid oklch(.82 .05 80/.7)}
.petra .j-body{color:var(--ink-soft)}
.petra .j-body strong{color:var(--ink)}
.petra-fig .j-arch{aspect-ratio:4/4.6}
.petra-cap{margin-top:18px;font-family:var(--sans);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);display:flex;flex-direction:column;gap:5px}
.petra-cap em{font-family:var(--serif-display);font-size:15px;font-style:italic;letter-spacing:0;text-transform:none;color:var(--gold-deep)}
/* baptism whisper */
.whisper{position:relative;z-index:3;max-width:640px;margin:clamp(50px,8vh,86px) auto 0;text-align:center;font-family:var(--serif-display);font-style:italic;font-size:clamp(19px,2.1vw,27px);line-height:1.44;color:var(--vermilion-deep)}
.whisper .sm{display:block;margin-top:14px;font-family:var(--sans);font-style:normal;font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint)}
@media(max-width:860px){.petra-in{grid-template-columns:1fr;gap:34px}.petra-fig{max-width:340px;margin:0 auto}}

/* ── II · PALMA — stone & cathedral violet ── */
.palma{background:linear-gradient(180deg,oklch(.972 .012 78) 0,oklch(.30 .045 296) var(--band),oklch(.22 .045 300) 60%,oklch(.16 .035 300) 100%);color:oklch(.9 .02 300);padding:var(--actpad) 0 clamp(96px,14vh,170px)}
.palma-bg{position:absolute;inset:0;z-index:1;opacity:.34;background:url('nave-refined-violet.png') center 30%/cover;transform:translate3d(0,calc(var(--c) * 70px * -1),0) scale(1.12);-webkit-mask-image:radial-gradient(ellipse 92% 70% at 50% 46%,#000 34%,transparent 82%);mask-image:radial-gradient(ellipse 92% 70% at 50% 46%,#000 34%,transparent 82%)}
.palma::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,oklch(.95 .02 78/.5) 0%,transparent 16%),radial-gradient(ellipse 46% 34% at 50% 20%,oklch(.8 .1 84/.16),transparent 70%)}
.palma-in{position:relative;z-index:3;max-width:860px;margin:0 auto;padding:0 var(--gutter)}
.palma .act-place{color:oklch(.78 .07 300)}
.palma .j-title{color:oklch(.96 .015 300)}
.palma .j-title em{color:var(--gold)}
.palma .j-lede{color:oklch(.86 .03 300);margin:24px 0 0;max-width:620px}
.palma-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4.4vw,64px);margin-top:clamp(38px,6vh,66px)}
.palma .j-body{color:oklch(.82 .025 300)}
.palma .j-body strong{color:oklch(.95 .02 300);font-weight:500}
.palma .j-body em{color:var(--gold);font-style:italic}
/* the turn — "y entonces, a los treinta y cinco años, lo dejó todo" */
.turn{position:relative;z-index:3;max-width:900px;margin:clamp(56px,9vh,110px) auto 0;padding:clamp(30px,4.6vh,52px) clamp(24px,4vw,54px);text-align:center;border-top:1px solid oklch(.6 .07 300/.34);border-bottom:1px solid oklch(.6 .07 300/.34)}
.turn p{font-family:var(--serif-display);font-style:italic;font-size:clamp(22px,3.1vw,42px);line-height:1.24;color:var(--gold);margin:0}
.turn .en{display:block;margin-top:16px;font-size:clamp(15px,1.5vw,20px);font-style:normal;color:oklch(.82 .03 300)}
@media(max-width:820px){.palma-cols{grid-template-columns:1fr;gap:22px}}

/* ── III · CÁDIZ / THE LETTER — parchment, intimate ── */
.cadiz{background:linear-gradient(180deg,oklch(.16 .035 300) 0,oklch(.90 .034 82) var(--band),oklch(.945 .028 82) 50%,oklch(.93 .024 78) 100%);color:var(--ink);padding:var(--actpad) 0 clamp(90px,13vh,160px)}
.cadiz-in{position:relative;z-index:3;display:grid;grid-template-columns:minmax(260px,.86fr) 1fr;gap:clamp(38px,5.6vw,88px);align-items:center;max-width:1240px;margin:0 auto;padding:0 var(--gutter)}
.cadiz .act-place{color:var(--ochre-deep)}
.letter-plate{position:relative;transform:rotate(-1.6deg);transform-style:preserve-3d;box-shadow:0 1px 0 oklch(1 0 0/.6) inset,0 34px 70px -30px oklch(.2 .04 40/.42),0 4px 12px -4px oklch(.2 .04 40/.2);background:var(--paper);overflow:hidden;aspect-ratio:4/3}
.letter-plate img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:sepia(.34) saturate(.84) contrast(1.05)}
.letter-plate::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,oklch(.95 .025 75/.2),oklch(.5 .04 40/.04) 50%,oklch(.3 .03 40/.14));pointer-events:none}
.cadiz .j-title em{color:var(--ochre-deep)}
.cadiz-intro{font-size:16px;line-height:1.74;color:var(--ink-soft);margin:22px 0 26px;padding-bottom:26px;border-bottom:1px solid var(--rule)}
.letter-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px;counter-reset:ll}
.letter-lines li{position:relative;padding-left:44px;font-family:var(--serif-display);font-style:italic;font-size:clamp(17px,1.65vw,22px);line-height:1.45;color:var(--ink);counter-increment:ll}
.letter-lines li::before{content:counter(ll,upper-roman);position:absolute;left:0;top:.25em;font-family:var(--sans);font-style:normal;font-size:9px;letter-spacing:.18em;color:var(--ochre);opacity:.85}
.letter-lines .q{color:var(--ochre);font-style:normal}
.letter-attr{margin-top:30px;display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint)}
.letter-attr .dot{color:var(--ochre)}
@media(max-width:880px){.cadiz-in{grid-template-columns:1fr;gap:36px}}

/* ═════════ IV · THE CROSSING ═════════ */
.cross{position:relative;background:linear-gradient(180deg,oklch(.93 .024 78) 0,oklch(.50 .10 222) var(--band),oklch(.44 .09 226) 30%,oklch(.28 .06 250) 58%,oklch(.16 .04 262) 84%,oklch(.11 .03 265) 100%);color:oklch(.93 .02 240);padding:var(--actpad) 0 clamp(90px,13vh,160px);overflow:hidden}
.sea{position:absolute;left:-6%;right:-6%;z-index:1;pointer-events:none}
.sea-1{top:16%;height:38vh;background:radial-gradient(ellipse 60% 50% at 22% 40%,oklch(.72 .11 214/.34),transparent 70%),radial-gradient(ellipse 54% 44% at 76% 62%,oklch(.6 .1 226/.3),transparent 72%);transform:translate3d(0,calc(var(--c) * 90px * -1),0)}
.sea-2{top:44%;height:44vh;background:radial-gradient(ellipse 70% 42% at 58% 40%,oklch(.4 .08 250/.42),transparent 74%);transform:translate3d(0,calc(var(--c) * 44px * -1),0)}
.stars{position:absolute;inset:0;z-index:1;opacity:calc(var(--p) * 1.25 - .28);background-image:radial-gradient(1.4px 1.4px at 12% 18%,oklch(.98 .02 90/.9),transparent),radial-gradient(1.2px 1.2px at 78% 12%,oklch(.96 .03 84/.8),transparent),radial-gradient(1.6px 1.6px at 32% 34%,oklch(.98 .02 88/.85),transparent),radial-gradient(1.1px 1.1px at 62% 46%,oklch(.95 .03 82/.7),transparent),radial-gradient(1.5px 1.5px at 88% 40%,oklch(.98 .02 90/.8),transparent),radial-gradient(1.2px 1.2px at 8% 58%,oklch(.96 .02 86/.7),transparent),radial-gradient(1.3px 1.3px at 46% 8%,oklch(.97 .02 88/.75),transparent),radial-gradient(1.1px 1.1px at 70% 72%,oklch(.95 .02 84/.6),transparent),radial-gradient(1.4px 1.4px at 24% 78%,oklch(.97 .02 88/.7),transparent),radial-gradient(1.2px 1.2px at 92% 66%,oklch(.96 .02 86/.65),transparent);transform:translate3d(0,calc(var(--c) * 24px),0)}
.cross-in{position:relative;z-index:3;max-width:1180px;margin:0 auto;padding:0 var(--gutter)}
.cross .act-place{color:oklch(.86 .07 214)}
.cross .j-title{color:oklch(.97 .02 220)}
.cross .j-title em{color:oklch(.86 .09 212)}
.cross .j-lede{color:oklch(.88 .03 230);max-width:700px;margin:24px 0 0}
.cross .j-body{color:oklch(.85 .025 235)}
.cross .j-body strong{color:oklch(.96 .02 230);font-weight:500}
.cross-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.4vw,62px);margin-top:clamp(34px,5vh,58px)}
/* the ocean lyric — the emotional pivot */
.oceanline{position:relative;z-index:3;max-width:840px;margin:clamp(64px,11vh,130px) auto;text-align:center}
.oceanline .es{display:block;font-family:var(--serif-display);font-style:italic;font-weight:300;font-size:clamp(25px,4.2vw,58px);line-height:1.16;color:oklch(.97 .03 214);text-shadow:0 0 44px oklch(.2 .06 245/.7),0 2px 16px oklch(.1 .03 250/.6)}
.oceanline .en{display:block;margin-top:20px;font-family:var(--serif-body);font-size:clamp(15px,1.6vw,21px);line-height:1.5;color:oklch(.85 .04 220/.9)}
.oceanline .src{display:block;margin-top:26px;font-family:var(--sans);font-size:8.5px;letter-spacing:.28em;text-transform:uppercase;color:oklch(.75 .05 214/.8)}
/* ── the map ── */
.mapwrap{position:relative;z-index:3;max-width:1240px;margin:0 auto;padding:0 var(--gutter)}
.map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.map-head h3{font-family:var(--serif-display);font-size:clamp(20px,2.2vw,30px);font-weight:300;color:oklch(.95 .02 220)}
.map-head h3 em{font-style:italic;color:oklch(.86 .09 212)}
.map-note{font-family:var(--sans);font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:oklch(.76 .04 226/.8)}
.mapstage{position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(170deg,oklch(.2 .045 250/.72),oklch(.13 .035 262/.82));border:1px solid oklch(.6 .06 230/.2);box-shadow:0 40px 90px -44px oklch(.06 .02 260/.85),inset 0 1px 0 oklch(.8 .05 230/.1)}
.mapstage svg{display:block;width:100%;height:auto}
.mp-land{fill:oklch(.3 .035 250);stroke:oklch(.46 .05 244/.5);stroke-width:.5}
.mp-graticule{fill:none;stroke:oklch(.55 .05 236/.13);stroke-width:.5}
.mp-route{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 6px oklch(.8 .1 84/.55))}
.mp-route-2{fill:none;stroke:oklch(.86 .09 212);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:3 4;opacity:.85}
.mp-city{fill:oklch(.98 .02 90)}
.mp-lit .mp-route{stroke:oklch(.93 .1 86);stroke-width:2.6}
.mp-lit .mp-route-2{stroke:oklch(.9 .09 210)}
.mp-bloom{filter:blur(5px)}
.mp-bloom .mp-route,.mp-bloom .mp-route-2{stroke:oklch(.9 .11 86);stroke-width:6}
.mp-comet-core{fill:oklch(.99 .015 90);filter:drop-shadow(0 0 6px oklch(.92 .07 88/.95))}
.mp-comet-halo{pointer-events:none}
@media(prefers-reduced-motion:reduce){.mp-cometg{display:none}}
.mp-city-ring{fill:none;stroke:var(--gold);stroke-width:1;opacity:.55}
.mp-mission{fill:var(--vermilion-soft);stroke:oklch(.98 .02 84/.7);stroke-width:.6}
.mp-lbl{font-family:"Inter",sans-serif;font-size:7.2px;letter-spacing:.16em;text-transform:uppercase;fill:oklch(.93 .03 220/.92)}
.mp-lbl-sm{font-family:"Inter",sans-serif;font-size:5.6px;letter-spacing:.12em;fill:oklch(.86 .05 30/.85)}
.mp-yr{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:7px;fill:oklch(.84 .07 84/.85)}
.map-legend{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:18px;font-family:var(--sans);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:oklch(.8 .03 226/.8)}
.map-legend span{display:flex;align-items:center;gap:8px}
.map-legend i{width:16px;height:2px;border-radius:2px;background:var(--gold)}
.map-legend i.d{background:repeating-linear-gradient(90deg,oklch(.86 .09 212) 0 4px,transparent 4px 7px)}
.map-legend i.m{width:7px;height:7px;border-radius:50%;background:var(--vermilion-soft)}
@media(max-width:820px){.cross-cols{grid-template-columns:1fr;gap:22px}}

/* ── V · ALTA CALIFORNIA — dust & gold ── */
.alta{background:linear-gradient(180deg,oklch(.11 .03 265) 0,oklch(.80 .085 78) var(--band),oklch(.87 .07 82) 46%,oklch(.93 .04 84) 100%);color:oklch(.25 .03 60);padding:var(--actpad) 0 clamp(88px,12vh,150px)}
.alta-sun{position:absolute;z-index:1;left:50%;top:24%;width:min(66vw,620px);aspect-ratio:1;transform:translate(-50%,0) translate3d(0,calc(var(--c) * 60px * -1),0);background:radial-gradient(circle,oklch(.96 .1 88/.55),oklch(.88 .12 74/.2) 42%,transparent 70%);pointer-events:none}
.alta-sk{position:absolute;right:6%;top:20%;width:min(48%,560px);opacity:.34;color:oklch(.32 .06 46);transform:translate3d(0,calc(var(--c) * 52px * -1),0);pointer-events:none;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%)}
.alta-in{position:relative;z-index:3;max-width:1180px;margin:0 auto;padding:0 var(--gutter)}
.alta .act-place{color:oklch(.42 .07 50)}
.alta .j-title{color:oklch(.24 .04 52)}
.alta .j-title em{color:var(--vermilion-deep)}
.alta .j-lede{color:oklch(.34 .04 56);max-width:720px;margin:24px 0 0}
.alta .j-body{color:oklch(.32 .03 58)}
.alta .j-body strong{color:oklch(.2 .04 52);font-weight:600}
.desertline{position:relative;z-index:3;max-width:760px;margin:clamp(50px,8vh,96px) auto;text-align:center}
.desertline .es{display:block;font-family:var(--serif-display);font-style:italic;font-weight:300;font-size:clamp(23px,3.6vw,48px);line-height:1.2;color:oklch(.34 .09 46)}
.desertline .en{display:block;margin-top:16px;font-family:var(--serif-body);font-size:clamp(15px,1.5vw,20px);color:oklch(.42 .045 54)}
/* the nine missions — dimensional, staggered, no boxes */
.missions{position:relative;z-index:3;max-width:1180px;margin:0 auto;padding:0 var(--gutter)}
.missions-h{font-family:var(--sans);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:oklch(.42 .07 50);margin-bottom:26px;display:flex;align-items:center;gap:14px}
.missions-h::before{content:"";width:30px;height:1px;background:currentColor}
.mission-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(216px,1fr));gap:2px 0;perspective:1200px}
.mission{position:relative;padding:22px 22px 24px;border-top:1px solid oklch(.6 .06 70/.4);transition:transform .5s var(--ease),background .5s}
.mission:hover{background:oklch(.96 .04 84/.5);transform:translateZ(24px) translateY(-3px)}
.mission .mn{font-family:var(--serif-display);font-style:italic;font-size:13px;color:var(--vermilion-deep);opacity:.85}
.mission .mt{display:block;font-family:var(--serif-display);font-size:clamp(18px,1.7vw,22px);line-height:1.16;color:oklch(.24 .04 52);margin:6px 0 8px}
.mission .my{font-family:var(--sans);font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:oklch(.46 .05 56/.85)}
.mission-foot{margin-top:34px;font-family:var(--serif-body);font-style:italic;font-size:16px;line-height:1.7;color:oklch(.36 .04 56);max-width:640px}

/* ── VI · CARMEL — dusk, the end of the road ── */
.carmel{background:linear-gradient(180deg,oklch(.93 .04 84) 0,oklch(.28 .05 244) var(--band),oklch(.26 .05 258) 55%,oklch(.15 .035 268) 100%);color:oklch(.9 .02 240);padding:var(--actpad) 0 clamp(90px,13vh,160px);text-align:center}
.carmel{position:relative;overflow:hidden;isolation:isolate}
.carmel-bg{position:absolute;inset:-6% 0 -6%;z-index:0;pointer-events:none;transform:translate3d(0,calc(var(--c) * 46px),0)}
.carmel-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;filter:saturate(.66) contrast(1.06) brightness(.86) hue-rotate(-6deg)}
.carmel-veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,oklch(.93 .04 84) 0,oklch(.34 .05 250/.72) calc(var(--band) * .8),oklch(.24 .05 256/.5) 44%,oklch(.18 .04 262/.6) 76%,oklch(.13 .03 268/.94) 100%)}
.carmel-glow{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse 42% 26% at 50% 60%,oklch(.74 .11 74/.34) 0,oklch(.62 .09 66/.13) 48%,transparent 78%),radial-gradient(ellipse 74% 40% at 50% 97%,oklch(.66 .08 60/.16) 0,transparent 72%)}
.carmel-in{position:relative;z-index:4;max-width:800px;margin:0 auto;padding:0 var(--gutter)}
.carmel-credit{position:relative;z-index:4;margin:clamp(72px,11vh,140px) auto 0;text-align:center;font-family:var(--sans);font-size:8.5px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:oklch(.78 .03 232/.6)}
.carmel .j-title{text-shadow:0 2px 40px oklch(.09 .03 262/.92),0 1px 12px oklch(.09 .03 262/.7)}
.carmel .j-body{text-shadow:0 1px 26px oklch(.09 .03 262/.95),0 1px 8px oklch(.09 .03 262/.8)}
.carmel .act-place{text-shadow:0 1px 18px oklch(.09 .03 262/.9)}
.canon div{backdrop-filter:blur(2px)}
.carmel .act-place{color:oklch(.82 .05 200);justify-content:center}
.carmel .act-place::before{display:none}
.carmel .j-title{color:oklch(.96 .02 230)}
.carmel .j-title em{color:oklch(.86 .07 200)}
.carmel .j-body{color:oklch(.84 .025 235);margin-top:26px}
.carmel .j-body strong{color:oklch(.95 .02 230);font-weight:500}
.carmel-orn{color:oklch(.8 .06 200);opacity:.6;margin:clamp(34px,5vh,56px) 0}
.canon{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,44px);max-width:640px;margin:0 auto;text-align:left}
.canon div{padding-top:18px;border-top:1px solid oklch(.62 .05 230/.3)}
.canon .cy{font-family:var(--serif-display);font-style:italic;font-size:clamp(24px,3vw,36px);color:oklch(.88 .06 200);display:block;line-height:1}
.canon .cl{display:block;margin-top:8px;font-family:var(--sans);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:oklch(.78 .03 235/.8);line-height:1.6}
@media(max-width:600px){.canon{grid-template-columns:1fr;gap:18px}}

/* ── VII · RETURN TO LA SEU 2013 ── */
.seu{position:relative;background:linear-gradient(180deg,oklch(.972 .012 78) 0,oklch(.20 .05 318) var(--band),oklch(.17 .06 20) 62%,oklch(.13 .04 30) 100%);color:oklch(.93 .02 74);padding:var(--actpad) 0 clamp(96px,14vh,170px);overflow:hidden}
.seu-bg{position:absolute;inset:0;z-index:1;opacity:.28;background:url('cathedral-rose-light.png') center 38%/cover;transform:translate3d(0,calc(var(--c) * 74px * -1),0) scale(1.14);-webkit-mask-image:radial-gradient(ellipse 96% 76% at 50% 42%,#000 26%,transparent 84%);mask-image:radial-gradient(ellipse 96% 76% at 50% 42%,#000 26%,transparent 84%)}
.seu::after{content:"";position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse 62% 46% at 50% 52%,oklch(.13 .04 320/.66),transparent 76%),radial-gradient(ellipse 46% 34% at 50% 12%,oklch(.72 .16 34/.2),transparent 72%)}
.seu-in{position:relative;z-index:3;max-width:860px;margin:0 auto;padding:0 var(--gutter);text-align:center}
.seu .act-place{color:var(--gold);justify-content:center}
.seu .act-place::before{display:none}
.seu .j-title{color:oklch(.97 .02 74)}
.seu .j-title em{color:var(--gold)}
.seu .j-lede{color:oklch(.87 .03 72);max-width:660px;margin:26px auto 0}
.seu-three{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.4vw,34px);margin-top:clamp(46px,7vh,84px);perspective:1500px;transform-style:preserve-3d}
.seu-three figure{position:relative;transition:transform .6s var(--ease)}
.seu-three .j-arch{aspect-ratio:3/4.2}
.seu-three figure:nth-child(1){transform:rotateY(7deg) translateZ(-24px) translateY(18px)}
.seu-three figure:nth-child(2){transform:translateZ(20px)}
.seu-three figure:nth-child(3){transform:rotateY(-7deg) translateZ(-24px) translateY(18px)}
.seu-three figure:hover{transform:translateZ(46px) translateY(-8px)}
.seu-three figcaption{margin-top:16px;font-family:var(--sans);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:oklch(.78 .04 76/.9);text-align:center;line-height:1.7}
@media(max-width:760px){.seu-three{grid-template-columns:1fr;gap:28px}.seu-three figure,.seu-three figure:nth-child(n){transform:none}}

/* ── map legibility on small screens ── */
@media(max-width:760px){
  .mp-route{stroke-width:4}
  .mp-comet-core{filter:drop-shadow(0 0 9px oklch(.92 .07 88/.95))}
  .mp-route-2{stroke-width:3.4;stroke-dasharray:6 8}
  .mp-graticule{stroke-width:1}
  .mp-land{stroke-width:1}
  .mp-lbl{font-size:17px;letter-spacing:.1em}
  .mp-yr{font-size:15px}
  .mp-lbl-sm{font-size:13px}
  .mp-city-ring{stroke-width:2.4}
  .map-head{flex-direction:column;align-items:flex-start;gap:8px}
}
