/* Diario visual de viaje: fotografía real, señalética ferroviaria y luz de otoño. */
:root{--ink:#172622;--forest:#225440;--mint:#dcebe1;--cream:#f2f1e9;--paper:#fffefa;--rust:#bf673d;--line:#d7ded3;--muted:#56675e;--shadow:0 22px 55px #1d30202a}
body{background:#f2f1e9;color:var(--ink)}a{color:#245b45;text-underline-offset:3px}a:hover{color:#a74d2c}
.site-header{background:#f9faf5f2;backdrop-filter:blur(14px);border-bottom:1px solid #203b2b2e;box-shadow:0 7px 25px #0f28161a}.brand{color:#234e39}.brand:before{content:'◉';color:var(--rust);margin-right:9px}.brand span{color:#19352a}.nav a{color:#244d3a;font-weight:700}.nav a[aria-current=page],.nav a:hover{background:#dbeadd;color:#173a29}
.hero{min-height:min(760px,88vh);display:flex;align-items:end;position:relative;isolation:isolate;background:#13291f;overflow:hidden}.hero-image{position:absolute;inset:0;z-index:-2}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.95) contrast(1.04)}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071b16ed 0%,#0c251ba6 40%,#12251424 78%),linear-gradient(0deg,#081b14a3,transparent 55%);z-index:-1}.hero-copy{width:min(100%,1200px);margin:auto;padding:100px 24px 82px;display:block}.hero h1{max-width:780px;font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.035em;text-wrap:balance}.hero .eyebrow{color:#ffc994}.hero .lead{max-width:610px;color:#e7eee6;text-shadow:0 2px 12px #0008}.hero-image small{background:#0a2118cc;border:1px solid #ffffff55;bottom:18px;right:18px;border-radius:3px}.button{background:#d88851;color:#172920;border:1px solid #e9a676;font-size:.86rem;text-transform:uppercase;letter-spacing:.045em;box-shadow:0 10px 25px #0002}.button:hover{background:#e8a16b;color:#172920}.button.secondary{background:#ffffff19;border:1px solid #ffffffaa;color:#fff;backdrop-filter:blur(8px)}.button.secondary:hover{background:#ffffff35;color:#fff}
.page-top{min-height:440px;display:flex;flex-direction:column;justify-content:end;max-width:none;padding:110px max(24px,calc((100vw - 1152px)/2)) 54px;position:relative;isolation:isolate;background-color:#1d4130;background-image:linear-gradient(90deg,#071b15e8,#0a2619b5 55%,#071b1550),var(--page-image);background-size:cover;background-position:center}.page-top .eyebrow{color:#ffc994}.page-top h1{color:#fff;font-size:clamp(3.1rem,5.5vw,5.4rem);text-shadow:0 4px 22px #071b15a9;margin-bottom:.25em}.page-top p{color:#edf3e9;max-width:770px;text-shadow:0 2px 10px #071b15a9}.page-itinerario{--page-image:url('assets/tren-del-ciment.jpg')}.page-paradas{--page-image:url('assets/jardins-artigas.jpg')}.page-preparativos{--page-image:url('assets/pobla-de-lillet.jpg')}.page-galeria{--page-image:url('assets/museu-del-ciment.jpg')}
.section{padding:76px 0}.section.alt{background:#e6ede4;background-image:radial-gradient(circle at 100% 0%,#c9ded15c,transparent 42%);border-block:1px solid #cad7cc}.section h2{letter-spacing:-.02em}.eyebrow,.tag{color:#a8522d}.grid{gap:22px}.card{background:#fff;border:1px solid #d3ddd1;box-shadow:var(--shadow);border-radius:5px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-4px);box-shadow:0 30px 65px #1d302033}.card img{filter:saturate(.95);height:250px}.card h3{color:#1b3c2e}.card a:not(.button){font-weight:700}.facts{background:#315b43;border:0;box-shadow:var(--shadow);position:relative;margin-top:-99px;z-index:2;border-radius:5px;overflow:hidden}.fact{background:#143c2c;color:#fff}.fact:not(:last-child){border-right:1px solid #ffffff30}.fact strong{color:#e9b581}.fact span{color:#d7e8da}.note{background:#fff4e7;border-left-color:#d28752}.callout{background:#d8e7d8;border:1px solid #b7d0bd;border-radius:5px;box-shadow:inset 5px 0 #cb8752}.timeline{border-left:2px dashed #8ea995}.stop:before{background:#d47e4b;border:3px solid #f2f1e9;box-shadow:0 0 0 2px #b56b42}.stop time{color:#ad532d}.photo{position:relative}.photo img{border-radius:5px;box-shadow:var(--shadow);background:#c7d9c9}.photo figcaption{color:#51655b}.checklist li:before{color:#337a4c}.footer{background:#10291e;color:#dce9dc;border-top:6px solid #b4764e}.footer a{color:#dcebdc}.muted{color:#586b60}th{background:#d8e7db}
.page-index .section:first-of-type{padding-top:0}.page-index .section.alt{padding-top:88px}
.page-horarios-comida{--page-image:url('assets/pobla-de-lillet.jpg')}.schedule-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch;margin-bottom:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;overflow:hidden}.schedule-feature>div{padding:40px}.schedule-feature h2{margin:.35em 0}.schedule-feature img{width:100%;height:100%;min-height:290px;object-fit:cover}.schedule-table{min-width:680px}.schedule-table td{font-variant-numeric:tabular-nums;font-weight:650}.schedule-table tbody tr:nth-child(even){background:#f4f7f1}.page-horarios-comida h3{margin-top:30px}.info-card{padding:28px}.info-card h3{margin-top:10px}.restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:28px}.restaurant-card{padding:30px;background:#fff;border:1px solid var(--line);border-top:5px solid #ca8152;border-radius:5px;box-shadow:var(--shadow)}.restaurant-card:first-child{background:#173f2e;color:#ecf3e9}.restaurant-card:first-child h3,.restaurant-card:first-child a{color:#ffe1b7}.restaurant-card h3{font-size:1.7rem;margin:13px 0}.restaurant-no{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:#bd6b44}.restaurant-card:first-child .restaurant-no{color:#ffbd7e}.restaurant-card dl{margin:24px 0;display:grid;gap:11px}.restaurant-card dl div{border-top:1px solid #899e8f66;padding-top:10px}.restaurant-card dt{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;opacity:.73}.restaurant-card dd{margin:3px 0 0;font-weight:650}.restaurant-card>a{font-weight:800}
.page-index .info-card h3{margin-top:12px}.departure-times{font-size:clamp(1.15rem,2.3vw,1.5rem);font-weight:650;line-height:1.65;color:#284b39;font-variant-numeric:tabular-nums}.departure-times strong{color:#ad522d}.schedule-link{margin:25px 0 0;font-weight:800}
.section .button.secondary{background:#f8faf4;color:#23533e;border:1px solid #6b9078;box-shadow:0 8px 22px #173c1b17}.section .button.secondary:hover{background:#e4f0e5;color:#173d2c}
@media(max-width:850px){.hero{min-height:690px}.hero-copy{padding:120px 24px 58px}.hero-image{min-height:unset}.facts{margin-top:-55px}.page-top{min-height:380px;padding:100px 24px 45px}.card img{height:210px}.restaurant-grid{grid-template-columns:1fr}.schedule-feature{grid-template-columns:1fr}.schedule-feature img{max-height:340px}}
@media(max-width:600px){.site-header{position:static}.hero{min-height:660px;align-items:end}.hero:before{background:linear-gradient(0deg,#071b16f7 0%,#09241acb 53%,#10271953 100%)}.hero-image img{object-position:60% center}.hero-copy{padding:100px 18px 50px}.hero h1{font-size:clamp(3rem,12vw,4.2rem)}.hero .lead{font-size:1.07rem}.buttons{gap:9px}.button{padding:12px 14px}.facts{margin-top:-30px}.fact{padding:18px}.fact:not(:last-child){border-bottom:1px solid #ffffff38;border-right:0}.page-top{min-height:330px;padding:78px 18px 35px}.section{padding:52px 0}.page-index .section.alt{padding-top:65px}.card img{height:205px}}
@media(prefers-reduced-motion:reduce){.card{transition:none}}
.theme-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #6b9078;background:#eaf1e8;color:#234d39;border-radius:999px;padding:9px 13px;font:700 .78rem 'DM Sans',Arial,sans-serif;white-space:nowrap;cursor:pointer;transition:background .2s ease,border-color .2s ease}.theme-toggle:hover{background:#d7e8d6}.theme-icon{font-size:1.1rem;line-height:1}.theme-label{line-height:1.1}
html[data-theme="dark"]{color-scheme:dark;--ink:#e8f1e8;--forest:#c4dfcd;--mint:#284a3a;--cream:#101d19;--paper:#1b2c25;--rust:#efaa78;--line:#3b5548;--muted:#bbcabf;--shadow:0 22px 55px #0008}
html[data-theme="dark"] body{background:#101d19;color:#e8f1e8}html[data-theme="dark"] a{color:#a9d8b9}html[data-theme="dark"] a:hover{color:#ffc28f}html[data-theme="dark"] .site-header{background:#12251eea;border-bottom-color:#708e7744;box-shadow:0 8px 26px #0005}html[data-theme="dark"] .brand,html[data-theme="dark"] .brand span{color:#e9f2e7}html[data-theme="dark"] .nav a{color:#c5dbcb}html[data-theme="dark"] .nav a[aria-current=page],html[data-theme="dark"] .nav a:hover{background:#345d45;color:#fff}html[data-theme="dark"] .theme-toggle{background:#243f32;color:#f3d7ad;border-color:#6c9679}html[data-theme="dark"] .theme-toggle:hover{background:#365a42}
html[data-theme="dark"] .section.alt{background:#182a22;background-image:radial-gradient(circle at 100% 0%,#31513b61,transparent 42%);border-color:#3a5142}html[data-theme="dark"] .card,html[data-theme="dark"] .restaurant-card:not(:first-child),html[data-theme="dark"] .schedule-feature{background:#21372c;border-color:#496351}html[data-theme="dark"] .card h3,html[data-theme="dark"] .restaurant-card h3{color:#f1f4e7}html[data-theme="dark"] .fact{background:#173b2c}html[data-theme="dark"] .fact strong{color:#f4be8a}html[data-theme="dark"] .note{background:#3a2c22;border-left-color:#d99061;color:#f1e5d5}html[data-theme="dark"] .callout{background:#254233;border-color:#4a7155;box-shadow:inset 5px 0 #d99061}html[data-theme="dark"] .stop:before{border-color:#101d19}html[data-theme="dark"] .stop time,html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .tag,html[data-theme="dark"] .restaurant-no{color:#efaa78}html[data-theme="dark"] .photo figcaption,html[data-theme="dark"] .muted{color:#b8cabb}html[data-theme="dark"] table{background:#20362b}html[data-theme="dark"] th{background:#31503a;color:#f1f4e9}html[data-theme="dark"] td{border-color:#40594a}html[data-theme="dark"] .schedule-table tbody tr:nth-child(even){background:#294335}html[data-theme="dark"] .departure-times{color:#dceedd}html[data-theme="dark"] .departure-times strong{color:#ffc08d}html[data-theme="dark"] .section .button.secondary{background:#274333;border-color:#7fad8b;color:#e4f2e6}html[data-theme="dark"] .section .button.secondary:hover{background:#386049;color:#fff}html[data-theme="dark"] .footer{background:#08150f;border-top-color:#d08e5f}html[data-theme="dark"] .footer a{color:#cce8d0}html[data-theme="dark"] .restaurant-card:not(:first-child) dt{color:#d3dfd3}html[data-theme="dark"] .theme-toggle:focus-visible{outline-color:#ffc08d}
@media(max-width:850px){.head-inner{gap:8px}.nav{order:3;width:100%;justify-content:center}.theme-toggle{order:2}}@media(max-width:600px){.nav{justify-content:flex-start}.theme-toggle{padding:8px 11px;font-size:.74rem}}
.page-mapa{--page-image:url('assets/pobla-de-lillet.jpg')}.map-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:center}.map-frame{overflow:hidden;border-radius:6px;background:#dce9d9;box-shadow:var(--shadow);border:1px solid var(--line)}.map-frame iframe{width:100%;height:410px;border:0;display:block}.map-frame p{font-size:.78rem;margin:0;padding:9px 14px;background:#fff;color:#405d4b}.map-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.map-cards .card{min-height:230px}html[data-theme="dark"] .map-frame{background:#243b2d}html[data-theme="dark"] .map-frame p{background:#20362b;color:#d2e0d4}
@media(max-width:850px){.map-layout{grid-template-columns:1fr}}@media(max-width:600px){.map-cards{grid-template-columns:1fr}.map-frame iframe{height:330px}}
.plan-hero h1{max-width:920px}.plan-summary{padding-bottom:30px}.plan-asterisk{max-width:850px;margin:22px auto 0;font-size:.86rem;color:#56675e}.plan-steps{display:grid;gap:0;max-width:950px;margin:35px auto 0;border-left:2px solid #93ae97}.plan-step{display:grid;grid-template-columns:170px 1fr;gap:25px;padding:0 0 40px 35px;position:relative}.plan-step:before{content:'';position:absolute;left:-9px;top:9px;width:14px;height:14px;border-radius:50%;background:#d28752;box-shadow:0 0 0 5px #e6ede4}.plan-step time{font-weight:800;font-size:1.27rem;color:#ab532f;font-variant-numeric:tabular-nums;line-height:1.15;padding-top:5px}.plan-step>div{background:#fff;border:1px solid #d4e0d4;border-radius:5px;padding:24px 27px;box-shadow:0 10px 30px #17301d10}.plan-step h3{margin:8px 0 8px;font-size:1.65rem}.plan-step p{margin:0 0 11px}.plan-step a{font-weight:750}.plan-links{display:flex;flex-wrap:wrap;gap:14px 26px;margin:30px 0;font-weight:750}html[data-theme="dark"] .plan-asterisk{color:#c4d0c1}html[data-theme="dark"] .plan-steps{border-color:#51735c}html[data-theme="dark"] .plan-step:before{box-shadow:0 0 0 5px #182a22}html[data-theme="dark"] .plan-step time{color:#f0ae7c}html[data-theme="dark"] .plan-step>div{background:#21372c;border-color:#496351}
@media(max-width:600px){.plan-step{grid-template-columns:1fr;gap:9px;padding-left:24px;padding-bottom:24px}.plan-step>div{padding:20px}.plan-step time{font-size:1.13rem}.plan-step h3{font-size:1.45rem}}


.brand{display:inline-flex;align-items:center;gap:10px}.brand-mark{width:36px;height:36px;flex:none;border-radius:8px}.brand .brand-copy{display:block;font:inherit;letter-spacing:inherit;text-transform:inherit;line-height:normal}.brand:before{display:none!important}@media(max-width:600px){.brand-mark{width:32px;height:32px}}
