/* Terras do Miño · Atlas divulgativo · CSS sen dependencias externas */
:root{--forest:#173b31;--deep:#102e27;--forest-2:#23493d;--mint:#a3b7a6;--sea:#80a7a0;--river:#9fbfb7;--paper:#f5f2ea;--ivory:#fcfaf5;--chalk:#ebe9dc;--sand:#c9b582;--ink:#20362e;--muted:#68796e;--border:rgba(32,54,46,.17);--display:Georgia,'Times New Roman',serif;--sans:Inter,'Avenir Next',Avenir,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--ease:cubic-bezier(.22,1,.36,1);--shell:1372px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img,svg{display:block;max-width:100%}p,h1,h2,h3,blockquote{margin:0}::selection{background:#d8d5a4;color:var(--deep)}
:focus-visible{outline:2px solid #ba9e55;outline-offset:5px;border-radius:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;top:10px;left:14px;padding:12px 18px;color:var(--deep);background:var(--ivory);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.shell{width:min(calc(100% - 100px),var(--shell));margin-inline:auto}.section-pad{padding-block:156px}
.scroll-indicator{height:3px;position:fixed;left:0;top:0;width:0;background:var(--sand);z-index:102;pointer-events:none}
/* Navigation */
.site-header{position:absolute;top:0;left:0;width:100%;height:98px;z-index:90;color:#f6f6e9;transition:background .35s,box-shadow .35s}
.site-header.scrolled{position:fixed;background:rgba(19,50,42,.96);box-shadow:0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(18px);height:78px}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;min-width:200px}.brand-symbol{width:43px;height:43px;flex-shrink:0;color:#d6dccb}.brand-copy{display:flex;flex-direction:column;gap:5px}.brand-copy strong{font:normal 600 24px/1 var(--display);letter-spacing:-.04em}.brand-copy small{font-size:8px;font-weight:750;letter-spacing:.26em;color:#c2caba}.primary-nav{display:flex;gap:clamp(15px,2.1vw,37px);align-items:center}.primary-nav a{font-size:12px;font-weight:650;white-space:nowrap;letter-spacing:.015em;color:#dbe5d9;transition:color .25s}.primary-nav a:hover{color:#e9d2a2}.header-actions{display:flex;align-items:center;gap:17px}.lang-switch{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.3);border-radius:99px;padding:8px 11px;font-size:10px;letter-spacing:.07em}.lang-switch span{opacity:.4}.lang-switch button{color:rgba(255,255,255,.58);padding:1px 2px;border:0;background:transparent;font-size:10px;font-weight:750;letter-spacing:.06em}.lang-switch button[aria-pressed=true]{color:#fff}.menu-toggle{display:none;align-items:center;flex-direction:column;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:transparent;gap:5px}.menu-toggle span{width:18px;height:1px;background:#fff;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}
/* Hero */
.hero{min-height:810px;height:min(950px,100svh);background:radial-gradient(ellipse at 79% 47%,#355a48 0%,transparent 42%),linear-gradient(145deg,#20483d,#12372e 58%,#0a2b27);color:#f3f1e7;position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden}
.hero::after{content:'';position:absolute;left:0;bottom:0;right:0;height:260px;background:linear-gradient(0deg,rgba(7,25,23,.35),transparent);pointer-events:none;z-index:-1}
.hero-noise{position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(rgba(246,246,223,.10) .6px,transparent .8px);background-size:7px 7px;opacity:.21;mask-image:linear-gradient(90deg,#000 30%,transparent 100%)}
.hero-contour{position:absolute;inset:-15% -9% 0 34%;background:url('../assets/contours.svg') center/cover no-repeat;opacity:.55;z-index:-1;transform:rotate(-10deg)}
.hero-grid{display:grid;grid-template-columns:56% 44%;flex:1;align-items:center;position:relative;min-height:0;padding-top:104px;z-index:1}
.hero-copy{position:relative;z-index:6;padding-top:10px}.eyebrow,.section-kicker{font-size:10px;font-weight:780;letter-spacing:.23em}.eyebrow{display:flex;align-items:center;gap:15px}.eyebrow-light{color:#cdd8c9}.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--sand);box-shadow:0 0 0 5px rgba(201,181,130,.12)}
.hero h1{font:normal 400 clamp(66px,7.75vw,127px)/.965 var(--display);letter-spacing:-.071em;margin:35px 0 31px;max-width:860px;text-wrap:balance;position:relative}
.hero h1 em,.display-title em,.section-title em{font-weight:400;color:#b9c9ba}.hero h1 em{color:#b7c5af}.hero-subtitle{max-width:490px;font-size:15px;line-height:1.85;color:#d0dbd1;letter-spacing:.003em}
.hero-buttons{display:flex;gap:22px;align-items:center;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:23px;font-size:12px;font-weight:720;min-height:55px;transition:transform .25s var(--ease),background .25s,color .25s;white-space:nowrap}.btn:hover{transform:translateY(-3px)}.btn-primary{padding:0 21px 0 27px;background:#dedec5;color:#1c392f}.btn-primary:hover{background:#fff5d8}.btn-primary svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.5;fill:none}.btn-quiet{color:#ecede2}.btn-quiet span:last-child{margin-left:4px;font-size:17px}.hero-coordinate{display:flex;align-items:center;gap:17px;margin-top:49px;font-size:10px;letter-spacing:.17em;color:#a1bdaf;font-weight:650}.hero-coordinate i{height:1px;width:50px;background:rgba(205,219,203,.35)}
.hero-visual{height:min(640px,77svh);position:relative;align-self:center;transform:translateX(3%)}.hero-halo{position:absolute;border:1px solid rgba(232,224,191,.26);border-radius:50%;inset:5% -5% 4% 2%;transform:rotate(-15deg)}.halo-two{inset:12% -12% 10% 11%;border-style:dashed;opacity:.48}
.hero-photo-frame{position:absolute;inset:6% 0 7% 0;overflow:hidden;clip-path:ellipse(48% 45% at 52% 50%);background:linear-gradient(140deg,#7c9383,#253f38)}.photo-img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform 1.3s var(--ease);font-size:0;color:transparent}.photo-img.failed{opacity:0}.hero-photo-frame .photo-img{object-position:50% 50%}.hero-photo-frame:hover .photo-img,.landscape-image:hover img,.place-card:hover img{transform:scale(1.045)}.photo-tint{position:absolute;inset:0;background:linear-gradient(150deg,rgba(48,84,64,.22),rgba(6,39,36,.4));pointer-events:none;mix-blend-mode:multiply}
.hero-river{position:absolute;inset:-1% 0 0 -2%;width:103%;height:100%;z-index:3;overflow:visible;filter:drop-shadow(0 1px 5px rgba(15,48,41,.3))}.river-guide{stroke:currentColor;stroke-width:2.1;opacity:.19;vector-effect:non-scaling-stroke}.hero-river .river-guide{stroke:#d8e4ce;stroke-width:3;opacity:.25}.draw-path{stroke:#b9c9aa;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.hero-node{fill:#e5d3a0;stroke:#17382f;stroke-width:3}.hero-photo-label{position:absolute;bottom:6%;right:-7%;z-index:4;background:var(--paper);color:var(--ink);padding:18px 21px;display:flex;align-items:center;gap:20px;box-shadow:0 15px 45px rgba(5,21,20,.1);font-size:9px;font-weight:800;letter-spacing:.15em}.label-number{color:#7e9285}.hero-side-label{position:absolute;right:-5%;top:14%;writing-mode:vertical-rl;color:#c5cdbc;font-size:9px;font-weight:650;letter-spacing:.25em;opacity:.77}
.hero-bottom{z-index:5;display:flex;justify-content:space-between;align-items:end;padding-bottom:35px;gap:30px}.hero-stats{display:flex;align-items:stretch;gap:55px}.hero-stats>div{display:flex;flex-direction:column;gap:5px}.hero-stats strong{font:normal 400 28px/1.2 var(--display);letter-spacing:-.03em;color:#eef1e4}.hero-stats strong small{font-size:14px}.hero-stats span{font-size:9px;letter-spacing:.06em;color:#c0cfc3}.scroll-cue{display:flex;align-items:center;gap:21px;color:#c2cdc2;font-size:9px;letter-spacing:.17em;font-weight:700;white-space:nowrap}.scroll-arrow{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(236,237,221,.3);border-radius:50%;font-size:18px;transition:transform .3s}.scroll-cue:hover .scroll-arrow{transform:translateY(5px)}
/* River threaded through the page */
.journey-root{position:relative;isolation:isolate;background:var(--paper)}.journey-line{position:absolute;top:0;bottom:0;left:calc(50% - 28px);width:160px;height:100%;z-index:4;pointer-events:none;opacity:.11;color:var(--forest)}.journey-line .draw-path{stroke:#447f72;stroke-width:1.1}.journey-line .river-guide{opacity:.13;stroke-width:2.4}.journey-root>section:not(.river-quote){position:relative;z-index:1}
/* Editorial typography and shared sections */
.section-kicker{color:#758c77;margin-bottom:26px}.section-rail{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-top:18px}.chapter-number{font-size:12px;letter-spacing:.12em;font-weight:700;color:#6b8170}.chapter-line{width:1px;height:120px;background:#8ca094}.chapter-label{font-size:9px;font-weight:760;letter-spacing:.18em;writing-mode:vertical-rl;color:#8c9f8f}.display-title{font:normal 400 clamp(54px,6vw,99px)/1.04 var(--display);letter-spacing:-.06em}.display-title em{color:#718d7e}.intro-layout{display:grid;grid-template-columns:23% 1fr;gap:5%}.intro-content{padding-right:7%}.intro-columns{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(35px,7vw,132px);margin-top:58px}.lead{font:normal 400 clamp(20px,2vw,28px)/1.48 var(--display);letter-spacing:-.023em}.body-copy{font-size:14px;line-height:1.95;color:#62746a}.body-copy p+p{margin-top:20px}.fact-note{margin-top:75px;padding:28px 0 0;border-top:1px solid var(--border);display:flex;align-items:center;gap:23px;font-size:10px;letter-spacing:.11em;font-weight:750;line-height:1.7;color:#6d8a79}.fact-symbol{font-size:33px;color:#839d84;font-weight:400;line-height:1}
.section-heading{display:grid;grid-template-columns:20% 1fr 26%;column-gap:4%;align-items:end;margin-bottom:64px}.section-heading>div:first-child{align-self:start}.section-heading .chapter-number{display:block;margin-bottom:27px}.section-heading .section-kicker{line-height:1.6}.section-title{font:normal 400 clamp(44px,4.65vw,72px)/1.08 var(--display);letter-spacing:-.052em}.section-title em{color:#72907c}.heading-note{font-size:13px;line-height:1.9;color:#6a7b71;max-width:290px;padding-bottom:5px}
/* Three narratives */
.landscapes{background:var(--ivory)}.landscape-stack{display:flex;flex-direction:column;gap:105px}.landscape-item{display:grid;grid-template-columns:55% 39%;align-items:center;gap:6%;min-height:475px}.landscape-item.reversed{grid-template-columns:39% 55%}.landscape-item.reversed .landscape-image{order:2}.landscape-image{position:relative;overflow:hidden;aspect-ratio:1.45;max-height:560px;border-radius:2px}.landscape-image::after{content:'';pointer-events:none;position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,34,27,.48))}.rock-bg{background:linear-gradient(135deg,#9c9b83,#53685f)}.wetland-bg{background:linear-gradient(125deg,#9aaf8b,#356756)}.mountain-bg{background:linear-gradient(125deg,#a6afa3,#5f7469)}.image-corner-label{position:absolute;left:24px;bottom:24px;z-index:1;color:#fff;font-size:10px;font-weight:750;letter-spacing:.18em}.landscape-info{padding:15px 6% 0 0}.landscape-num{font-size:11px;letter-spacing:.2em;color:#638778;font-weight:760}.landscape-info h3{font:normal 400 clamp(33px,3.3vw,50px)/1.13 var(--display);letter-spacing:-.055em;margin:24px 0}.landscape-info p{font-size:14px;line-height:1.9;max-width:425px;color:#687970}.text-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid #9cae9e;padding-bottom:10px;margin-top:31px;font-size:12px;font-weight:750;transition:gap .24s,color .24s}.text-link:hover{gap:40px;color:#3f806d}.text-link span:last-child{font-size:18px;font-weight:400}
/* Quote */
.river-quote{position:relative;background:#234e40;color:#f2f1e5;padding:111px 0 125px;overflow:hidden;isolation:isolate}.quote-texture{position:absolute;inset:0;opacity:.47;background:url('../assets/contours.svg') center/cover}.quote-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:900px}.quote-symbol{font:normal 400 87px/.7 var(--display);color:#c3c9a5;opacity:.75}.quote-inner blockquote{font:normal 400 clamp(33px,4.8vw,69px)/1.23 var(--display);letter-spacing:-.045em;margin:27px 0 35px}.quote-caption{font-size:10px;letter-spacing:.23em;color:#bfcfc0;font-weight:750}.quote-decoration{position:absolute;bottom:-50px;right:-90px;width:550px;opacity:.47}.quote-decoration .draw-path{stroke:#b8c9a9;stroke-width:2}.quote-decoration .river-guide{stroke:#b8c9a9}
/* Atlas / gallery */
.places{background:var(--paper)}.places-heading{margin-bottom:55px}.atlas-controls{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid var(--border);padding-top:25px;flex-wrap:wrap}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{border:1px solid #bccabe;background:transparent;border-radius:99px;padding:11px 17px;color:#547265;font-size:11px;font-weight:700;transition:background .2s,color .2s,border-color .2s}.filter-chip:hover{border-color:#456959}.filter-chip.is-active{background:#1d4639;color:#fff;border-color:#1d4639}.search-box{display:flex;align-items:center;gap:10px;min-width:250px;border-bottom:1px solid #8ba294;padding:4px 1px 11px}.search-box svg{width:17px;height:17px;stroke:#547568;stroke-width:1.5}.search-box input{width:100%;background:transparent;border:0;outline:0;font-size:12px;color:#254f40}.search-box input::placeholder{color:#788b7f}.search-box:focus-within{border-bottom-color:#2e6f5a;box-shadow:0 1px 0 #2e6f5a}.places-meta{display:flex;align-items:center;justify-content:space-between;margin:32px 0 22px;font-size:11px;letter-spacing:.08em;color:#75877b}.map-open{display:flex;align-items:center;gap:8px;font-weight:680;color:#41675a}.map-open svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5}.map-open:hover{text-decoration:underline;text-underline-offset:4px}
.places-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.place-card{background:#fffefa;min-width:0;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(20,49,38,.06);transition:box-shadow .3s var(--ease),transform .3s var(--ease);overflow:hidden;border:1px solid rgba(43,66,52,.09)}.place-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(26,50,39,.09)}.place-image{aspect-ratio:1.56;position:relative;background:linear-gradient(145deg,#9fb09c,#476b5c);overflow:hidden}.place-image:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(9,40,32,.48));pointer-events:none}.place-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.79)}.place-type{position:absolute;top:17px;left:18px;color:#fff;background:rgba(27,55,46,.73);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);border-radius:50px;padding:8px 10px;z-index:2;font-size:9px;font-weight:800;letter-spacing:.08em}.place-index{position:absolute;bottom:14px;right:16px;font:normal 400 40px/1 var(--display);color:#fff;opacity:.8;z-index:2}.place-fallback{position:absolute;inset:0;background:radial-gradient(circle at 30% 35%,rgba(223,224,171,.28),transparent 36%),linear-gradient(125deg,#6e8f7c,#2b5b4a);display:grid;place-items:center}.place-fallback:before{content:'';position:absolute;inset:15px;border:1px solid rgba(241,240,220,.17);border-radius:50%}.place-fallback svg{width:74%;height:74%;fill:none;stroke:rgba(236,233,209,.53);stroke-width:1.7}.place-fallback .fallback-glyph{position:absolute;right:26px;bottom:16px;font:normal 400 56px/1 var(--display);color:rgba(249,246,223,.35)}
.place-body{padding:26px 25px 27px;display:flex;flex-direction:column;flex:1}.place-location{font-size:10px;letter-spacing:.15em;font-weight:800;color:#708d7b}.place-body h3{font:normal 400 27px/1.18 var(--display);letter-spacing:-.04em;margin:15px 0 14px}.place-body p{font-size:12px;line-height:1.83;color:#6b7e72;flex:1}.place-links{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;border-top:1px solid var(--border);padding-top:15px}.place-links a{font-size:11px;font-weight:760;color:#436956;display:flex;gap:5px;align-items:center}.place-links a:hover{text-decoration:underline;text-underline-offset:4px}.place-links a:last-child{color:#789384}.empty-places{grid-column:1/-1;padding:80px 30px;text-align:center;color:#617768;border:1px dashed var(--border);background:#fcfaf6}.empty-places strong{display:block;font:normal 400 33px/1.2 var(--display);margin-bottom:12px}.atlas-footnote{display:flex;align-items:start;gap:13px;padding:27px 0 0;color:#819083}.atlas-footnote>span{font:normal 400 23px/1 var(--display)}.atlas-footnote p{font-size:11px;line-height:1.7;max-width:690px}.noscript-message{padding:25px;background:#fff}.noscript-message a{text-decoration:underline}
/* Human heritage */
.heritage{background:#e8ebe0;overflow:hidden}.heritage-timeline{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;padding-top:135px}.timeline-svg{position:absolute;left:0;top:38px;width:100%;height:100px;color:#778f7c;opacity:.48}.timeline-svg .draw-path{stroke:#517e68;stroke-width:2}.heritage-card{border-top:1px solid rgba(61,94,73,.2);padding:35px 12px 42px 0}.heritage-icon{display:block;font:normal 400 37px/1 var(--display);color:#7d9d88;height:60px}.heritage-id{font-size:10px;font-weight:770;color:#738b75;letter-spacing:.17em}.heritage-card h3{font:normal 400 34px/1.2 var(--display);letter-spacing:-.04em;margin:19px 0 17px}.heritage-card p{font-size:13px;line-height:1.8;color:#65796c;max-width:340px}.heritage-bottom{display:grid;grid-template-columns:41% 59%;align-items:stretch;background:#214b3d;color:#e8ecdf;margin-top:60px;min-height:330px}.heritage-mini-image{position:relative;min-height:330px;background:linear-gradient(145deg,#87a395,#305b4a);overflow:hidden}.heritage-mini-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(24,58,47,.28))}.heritage-bottom-copy{padding:50px clamp(35px,7vw,118px);display:flex;flex-direction:column;justify-content:center}.heritage-bottom-copy .section-kicker{color:#b8c4a2;margin-bottom:20px}.heritage-bottom-copy h3{font:normal 400 clamp(33px,3.5vw,53px)/1.08 var(--display);letter-spacing:-.045em;margin-bottom:18px}.heritage-bottom-copy p{color:#c2d3c7;font-size:13px;line-height:1.83;max-width:530px}.heritage-bottom-copy .text-link{color:#edf2e7;border-bottom-color:#869f8b;align-self:flex-start;margin-top:25px}
/* Official references */
.sources{background:#f8f6ee}.sources-heading{margin-bottom:75px}.source-list{border-top:1px solid var(--border)}.source-item{display:grid;grid-template-columns:58px 78px 1fr 50px;align-items:center;gap:15px;border-bottom:1px solid var(--border);padding:22px 17px 22px 0;min-height:108px;transition:background .2s,padding .28s var(--ease)}.source-item:hover{background:#eef2e8;padding-left:14px}.source-index{font-size:11px;color:#8a9b89}.source-icon{height:51px;width:51px;border-radius:50%;background:#e8eee4;display:grid;place-items:center;color:#557963;font-size:25px;font-family:var(--display);line-height:1}.source-body{display:flex;flex-direction:column;gap:8px}.source-body strong{font:normal 400 clamp(19px,2vw,28px)/1.12 var(--display);letter-spacing:-.025em}.source-body small{font-size:11px;line-height:1.5;color:#72887a}.source-out{justify-self:end;font-size:25px;color:#6d8c78;font-family:var(--display);transition:transform .2s}.source-item:hover .source-out{transform:translate(4px,-4px)}.municipalities{display:grid;grid-template-columns:25% 1fr;gap:5%;border-top:1px solid var(--border);margin-top:108px;padding-top:34px}.municipalities .section-kicker{line-height:2}.municipalities>p:last-child{font:normal 400 clamp(17px,1.6vw,22px)/1.85 var(--display);letter-spacing:-.01em;color:#536d5d}.municipalities>p:last-child span{color:#a8baa9;margin:0 3px}
/* Footer */
.site-footer{background:#14362d;color:#f2f0e4;padding:102px 0 32px}.footer-top{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:100px}.footer-overline{font-size:10px;letter-spacing:.22em;font-weight:750;color:#c2cfb8}.footer-top h2{font:normal 400 clamp(55px,6.3vw,99px)/1.05 var(--display);letter-spacing:-.055em;margin:22px 0 26px;max-width:800px}.footer-top p{max-width:670px;color:#a8bdad;font-size:12px;line-height:1.9}.back-top{width:117px;height:117px;border:1px solid rgba(235,241,225,.29);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;font-size:10px;color:#e1e9dc;white-space:nowrap;transition:background .25s,transform .25s}.back-top span:last-child{font-size:28px;font-weight:300}.back-top:hover{background:rgba(255,255,255,.08);transform:translateY(-5px)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid rgba(233,242,222,.17);padding-top:23px;font-size:10px;font-weight:650;letter-spacing:.08em;color:#a7bcb0}.footer-bottom>div{display:flex;gap:25px;align-items:center}.footer-link{border:0;background:none;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;padding:0}.footer-bottom a:hover,.footer-link:hover{text-decoration:underline;text-underline-offset:4px}.credits-panel{margin-top:35px;padding:26px 35px 25px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);font-size:12px;color:#bdccbe;line-height:1.8}.credits-panel[hidden]{display:none}.credits-panel h3{font:normal 400 25px var(--display);color:#f1efe3;margin-bottom:10px}.credits-panel ul{padding-left:20px;margin:15px 0}.credits-panel a{text-decoration:underline;text-underline-offset:3px}.license-note{opacity:.8}
/* Motion */
.reveal{opacity:1;transform:none;transition:opacity .88s var(--ease),transform .88s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}
/* Narrow desktop and tablets */
@media(max-width:1190px){.shell{width:min(calc(100% - 68px),var(--shell))}.primary-nav{gap:15px}.brand{min-width:185px}.brand-copy strong{font-size:21px}.primary-nav a{font-size:11px}.hero h1{font-size:clamp(66px,8vw,105px)}.hero-grid{grid-template-columns:54% 46%}.hero-photo-label{right:-4%}.section-heading{grid-template-columns:17% 1fr 23%}.hero-stats{gap:35px}.landscape-item{min-height:400px}}
@media(max-width:960px){.site-header,.site-header.scrolled{height:80px}.shell{width:calc(100% - 56px)}.primary-nav{display:none;position:fixed;left:0;right:0;top:80px;background:#173b31;padding:25px 30px 34px;flex-direction:column;align-items:flex-start;gap:25px;box-shadow:0 20px 40px rgba(0,0,0,.16)}.primary-nav.is-open{display:flex}.primary-nav a{font-size:18px}.menu-toggle{display:flex}.hero{height:auto;min-height:760px}.hero-grid{padding-top:130px;padding-bottom:70px}.hero h1{font-size:clamp(59px,8vw,96px)}.hero-photo-label{font-size:8px;padding:14px}.hero-visual{height:520px}.hero-side-label{right:-2%;font-size:8px}.section-pad{padding-block:110px}.intro-layout{grid-template-columns:15% 1fr;gap:4%}.intro-content{padding-right:0}.intro-columns{gap:45px}.section-heading{grid-template-columns:1fr 2fr;gap:15px 25px}.section-heading .heading-note{grid-column:2;max-width:500px}.landscape-item,.landscape-item.reversed{grid-template-columns:1fr 1fr;gap:5%;min-height:auto}.landscape-item.reversed .landscape-image{order:2}.landscape-info h3{font-size:36px}.landscape-stack{gap:80px}.places-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.municipalities{grid-template-columns:1fr}.heritage-timeline{gap:22px}.heritage-card h3{font-size:30px}.journey-line{left:46%}}
@media(max-width:680px){html{scroll-padding-top:72px}.shell{width:calc(100% - 38px)}.site-header,.site-header.scrolled{height:70px}.header-inner{gap:10px}.brand{min-width:0;gap:9px}.brand-symbol{width:35px;height:35px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:7px;letter-spacing:.17em}.header-actions{gap:9px}.lang-switch{padding:7px 8px}.primary-nav{top:70px}.hero{min-height:0;height:auto;display:block;padding-bottom:20px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;padding-top:126px;padding-bottom:0;gap:20px}.hero-copy{padding-top:0}.eyebrow{font-size:8px;letter-spacing:.17em;gap:12px}.hero h1{font-size:clamp(56px,14vw,86px);margin:23px 0 23px;letter-spacing:-.067em}.hero-subtitle{font-size:13px;line-height:1.8;max-width:450px}.hero-buttons{gap:16px;margin-top:26px}.btn{min-height:49px;font-size:11px}.btn-primary{padding:0 14px 0 17px;gap:11px}.btn-quiet{gap:7px}.hero-coordinate{display:none}.hero-visual{height:340px;width:min(100%,430px);align-self:center;transform:translateX(0);margin-top:8px}.hero-photo-frame{inset:3% 5% 10%}.hero-halo{inset:0 0 5%}.hero-river{inset:-3% 0 0 0}.hero-photo-label{right:0;bottom:0;padding:12px 14px;gap:9px;letter-spacing:.05em;font-size:8px}.hero-side-label{display:none}.hero-bottom{padding-top:32px;align-items:center;padding-bottom:0}.hero-stats{gap:0;width:100%;justify-content:space-between}.hero-stats>div{max-width:120px}.hero-stats strong{font-size:22px}.hero-stats strong small{font-size:11px}.hero-stats span{font-size:8px;line-height:1.4}.scroll-cue{display:none}.hero-contour{inset:0 -24% 20% 10%}.section-pad{padding-block:82px}.section-rail{display:none}.intro-layout{display:block}.display-title{font-size:clamp(52px,11.5vw,76px)}.intro-columns{display:block;margin-top:35px}.intro-columns .lead{font-size:23px;margin-bottom:26px}.body-copy{font-size:13px}.fact-note{margin-top:45px;font-size:9px;padding-top:23px}.section-heading{display:block;margin-bottom:40px}.section-heading .chapter-number{display:inline-block;margin:0 0 20px}.section-heading .section-kicker{margin-bottom:20px}.section-title{font-size:clamp(39px,9.4vw,62px)}.heading-note{margin-top:20px;font-size:12px;max-width:500px}.landscape-stack{gap:67px}.landscape-item,.landscape-item.reversed{display:flex;flex-direction:column;align-items:stretch;gap:0}.landscape-item.reversed .landscape-image{order:0}.landscape-image{aspect-ratio:1.35}.landscape-info{padding:28px 0 0}.landscape-info h3{font-size:36px;margin:15px 0}.landscape-info p{font-size:13px}.landscape-num{font-size:10px}.text-link{font-size:12px;margin-top:22px}.river-quote{padding:100px 0}.quote-inner blockquote{font-size:clamp(33px,8.5vw,52px)}.quote-symbol{font-size:68px}.quote-caption{font-size:9px}.quote-decoration{right:-200px;width:470px}.atlas-controls{display:block}.filter-chips{gap:7px}.filter-chip{padding:10px 12px;font-size:10px}.search-box{margin-top:25px;width:100%}.places-grid{grid-template-columns:1fr;gap:16px}.place-card{display:grid;grid-template-columns:42% 1fr;min-height:215px}.place-image{aspect-ratio:auto;height:100%}.place-body{padding:20px 17px}.place-body h3{font-size:22px;margin:11px 0}.place-body p{font-size:11px;line-height:1.7}.place-links{padding-top:13px;margin-top:17px}.place-links a{font-size:10px}.place-type{font-size:8px;top:12px;left:10px;padding:6px}.place-index{font-size:27px}.heritage-timeline{display:block;padding-top:0}.timeline-svg{display:none}.heritage-card{padding:30px 0;border-top:1px solid var(--border)}.heritage-card h3{font-size:32px;margin:9px 0 13px}.heritage-icon{height:49px}.heritage-bottom{display:block;margin-top:30px}.heritage-mini-image{height:240px;min-height:240px}.heritage-bottom-copy{padding:36px 28px 43px}.heritage-bottom-copy h3{font-size:40px}.sources-heading{margin-bottom:43px}.source-item{grid-template-columns:23px 48px 1fr 21px;min-height:95px;gap:10px;padding:18px 0}.source-icon{height:42px;width:42px;font-size:19px}.source-body strong{font-size:19px}.source-body small{font-size:10px}.source-out{font-size:20px}.municipalities{margin-top:72px}.municipalities>p:last-child{font-size:18px;line-height:1.8}.site-footer{padding-top:70px}.footer-top{display:block;padding-bottom:60px}.footer-top h2{font-size:clamp(52px,12vw,78px)}.footer-top p{font-size:12px}.back-top{margin-top:37px;width:85px;height:85px;font-size:9px}.back-top span:last-child{font-size:23px}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:20px;font-size:9px}.footer-bottom>div{gap:16px;flex-wrap:wrap}.credits-panel{padding:25px 20px}.journey-line{left:calc(50% - 65px);opacity:.1}}
@media(max-width:440px){.hero h1{font-size:clamp(50px,13.7vw,70px)}.hero-visual{height:300px}.hero-buttons{gap:13px}.btn-quiet{padding-left:0}.hero-stats{gap:9px}.hero-stats strong{font-size:20px}.place-card{display:flex;min-height:0}.place-image{aspect-ratio:1.55}.place-body{padding:24px}.place-body h3{font-size:26px}.place-body p{font-size:12px}.source-index{display:none}.source-item{grid-template-columns:42px 1fr 22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.draw-path{stroke-dasharray:none!important;stroke-dashoffset:0!important}}

/* Fotografía con textura cartográfica como recurso de reserva */
.hero-photo-frame::before,.landscape-image::before,.place-image::before,.heritage-mini-image::before{content:'';position:absolute;inset:0;background:url('../assets/contours.svg') center/cover no-repeat;opacity:.3;pointer-events:none;z-index:1;mix-blend-mode:screen}.hero-photo-frame::before{opacity:.18}.landscape-image::before{opacity:.11}.heritage-mini-image::before{opacity:.12}
/* Ilustración local de respaldo: las fotos remotas pueden sustituirse por fotos propias. */
.hero-photo-frame,.landscape-image,.heritage-mini-image,.place-image{background-image:url('../assets/river-fallback.svg');background-size:cover;background-position:center}
.rock-bg{background-position:42% 50%}.wetland-bg{background-position:78% 50%}.mountain-bg{background-position:20% 38%}
/* O trazado longitudinal percorre a marxe da páxina: non tapa o texto nin as tarxetas. */
.journey-line{left:1px;width:34px;opacity:.32}
.journey-line .draw-path{stroke-width:.85}
.journey-line .river-guide{stroke-width:1.2;opacity:.055}
@media(max-width:680px){.journey-line{left:0;width:14px;opacity:.17}}

/* Símbolo de estrela vectorial; sen variación emoji entre plataformas. */
.star-mark{display:block;width:1em;height:1em;flex:none;overflow:visible}
.fact-symbol .star-mark{width:33px;height:33px}
.heritage-icon .star-mark{width:37px;height:37px}
.source-icon .star-mark{width:24px;height:24px}
.fallback-glyph .star-mark{width:56px;height:56px}
