:root{
  --paper:#f6f4ef;
  --paper-soft:#f6f4ef;
  --ink:#303236;
  --ink-soft:rgba(48,50,54,.64);
  --line:rgba(48,50,54,.12);
  --header:74px;
  --side:clamp(18px,4vw,64px);
  --max:1480px;
  --content:1280px;
  --sans:"Manrope","Avenir Next","Segoe UI",sans-serif;
  --mono:"IBM Plex Mono","Roboto Mono",monospace;
  --ease:cubic-bezier(.2,.72,.2,1);
  color-scheme:only light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 18px);overflow-x:clip;background:var(--paper);color-scheme:only light}
body{margin:0;min-width:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:clip;text-rendering:optimizeLegibility;color-scheme:only light}
body.menu-open,body.lightbox-open{overflow:hidden}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}
::selection{background:var(--ink);color:var(--paper)}
.skip{position:fixed;z-index:8000;top:12px;left:12px;padding:10px 14px;background:#fff;color:#111;font-size:12px;transform:translateY(-180%);transition:transform .2s}.skip:focus{transform:none}
.reading-progress{position:fixed;z-index:5001;top:0;left:0;right:0;height:2px;background:rgba(255,255,255,.10)}.reading-progress span{display:block;width:100%;height:100%;background:#51545a;transform:scaleX(0);transform-origin:left;will-change:transform}
.site-header{position:fixed;z-index:5000;top:0;left:0;right:0;height:var(--header);display:flex;align-items:center;color:#fff;background:rgba(42,44,47,.94);backdrop-filter:blur(8px) saturate(1.04);-webkit-backdrop-filter:blur(8px) saturate(1.04)}
.header-inner{width:min(calc(100% - 2*var(--side)),var(--max));margin:auto;display:grid;grid-template-columns:160px 1fr 160px;gap:24px;align-items:center}
.brand{display:inline-flex;width:92px;align-items:center}.brand img{width:100%;height:auto}.desktop-nav{display:flex;justify-content:center;gap:clamp(28px,4vw,70px)}
.desktop-nav a,.lang,.menu-toggle{position:relative;border:0;background:none;padding:10px 0;color:rgba(255,255,255,.72);font:500 9px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.desktop-nav a::after,.lang::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:#fff;transition:right .25s var(--ease)}
.desktop-nav a:hover,.desktop-nav a:focus-visible,.lang:hover,.lang:focus-visible,.lang.active{color:#fff;outline:none}.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after,.lang:hover::after,.lang:focus-visible::after,.lang.active::after{right:0}
.header-tools{justify-self:end;display:flex;align-items:center;gap:18px}.language-switch{display:flex;gap:9px}.lang{min-width:32px;min-height:38px;padding-inline:4px}.lang+.lang::before{content:"/";position:absolute;left:-8px;color:rgba(255,255,255,.25)}.lang.active::after{background:#d7d8da}.menu-toggle{display:none}
.mobile-menu{display:none;position:fixed;z-index:4900;inset:var(--header) 0 0;background:rgba(52,39,31,.992);color:#fff;padding:32px var(--side);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s}.mobile-menu nav{display:grid;border-top:1px solid rgba(255,255,255,.18)}.mobile-menu nav a{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);font:500 30px/1.05 var(--sans);letter-spacing:-.04em}.mobile-menu p{margin:auto 0 0;color:rgba(255,255,255,.55);font:500 9px/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase}body.menu-open .mobile-menu{opacity:1;visibility:visible;pointer-events:auto}
.earth-grid{background-color:var(--paper);background-image:linear-gradient(to right,rgba(48,50,54,.030) 1px,transparent 1px);background-size:8.333333% 100%;background-repeat:repeat-x}
.hero{background:var(--paper);color:var(--ink)}.hero-content{width:min(calc(100% - 2*var(--side)),var(--max));margin:auto;padding:calc(var(--header) + clamp(48px,8vw,94px)) 0 clamp(34px,5vw,58px);color:var(--ink)}
.hero-kicker{margin:0 0 clamp(30px,5vw,58px);font:500 9px/1.3 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft)}
.hero h1{margin:0 0 clamp(36px,6vw,72px);font:600 clamp(72px,15vw,216px)/.82 var(--sans);letter-spacing:-.08em;text-transform:uppercase}
.hero-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-top:18px;border-top:1px solid var(--line)}.hero-bottom p{max-width:18ch;margin:0;font:500 clamp(18px,2vw,28px)/1.08 var(--sans);letter-spacing:-.035em}.hero-bottom a{display:inline-flex;align-items:center;gap:16px;font:500 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.hero-bottom a b{font-size:15px;font-weight:400}
.section-code{margin:0;color:rgba(48,50,54,.50);font:500 8px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.intro{padding:clamp(62px,7vw,108px) 0}.intro-inner{width:min(calc(100% - 2*var(--side)),var(--max));margin:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2vw,32px);align-items:start}.intro-inner>.section-code{grid-column:1/span 2}.intro-copy{grid-column:4/span 8}.intro-lead{margin:0;font:500 clamp(32px,4vw,58px)/.98 var(--sans);letter-spacing:-.062em;text-wrap:balance}.intro-body{width:min(100%,520px);margin:clamp(20px,2.8vw,36px) 0 0 auto;color:var(--ink-soft);font:400 clamp(15px,1.28vw,18px)/1.62 var(--sans)}.intro-image{grid-column:2/span 10;margin-top:clamp(44px,5vw,72px)}
.chapter,.material-band,.transition-spread,.outro{padding:clamp(64px,7vw,108px) 0;background:var(--paper)}
.chapter-header,.material-copy{width:min(calc(100% - 2*var(--side)),var(--max));margin:0 auto clamp(38px,4.5vw,66px);display:grid;grid-template-columns:2fr 7fr 3fr;gap:clamp(16px,2vw,32px);align-items:start}.chapter-header h2,.material-copy h2{margin:0;font:500 clamp(34px,4vw,60px)/.96 var(--sans);letter-spacing:-.064em;text-wrap:balance}.chapter-header>p:last-child{margin:6px 0 0;color:var(--ink-soft);font:400 clamp(14px,1.14vw,17px)/1.62 var(--sans)}
.story-figure{margin:0;min-width:0}.image-link{display:block;width:100%;overflow:hidden;margin:0;padding:0;border:0;border-radius:0;background:#e8e6e0;color:inherit;text-align:inherit;appearance:none;-webkit-appearance:none;cursor:zoom-in;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.image-link picture,.image-link img{display:block;width:100%}.image-link img{aspect-ratio:2048/1143;height:auto;object-fit:cover;transition:transform .7s var(--ease),filter .45s ease;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#lightboxImage{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.image-link:hover img,.image-link:focus-visible img{transform:scale(1.008);filter:saturate(1.018)}.image-link:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
.story-figure figcaption{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;padding-top:9px;color:rgba(48,50,54,.54);font:400 9px/1.4 var(--sans)}.story-figure figcaption span{font:500 7.5px/1.45 var(--mono);letter-spacing:.08em}.story-figure figcaption p{margin:0;max-width:52ch}
/* Sombra habitable: one dominant image + two equal secondary modules */
.mosaic--one{width:min(calc(100% - 2*var(--side)),var(--content));margin:auto;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(18px,1.8vw,28px);align-items:stretch;aspect-ratio:2.72/1}.mosaic--one .mosaic-a{grid-column:1;grid-row:1/span 2;display:grid;grid-template-rows:minmax(0,1fr) auto}.mosaic--one .mosaic-b{grid-column:2;grid-row:1}.mosaic--one .mosaic-c{grid-column:2;grid-row:2}.mosaic--one .story-figure{margin:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.mosaic--one .image-link{height:100%;min-height:0}.mosaic--one .image-link picture{height:100%}.mosaic--one .image-link img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
/* Materia: one dominant image + four complementary modules */
.material-gallery{width:min(calc(100% - 2*var(--side)),var(--content));margin:auto;display:grid;grid-template-columns:minmax(0,2.1fr) repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(16px,1.6vw,24px);align-items:stretch;aspect-ratio:3.58/1}.material-gallery .material-a{grid-column:1;grid-row:1/span 2}.material-gallery .material-b{grid-column:2;grid-row:1}.material-gallery .material-d{grid-column:3;grid-row:1}.material-gallery .material-c{grid-column:2;grid-row:2}.material-gallery .material-e{grid-column:3;grid-row:2}.material-gallery .story-figure{margin:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.material-gallery .image-link{height:100%;min-height:0}.material-gallery .image-link picture{height:100%}.material-gallery .image-link img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.material-copy h2{grid-column:2/span 2;max-width:13ch}.material-copy .section-code{grid-column:1}
/* 2 images: same dimensions, one below the other */
.water-stage{width:min(calc(100% - 2*var(--side)),980px);margin:auto;display:grid;grid-template-columns:1fr;gap:clamp(24px,2.8vw,38px)}.water-main,.water-secondary{width:100%;margin:0}.chapter--water .chapter-header{margin-bottom:clamp(36px,4vw,58px)}
.transition-label{width:min(calc(100% - 2*var(--side)),var(--max));margin:0 auto clamp(32px,3.8vw,54px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2vw,32px)}.transition-label p{grid-column:7/span 5;margin:0;font:500 clamp(32px,3.9vw,56px)/.98 var(--sans);letter-spacing:-.061em;text-wrap:balance}.transition-image{width:min(calc(100% - 2*var(--side)),980px);margin:auto}
/* Desnivel: one wide opening image + two paired rows + one wide closing image */
.mosaic--stone{width:min(calc(100% - 2*var(--side)),var(--content));margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,3vw,44px);align-items:start}.mosaic--stone .stone-lead,.mosaic--stone .stone-e{grid-column:1/span 2;width:min(100%,980px);justify-self:center}.mosaic--stone .stone-a,.mosaic--stone .stone-b,.mosaic--stone .stone-c,.mosaic--stone .stone-d{grid-column:auto;margin:0}.mosaic--stone .stone-lead{margin-bottom:clamp(4px,.8vw,12px)}.mosaic--stone .stone-e{margin-top:clamp(4px,.8vw,12px)}.outro{border-top:1px solid var(--line)}.outro-inner{width:min(calc(100% - 2*var(--side)),var(--max));margin:auto;display:grid;grid-template-columns:2fr 7fr 3fr;gap:clamp(16px,2vw,32px);align-items:start}.outro h2{margin:0;font:500 clamp(34px,4vw,60px)/.96 var(--sans);letter-spacing:-.064em;text-wrap:balance}.outro-body{margin:6px 0 0;color:var(--ink-soft);font:400 clamp(14px,1.14vw,17px)/1.62 var(--sans)}.closing-actions{grid-column:2/span 2;display:flex;gap:clamp(18px,5vw,72px);margin-top:clamp(26px,3vw,40px);padding-top:18px;border-top:1px solid var(--line)}.closing-actions a{display:flex;align-items:center;gap:14px;font:500 9px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}.closing-actions b{font-size:14px;font-weight:400;transition:transform .25s var(--ease)}.closing-actions a:hover b,.closing-actions a:focus-visible b{transform:translate(3px,-3px)}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .72s var(--ease),transform .72s var(--ease)}.js .reveal.visible{opacity:1;transform:none}
.lightbox{position:fixed;z-index:9000;inset:0;display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:clamp(8px,2vw,24px);padding:clamp(12px,2vw,28px);background:rgba(31,32,34,.978);color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}.lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}.lightbox figure{min-width:0;margin:0;display:grid;justify-items:center;gap:10px}.lightbox figure img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 92px);object-fit:contain}.lightbox figure figcaption{max-width:min(86vw,900px);color:rgba(255,255,255,.64);font:400 10px/1.4 var(--sans);text-align:center}.lightbox-close,.lightbox-nav{border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.12);color:#fff;cursor:pointer}.lightbox-close{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:40px;height:40px;border-radius:50%}.lightbox-close::before,.lightbox-close::after{content:"";position:absolute;left:11px;right:11px;top:50%;height:1px;background:currentColor}.lightbox-close::before{transform:rotate(45deg)}.lightbox-close::after{transform:rotate(-45deg)}.lightbox-nav{width:44px;height:44px;border-radius:50%;font-size:24px;line-height:1}.lightbox button:hover,.lightbox button:focus-visible{border-color:rgba(255,255,255,.7);outline:none}
@media(max-width:1120px){.header-inner{grid-template-columns:1fr auto}.desktop-nav{display:none}.menu-toggle{display:block}.mobile-menu{display:flex;flex-direction:column}.intro-copy{grid-column:3/span 9}.intro-image{grid-column:1/span 12}.chapter-header,.material-copy{grid-template-columns:2fr 7fr 3fr}.outro-inner{grid-template-columns:2fr 7fr 3fr}}
@media(max-width:820px){:root{--header:70px;--side:20px}.earth-grid{background-size:25% 100%}.hero h1{font-size:clamp(64px,16vw,126px)}.intro{padding:62px 0}.intro-inner>.section-code{grid-column:1/span 3}.intro-copy{grid-column:1/span 12;margin-top:14px}.intro-body{margin-left:0}.chapter,.material-band,.transition-spread,.outro{padding:64px 0}.chapter-header,.material-copy,.outro-inner{grid-template-columns:1fr;gap:18px;margin-bottom:38px}.material-copy h2{grid-column:1;max-width:12ch}.material-copy .section-code{grid-column:1}.chapter-header h2,.material-copy h2,.outro h2{font-size:clamp(34px,7vw,50px)}.chapter-header>p:last-child,.outro-body{max-width:54ch}.transition-label p{grid-column:4/span 8}.closing-actions{grid-column:1;display:grid;gap:20px;margin-top:28px}}
@media(max-width:720px){:root{--side:18px}.hero-content{padding-bottom:28px}.hero h1{font-size:clamp(56px,17vw,86px);margin-bottom:30px}.hero-bottom{align-items:flex-start}.hero-bottom p{font-size:18px}.intro{padding:54px 0}.intro-lead{font-size:clamp(32px,8.8vw,46px)}.intro-body{font-size:15px}.intro-image{margin-top:38px}.chapter,.material-band,.transition-spread,.outro{padding:54px 0}.chapter-header,.material-copy{margin-bottom:34px}.mosaic--one,.material-gallery{grid-template-columns:1fr;grid-template-rows:auto;gap:28px;aspect-ratio:auto}.mosaic--one .story-figure,.material-gallery .story-figure{grid-column:1!important;grid-row:auto!important;display:block}.mosaic--one .image-link,.material-gallery .image-link{height:auto}.mosaic--one .image-link picture,.material-gallery .image-link picture{height:auto}.mosaic--one .image-link img,.material-gallery .image-link img{height:auto;aspect-ratio:2048/1143}.water-stage{gap:28px}.transition-label{display:block;margin-bottom:30px}.transition-label p{width:min(100%,12ch)}.mosaic--stone{grid-template-columns:1fr;gap:28px}.mosaic--stone .story-figure,.mosaic--stone .stone-lead,.mosaic--stone .stone-e{grid-column:1;width:100%;margin:0}.story-figure figcaption{font-size:9px}.lightbox{grid-template-columns:1fr;padding:12px}.lightbox figure{grid-column:1;grid-row:1}.lightbox figure img{max-height:calc(100dvh - 82px);max-width:96vw}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;background:rgba(31,32,34,.48)}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{width:38px;height:38px}.language-switch{display:none}}
@media(max-width:430px){:root{--side:16px}.hero-kicker{font-size:8px}.hero-bottom p{font-size:16px}.mobile-menu nav a{font-size:28px}.intro-lead{font-size:32px}.chapter-header h2,.material-copy h2,.outro h2{font-size:34px}.transition-label p{font-size:32px}}
@media(max-height:520px) and (orientation:landscape){.lightbox{padding:8px}.lightbox figure img{max-height:calc(100dvh - 28px);max-width:88vw}.lightbox figure figcaption{display:none}.lightbox-close{top:8px;right:8px}.lightbox-nav{width:34px;height:34px}}
@media(hover:none),(pointer:coarse){.image-link:hover img{transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.image-link img{transition:none}.lightbox{transition:none}}
