@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f7f7f0;--ink:#163d48;--blue:#155f87;--green:#84aa60;--muted:#6c7e7c;--line:#163d4826;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--paper);color:var(--ink);font:16px var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid #b5cf70;outline-offset:6px}button:disabled{opacity:.25;cursor:default}a{color:inherit}button:hover{opacity:.7}svg{display:block;width:100%;overflow:visible}.topbar{position:fixed;z-index:20;top:0;left:0;right:0;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;transition:color .5s}.brand{text-decoration:none;font-weight:600;display:flex;align-items:center;gap:12px;letter-spacing:-.03em}.brand-mark{font:44px var(--serif);line-height:1;color:var(--blue)}.brand-detail{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;margin-left:22px;opacity:.6}.tools{display:flex;align-items:center;gap:24px;font-size:12px}.tools button{display:flex;align-items:center;gap:14px}#fullscreen{font-size:24px}.topbar:after{content:'';position:absolute;bottom:0;left:4vw;right:4vw;height:1px;background:currentColor;opacity:.13}
main{height:100%;isolation:isolate}.scene{position:absolute;inset:0;visibility:hidden;opacity:0;transform:translateY(35px);transition:opacity .6s,transform .8s cubic-bezier(.2,.7,.1,1),visibility .8s;overflow:auto;padding:120px 7vw 120px;pointer-events:none}.scene.active{visibility:visible;opacity:1;transform:none;pointer-events:auto;z-index:2}.scene.exit-up{transform:translateY(-30px)}.scene-inner{max-width:1460px;margin:auto;height:100%;display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.18em;font-weight:500;display:block}.eyebrow .number{display:inline-block;margin-right:20px;color:var(--green)}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:500;letter-spacing:-.065em;line-height:1.03}h1{font-size:clamp(65px,8.4vw,142px)}h2{font-size:clamp(40px,4.7vw,78px)}h3{font-size:22px;font-weight:500;letter-spacing:-.04em}em{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}.lead{font-size:clamp(18px,1.55vw,25px);line-height:1.5;font-weight:400;max-width:660px}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.6}.title-row{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:22px 0 35px}.title-row .small{max-width:300px}.split{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.split.wide{grid-template-columns:.85fr 1.3fr}.text-stack>*+*{margin-top:24px}.figure-button{padding:0;width:100%;display:block;cursor:zoom-in;position:relative}.figure-button:hover{opacity:1}.figure-button:after{content:'↗ Ampliar';position:absolute;right:14px;bottom:14px;padding:7px 11px;background:var(--paper);border:1px solid var(--line);font-size:10px;border-radius:30px;opacity:0;transition:opacity .2s}.figure-button:hover:after,.figure-button:focus-visible:after{opacity:1}.figure-button img{display:block;width:100%;height:auto;max-height:52vh;object-fit:contain}.caption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:16px}.pill{display:inline-flex;border:1px solid var(--line);border-radius:30px;padding:9px 14px;font-size:11px;letter-spacing:.03em}.readline{border-top:1px solid var(--line);padding-top:18px;margin-top:22px;font-size:14px;line-height:1.5}.accent{color:var(--blue)}.serif{font-family:var(--serif);font-style:italic}.big-stat{font:500 clamp(64px,8vw,125px)/1 var(--display);letter-spacing:-.08em}.big-stat small{font-size:.34em;letter-spacing:-.03em}.dark{background:#11465e;color:#f4f6ef}.dark .muted,.dark .caption{color:#c1d3d3}.dark .readline{border-color:#ffffff30}.dark .pill{border-color:#ffffff36}.dark .number{color:#aecb88}.dark .accent{color:#acd3da}body.is-dark .topbar,body.is-dark .source-button,body.is-dark #timer{color:#f4f6ef}body.is-dark .brand-mark{color:#b0d1d1}
.controls{position:fixed;bottom:26px;left:4vw;right:4vw;z-index:20;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.controls>*{pointer-events:auto}.source-button,#timer{font-size:11px;letter-spacing:.02em;transition:color .5s}.source-button span{margin-left:12px}#timer{min-width:116px;text-align:right;font-variant-numeric:tabular-nums}.navigation{display:flex;align-items:center;background:#fbfcf7ed;box-shadow:0 8px 35px #092c3c12;border:1px solid #ffffff80;border-radius:60px;height:66px;color:var(--ink);padding:8px 13px;gap:14px;backdrop-filter:blur(20px)}.navigation>button{font-size:23px;width:40px;height:40px;border-radius:50%;background:#e9eee8}.nav-middle{width:180px;padding:0 8px}.nav-middle>span{font-size:11px;display:block;margin-bottom:8px;letter-spacing:.03em}.dots{display:flex;gap:5px}.dots button{width:8px;height:4px;background:#bbc9c4;border-radius:5px;padding:0;transition:width .5s,background .5s}.dots button.active{width:24px;background:var(--blue)}.counter{font-size:11px;padding-right:8px;font-variant-numeric:tabular-nums;white-space:nowrap}.counter span{opacity:.4}.progress{position:fixed;bottom:0;left:0;right:0;z-index:25;height:3px;background:#11465e18}.progress span{display:block;height:100%;background:var(--green);transition:width .7s ease}
.hero{padding:0;overflow:hidden}.hero .scene-inner{position:relative;max-width:none;justify-content:unset;padding:130px 7vw 0}.hero-label{display:flex;align-items:center;gap:20px}.hero-label:before{content:'';width:35px;height:1px;background:var(--green)}.hero h1{margin-top:22px;position:relative;z-index:4;max-width:1000px}.hero h1 em{color:var(--blue)}.hero-sub{position:absolute;right:7vw;top:31%;width:260px;font-size:14px;line-height:1.7;z-index:4}.hero-sub .author{display:block;margin-top:22px;font-weight:600}.hero-sub small{display:block;font-size:10px;margin-top:4px;opacity:.6}.water{position:absolute;top:64%;bottom:0;left:0;right:0;background:linear-gradient(160deg,#155f87 0%,#3b7d88 52%,#8eaf58 120%)}.water:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 0%,#fff2,transparent 50%)}.water-label{position:absolute;left:7vw;top:23%;font-size:11px;letter-spacing:.18em;color:#e1eceb;text-transform:uppercase}.water-label:before{content:'';display:block;height:1px;width:40px;background:#e2eceb80;margin-bottom:15px}.hero-year{position:absolute;left:7vw;bottom:28%;font:400 clamp(35px,5vw,75px) var(--display);letter-spacing:-.07em;color:#fff9}.hero-year span{font-size:.4em;vertical-align:middle;margin:0 20px;color:#ffffff70}.ocean-art{position:absolute;top:calc(64% - 8.26vw);left:25%;width:78%;height:53%;z-index:2;pointer-events:none}.raft{animation:drift 7s ease-in-out infinite;transform-origin:50% 5%}.rope{transform-origin:50% 0%;animation:sway 6s ease-in-out infinite alternate}.rope:nth-child(2n){animation-delay:-3s}.bubble{animation:bubble 12s linear infinite;opacity:0}.hero-action{position:absolute;bottom:24%;left:38vw;right:auto;z-index:5;color:white;display:flex;align-items:center;gap:18px;font-size:13px}.round-arrow{border:1px solid #fff7;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:24px;transition:transform .3s}.hero-action:hover .round-arrow{transform:translateY(4px)}.hero-bottom{position:absolute;bottom:115px;left:7vw;color:#fff9;font-size:10px;letter-spacing:.12em;z-index:4}.hero-bottom span{margin-left:30px}.micro-text{font-size:11px;line-height:1.7;max-width:400px}.question-title{font-size:clamp(48px,5.8vw,94px);max-width:1100px;margin:28px 0 42px}.dimension-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-top:25px;gap:25px}.dimension-list b{font-size:12px;color:var(--green);font-weight:400}.dimension-list h3{margin:15px 0 8px}.dimension-list p{font-size:13px;line-height:1.5;max-width:230px}.map-layout{display:grid;grid-template-columns:1fr .85fr;gap:8vw;align-items:center}.map-layout .figure-button img{height:65vh;max-height:none}.region-list{margin:28px 0;display:flex;flex-wrap:wrap;gap:8px}.scope-stats{display:flex;gap:42px;margin-top:30px}.scope-stats b{display:block;font-size:48px;font-weight:400;letter-spacing:-.07em}.scope-stats span{font-size:11px}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:50px;counter-reset:method}.method-item{border-top:1px solid #ffffff40;padding-top:20px}.method-item .step{font:italic 44px var(--serif);color:#a6ca99;display:block;margin-bottom:30px}.method-item p{font-size:14px;line-height:1.65;margin-top:18px;color:#c3d5d8}.method-foot{margin-top:45px;display:flex;gap:10px;flex-wrap:wrap}.chart-shell{position:relative}.chart{height:auto;max-height:44vh}.chart text{font:12px var(--sans);fill:#6c7e7c}.chart .grid{stroke:#163d4816;stroke-width:1}.chart .chart-line{stroke-dasharray:2000;stroke-dashoffset:2000;transition:stroke-dashoffset 2.3s cubic-bezier(.2,.6,.1,1)}.active .chart .chart-line{stroke-dashoffset:0}.chart .chart-area{opacity:0;transition:opacity 2s 1s}.active .chart .chart-area{opacity:1}.chart .dot-value{font:500 20px var(--display);fill:var(--ink)}.prod-layout{display:grid;grid-template-columns:1.8fr .65fr;gap:5vw;align-items:center}.prod-side .big-stat{color:var(--blue);font-size:clamp(65px,7vw,110px)}.prod-side h3{margin:16px 0}.prod-side p{font-size:13px;line-height:1.7}.stat-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4vw;margin:40px 0}.stat-column{border-left:1px solid var(--line);padding-left:26px}.stat-column .big-stat{font-size:clamp(42px,4.8vw,80px);margin:16px 0}.stat-column .arrow{font-size:24px;color:var(--green);display:block;margin:12px 0}.stat-column h3{font-size:17px}.stat-column .years{margin:12px 0;font-size:11px}.stat-column p{font-size:12px;line-height:1.5}.economic-note{font:italic clamp(22px,2.3vw,36px) var(--serif);max-width:1000px;padding-top:25px;border-top:1px solid var(--line)}.big-number-panel{display:flex;align-items:center;gap:28px;margin:28px 0}.big-number-panel .big-stat{color:var(--blue)}.pca-bars{display:flex;height:14px;border-radius:8px;overflow:hidden;gap:3px;margin-top:30px}.pca-bars span{background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 1s}.pca-bars span:nth-child(2){background:#4c8a98}.pca-bars span:nth-child(3){background:#7eaa95}.pca-bars span:nth-child(4){background:#a5bb70}.active .pca-bars span{transform:none}.pca-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:10px}.variable-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.season-panels{display:grid;grid-template-columns:1fr 1fr;gap:4vw;margin-top:34px}.season-panel{border-top:1px solid var(--line);padding-top:20px}.season-panel h3{margin-bottom:8px}.season-note{font-size:12px;line-height:1.6;margin-top:12px}.season-panel .chart{max-height:30vh}.tabs{display:flex;gap:5px;border:1px solid var(--line);padding:5px;border-radius:50px;width:max-content;margin-top:24px}.tabs button{font-size:12px;padding:10px 18px;border-radius:30px}.tabs button[aria-selected=true]{background:var(--ink);color:white}.correlation-layout{display:grid;grid-template-columns:1.55fr .7fr;gap:4vw;align-items:center;margin-top:28px}.correlation-layout img{max-height:34vh}.corr-stat{font:500 78px/1 var(--display);letter-spacing:-.07em}.signals{display:flex;gap:18px;margin-top:22px;flex-wrap:wrap}.signals span{font-size:11px;border-left:1px solid var(--green);padding-left:10px;line-height:1.6}.signal-text{font-size:15px;line-height:1.65;margin-top:18px}.limits-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:40px}.limit-column{border-top:1px solid #ffffff30;padding-top:25px}.limit-column h3{font:italic 33px var(--serif);margin-bottom:25px}.limit-column p{font-size:18px;line-height:1.6;margin-bottom:22px;max-width:500px}.limit-column .small{font-size:13px;color:#c0d4d7}.closing{overflow:hidden;background:linear-gradient(145deg,#155f87,#43828a 60%,#84a752)}.closing .scene-inner{position:relative;z-index:3}.closing h2{font-size:clamp(50px,6.8vw,110px);max-width:1100px}.closing h2 em{color:#c4ddb4}.closing .lead{max-width:800px;margin-top:32px;font-size:20px}.closing .thanks{margin-top:45px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.closing-art{position:absolute;width:35%;right:2%;bottom:0;height:75%;opacity:.18}.closing .eyebrow{margin-bottom:35px;color:#d2e6d5}.closing .signature{font:italic 24px var(--serif);margin-top:16px}
dialog{border:0;color:var(--ink);background:var(--paper);box-shadow:0 25px 100px #001b3750;padding:45px;max-height:88dvh;overflow:auto}dialog::backdrop{background:#0b2f44a6;backdrop-filter:blur(10px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:24px}.close{font-size:28px;line-height:1}.index-dialog{width:min(800px,90vw);border-radius:4px}.index-dialog h2{font-size:48px;margin-bottom:24px}#index-list{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}#index-list button{text-align:left;border-top:1px solid var(--line);padding:14px 0;display:flex;gap:15px;font-size:13px}#index-list button span{color:var(--green);font-size:11px}.keyboard-tip{margin-top:25px;font-size:11px;color:var(--muted)}.notes-dialog{width:min(650px,92vw);border-radius:4px}.notes-dialog h2{font-size:34px;margin-bottom:25px}.notes-dialog p{font-size:16px;line-height:1.8}.source-detail{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.source-detail p{font-size:12px;margin-top:10px}.notes-dialog .version-note{font-size:10px;margin-top:25px;opacity:.6}.image-dialog{width:min(1300px,94vw);padding:40px;background:var(--paper)}.image-dialog>.close{position:absolute;right:15px;top:12px}.image-dialog img{max-height:75dvh;max-width:100%;object-fit:contain;display:block;margin:auto}.image-dialog p{font-size:12px;line-height:1.5;margin-top:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-100px;z-index:100;padding:15px;background:white}.skip:focus{top:10px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s .2s,transform .9s .2s}.active .reveal{opacity:1;transform:none}.active .reveal:nth-child(2){transition-delay:.3s}.active .reveal:nth-child(3){transition-delay:.4s}.active .reveal:nth-child(4){transition-delay:.5s}@keyframes sway{from{transform:skewX(-1deg)}to{transform:skewX(1.5deg)}}@keyframes drift{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes bubble{0%{transform:translateY(30px);opacity:0}15%,80%{opacity:.3}100%{transform:translateY(-200px);opacity:0}}
body.reduce-motion *,body.reduce-motion *:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.reduce-motion .chart-line{stroke-dashoffset:0}body.reduce-motion .reveal{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){body:not(.force-motion) *,body:not(.force-motion) *:before{animation:none!important;transition:none!important}.chart-line{stroke-dashoffset:0}}
@media(min-width:1700px){.scene{padding-top:145px;padding-bottom:150px}.hero .scene-inner{padding-top:155px}}
@media(max-height:760px) and (min-width:901px){.topbar{height:70px}.scene{padding:95px 7vw 100px}h2{font-size:clamp(36px,4vw,64px)}.title-row{margin-bottom:22px}.hero .scene-inner{padding-top:100px}.hero h1{font-size:7.5vw}.hero-sub{top:26%}.hero-bottom{bottom:105px}.method-grid{margin-top:25px}.method-item .step{margin-bottom:18px}.method-foot{margin-top:25px}.stat-row{margin:25px 0}.stat-column .big-stat{font-size:4.4vw}.controls{bottom:18px}.navigation{height:59px}.chart{max-height:39vh}.big-number-panel{margin:20px 0}.question-title{font-size:5.6vw;margin:25px 0}.dimension-list{padding-top:18px}.closing h2{font-size:6vw}.closing .lead{margin-top:24px}.closing .thanks{margin-top:25px}}
@media(max-width:900px){.brand-detail,#motion{display:none}.topbar{height:72px;padding:0 6vw}.tools{gap:20px}.scene{padding:100px 7vw 125px}.scene-inner{height:auto;min-height:100%;justify-content:center}h1{font-size:clamp(56px,12vw,90px)}h2{font-size:clamp(38px,8vw,64px)}.hero .scene-inner{height:100%;padding:120px 7vw 0}.hero h1{margin-top:30px}.hero-sub{top:39%;left:7vw;right:auto;width:75%;font-size:13px;max-width:450px}.hero-sub .author{margin-top:15px}.water{top:66%}.ocean-art{left:8%;top:calc(66% - 10.6vw);width:100%;height:40%}.hero-year{bottom:34%;font-size:45px}.hero-action{bottom:28%;font-size:11px}.hero-bottom{bottom:110px;font-size:9px}.water-label{top:15%;font-size:9px}.hero-label{font-size:9px}.split,.split.wide,.map-layout,.prod-layout,.correlation-layout{grid-template-columns:1fr;gap:28px}.title-row{display:block;margin:20px 0 28px}.title-row .small{margin-top:20px;max-width:600px}.lead{font-size:19px}.question-title{font-size:9vw;margin:25px 0 36px}.dimension-list{grid-template-columns:1fr 1fr;gap:26px}.dimension-list h3{margin-top:10px}.dimension-list p{max-width:none}.map-layout .figure-button img{height:43vh}.scope-stats{margin-top:20px}.scope-stats b{font-size:36px}.region-list{margin:20px 0}.method-grid{grid-template-columns:1fr 1fr;margin-top:35px;gap:28px}.method-item .step{font-size:34px;margin-bottom:15px}.method-item h3{font-size:20px}.method-item p{font-size:12px;margin-top:12px}.method-foot{margin-top:30px}.prod-side{display:flex;align-items:start;gap:20px}.prod-side .big-stat{font-size:62px;white-space:nowrap}.prod-side h3{margin:0 0 10px}.stat-row{grid-template-columns:1fr;gap:30px;margin:30px 0}.stat-column{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px 20px}.stat-column>.eyebrow{grid-column:1/-1}.stat-column .big-stat{font-size:45px;margin:5px 0}.stat-column .arrow{display:none}.stat-column .years{margin:0}.stat-column p{grid-column:1/-1}.economic-note{font-size:25px}.big-stat{font-size:78px}.season-panels{grid-template-columns:1fr;gap:28px}.season-panel .chart{max-height:none}.chart{max-height:none}.limits-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.limit-column h3{margin-bottom:15px}.limit-column p{font-size:17px;margin-bottom:15px}.closing h2{font-size:10vw}.closing .lead{font-size:18px}.closing-art{width:75%;opacity:.12}.controls{left:4vw;right:4vw;bottom:20px;justify-content:center}.navigation{height:62px;gap:8px;padding:8px}.nav-middle{width:140px}.dots{gap:4px}.dots button{width:6px}.dots button.active{width:14px}.source-button{position:absolute;bottom:78px;left:3vw;font-size:10px}#timer{position:absolute;bottom:78px;right:3vw;font-size:10px}.controls:before{content:'';position:fixed;bottom:0;left:0;right:0;height:105px;z-index:-1;background:linear-gradient(transparent,var(--paper) 50%)}body.is-dark .controls:before{background:linear-gradient(transparent,#11465e 60%)}.scene.hero .hero-action{bottom:22%;left:7vw;right:auto}.figure-button:after{opacity:1}.figure-button img{max-height:45vh}.correlation-layout img{max-height:none}.corr-stat{font-size:58px}.tabs{width:100%}.tabs button{padding:9px 13px;font-size:11px;flex:1}.signals{margin-top:16px}.signal-text{font-size:14px}.notes-dialog,.index-dialog{padding:28px}#index-list{gap:0 18px}#index-list button{font-size:11px}.index-dialog h2{font-size:36px}.keyboard-tip{line-height:1.8}}
@media print{html,body{height:auto;overflow:visible}.topbar,.controls,.progress,dialog{display:none}.scene{position:relative;visibility:visible;opacity:1;transform:none;page-break-after:always;min-height:95vh;padding:40px;pointer-events:auto}.scene-inner{height:auto;min-height:90vh}.reveal{opacity:1;transform:none}.chart-line{stroke-dashoffset:0}.hero .scene-inner{height:90vh}.hero .water{top:60%}.scene.dark{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

body.is-hero .source-button,body.is-hero #timer{color:#edf4ed}

.map-change{animation:mapReveal .45s ease both}@keyframes mapReveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

.scene.hero{padding:0}

/* The entire cover illustration stays within the viewport, including both pylons. */
.scene.hero .ocean-art{left:6%;width:88%;top:calc(64% - 9.32vw);height:auto}
.scene.hero .marine-drawing{overflow:visible}
@media(max-width:900px){.scene.hero .ocean-art{left:4%;width:92%;top:calc(66% - 9.75vw)}}
@media(max-height:760px) and (min-width:901px){.scene.hero .water-label{top:10%}.scene.hero .hero-year{bottom:105px;font-size:54px}.scene.hero .hero-bottom{bottom:88px}.scene.hero .hero-action{left:32%;bottom:26%}}
