/* ATLAS DE LA PASIÓN — Sistema global: editorialismo mediterráneo, tinta, marfil y granate. */

:root { --ink:#191919; --maroon:#7b2432; --maroon-dark:#511820; --paper:#f4f0e8; --sand:#e8dfd0; --gold:#ba934a; --green:#315f58; --mist:#dce7e1; --line:rgba(25,25,25,.16); --radius:18px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Manrope",sans-serif; font-size:15px; line-height:1.55; }
button, input { font:inherit; } a { color:inherit; text-decoration:none; } img { display:block; max-width:100%; }
.site-shell { min-height:100vh; }.page-wrap { max-width:1280px; margin:0 auto; padding:0 34px; }.page-section { padding:86px 0; }.paper-section { background:var(--paper); }.mist-section { background:var(--mist); }.ink-section { background:var(--ink); color:white; }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 14px; color:var(--maroon); font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }.eyebrow::before { content:""; width:20px; height:1px; background:currentColor; }.eyebrow-light { color:#efc87b; }.display { margin:0; font-family:"DM Serif Display",serif; font-weight:400; line-height:.95; letter-spacing:-.035em; }.display-xl { font-size:clamp(3rem,7.2vw,7.4rem); }.display-lg { font-size:clamp(2.7rem,4.2vw,4.8rem); }.display-md { font-size:clamp(2rem,3vw,3.25rem); }.display-sm { font-size:clamp(1.65rem,2.2vw,2.4rem); }
.top-sale { min-height:39px; display:flex; align-items:center; justify-content:center; gap:12px; padding:7px 20px; background:var(--maroon); color:#fff7ec; font-size:11px; font-weight:700; letter-spacing:.02em; text-align:center; }.top-sale a { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; border-bottom:1px solid #efc87b; color:#efc87b; font-weight:800; }.site-header { position:sticky; top:0; z-index:50; background:rgba(244,240,232,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }.nav-wrap { max-width:1280px; min-height:79px; margin:0 auto; padding:0 34px; display:flex; align-items:center; justify-content:space-between; gap:24px; }.brand { display:flex; align-items:center; gap:10px; min-width:max-content; }.brand img { width:45px; height:45px; object-fit:contain; }.brand-type { display:grid; line-height:.9; font-family:"DM Serif Display",serif; font-size:17px; letter-spacing:.07em; }.brand-type span:last-child { margin-top:4px; color:var(--maroon); font-family:"Manrope",sans-serif; font-size:8px; font-weight:800; letter-spacing:.25em; }.nav-links { display:flex; align-items:center; justify-content:center; gap:22px; flex:1; }.nav-links a { position:relative; padding:7px 0; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.nav-links a::after { content:""; position:absolute; right:0; bottom:0; left:0; height:1px; background:var(--maroon); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }.nav-links a:hover::after { transform:scaleX(1); }.nav-actions { display:flex; align-items:center; gap:14px; }.nav-cta, .button-maroon, .button-ink, .button-light { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:43px; padding:0 17px; border:1px solid transparent; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; transition:transform .18s,background .18s,color .18s; }.nav-cta,.button-maroon { background:var(--maroon); color:white; }.button-ink { background:var(--ink); color:white; }.button-light { border-color:rgba(255,255,255,.45); color:white; }.nav-cta:hover,.button-maroon:hover,.button-ink:hover,.button-light:hover { transform:translateY(-2px); }.nav-cta:active,.button-maroon:active,.button-ink:active,.button-light:active { transform:scale(.97); }.mobile-trigger { display:none; border:0; background:transparent; color:var(--ink); }.mobile-menu { display:none; }
.hero { position:relative; min-height:660px; background:#0d0d0d; color:white; }.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.8; }.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,11,11,.92) 0%,rgba(11,11,11,.72) 39%,rgba(11,11,11,.12) 72%),linear-gradient(0deg,rgba(11,11,11,.74),transparent 48%); }.hero-inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,760px) 1fr; min-height:660px; align-items:end; padding-bottom:66px; }.hero-copy { max-width:700px; }.hero-copy p:not(.eyebrow) { max-width:510px; margin:24px 0 27px; color:rgba(255,255,255,.78); font-size:16px; }.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }.hero-note { align-self:start; justify-self:end; display:flex; align-items:center; gap:12px; margin-top:52px; padding:11px 13px; border:1px solid rgba(255,255,255,.22); background:rgba(15,15,15,.38); backdrop-filter:blur(8px); color:#f9e6b4; font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }.hero-note span { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--gold); color:var(--ink); }.hero-strip { position:absolute; right:0; bottom:0; left:0; z-index:1; border-top:1px solid rgba(255,255,255,.22); }.hero-strip-inner { display:grid; grid-template-columns:1.15fr 1fr 1fr 1fr; max-width:1280px; margin:auto; padding:0 34px; }.hero-stat { min-height:96px; display:flex; align-items:center; gap:11px; padding:16px 22px; border-left:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.72); font-size:11px; }.hero-stat:last-child { border-right:1px solid rgba(255,255,255,.2); }.hero-stat strong { display:block; color:#fff; font-family:"DM Serif Display",serif; font-size:24px; font-weight:400; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:26px; margin-bottom:35px; }.section-head .section-intro { max-width:400px; margin:0; color:#56514b; font-size:14px; }.text-link { display:inline-flex; align-items:center; gap:9px; border-bottom:1px solid var(--gold); padding-bottom:3px; color:var(--maroon); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.text-link:hover { color:var(--ink); }.agenda-layout { display:grid; grid-template-columns:220px 1fr; gap:34px; }.agenda-days { display:flex; flex-direction:column; border-top:1px solid var(--line); }.agenda-day { display:flex; gap:12px; border:0; border-bottom:1px solid var(--line); padding:17px 4px; background:transparent; color:#69645d; cursor:pointer; text-align:left; transition:padding .2s,color .2s; }.agenda-day:hover,.agenda-day.active { padding-left:13px; color:var(--maroon); }.agenda-day b { font-size:11px; }.agenda-day span { color:inherit; font-size:11px; }.agenda-day.active span { color:var(--gold); }.agenda-list { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.process-card { position:relative; min-height:240px; overflow:hidden; padding:20px; background:#ded6ca; color:white; }.process-card::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.7)); }.process-card:nth-child(2) { background:#5f3e28; }.process-card:nth-child(3) { background:#415952; }.process-card > * { position:relative; z-index:1; }.process-card .card-number { font-family:"DM Serif Display",serif; font-size:35px; }.process-card h3 { max-width:150px; margin:74px 0 7px; font-family:"DM Serif Display",serif; font-size:25px; font-weight:400; line-height:1; }.process-card p { margin:0; color:rgba(255,255,255,.8); font-size:11px; }.time-tag { display:inline-flex; align-items:center; gap:5px; margin-top:16px; color:#f7d98d; font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.destinations-rail { display:grid; grid-template-columns:1.1fr .9fr; gap:32px; }.destination-feature { position:relative; min-height:525px; overflow:hidden; background:#24211f; color:white; }.destination-feature img { position:absolute; width:100%; height:100%; object-fit:cover; opacity:.84; transition:transform .6s cubic-bezier(.23,1,.32,1); }.destination-feature:hover img { transform:scale(1.04); }.destination-feature::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(11,11,11,.88),rgba(11,11,11,.04) 65%); }.destination-feature .feature-content { position:absolute; right:0; bottom:0; left:0; z-index:1; padding:31px; }.feature-content p { max-width:430px; margin:13px 0 19px; color:rgba(255,255,255,.8); font-size:13px; }.destination-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.destination-card { display:flex; min-height:253px; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:21px; background:#2b302e; color:white; }.destination-card:nth-child(2) { background:#724e37; }.destination-card:nth-child(3) { background:#71642d; }.destination-card:nth-child(4) { background:#483f4a; }.destination-card small { color:#f6d38d; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.destination-card h3 { margin:7px 0 3px; font-family:"DM Serif Display",serif; font-size:28px; font-weight:400; line-height:1; }.destination-card p { margin:0; color:rgba(255,255,255,.78); font-size:11px; }
.heritage-poster { position:relative; min-height:515px; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; background:#201d1b; color:white; }.heritage-poster img { width:100%; height:100%; object-fit:cover; }.heritage-copy { display:flex; flex-direction:column; justify-content:center; padding:60px; }.heritage-copy p:not(.eyebrow) { max-width:400px; margin:21px 0 26px; color:rgba(255,255,255,.72); }.quote-ribbon { margin-top:-1px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#ebe2d4; }.quote-ribbon .page-wrap { display:flex; gap:18px; align-items:center; min-height:83px; }.quote-ribbon p { margin:0; font-family:"DM Serif Display",serif; font-size:23px; line-height:1.1; }.quote-ribbon .ribbon-symbol { color:var(--maroon); font-family:"DM Serif Display",serif; font-size:44px; }
.news-grid { display:grid; grid-template-columns:1.25fr .85fr .85fr; gap:20px; }.story-card { border-top:2px solid var(--ink); padding-top:14px; }.story-card:first-child { border-color:var(--maroon); }.story-card .story-label { color:var(--maroon); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.story-card h3 { margin:9px 0; font-family:"DM Serif Display",serif; font-size:29px; font-weight:400; line-height:1.03; }.story-card p { margin:0; color:#625c55; font-size:13px; }.story-card .story-meta { display:block; margin-top:16px; color:#777067; font-size:10px; font-weight:700; }.cta-panel { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; margin-top:40px; padding:28px 32px; background:var(--green); color:white; }.cta-panel h3 { margin:0 0 5px; font-family:"DM Serif Display",serif; font-size:29px; font-weight:400; line-height:1; }.cta-panel p { margin:0; color:rgba(255,255,255,.77); font-size:13px; }
.page-hero { position:relative; overflow:hidden; padding:78px 0 65px; background:var(--ink); color:white; }.page-hero::after { content:""; position:absolute; top:-270px; right:-140px; width:620px; height:620px; border:1px solid rgba(238,201,122,.26); border-radius:50%; box-shadow:0 0 0 53px rgba(238,201,122,.03),0 0 0 107px rgba(238,201,122,.03); }.page-hero .page-wrap { position:relative; z-index:1; }.page-hero p:not(.eyebrow) { max-width:640px; margin:20px 0 0; color:rgba(255,255,255,.73); font-size:16px; }.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; color:#f0d28c; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.breadcrumbs a:hover { color:white; }.filter-bar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:17px; margin-bottom:31px; padding:15px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.filter-group { display:flex; flex-wrap:wrap; gap:8px; }.filter-pill { border:1px solid var(--line); border-radius:99px; padding:8px 12px; background:transparent; color:#615c55; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:.18s; }.filter-pill.active,.filter-pill:hover { border-color:var(--maroon); background:var(--maroon); color:white; }.directory-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:19px; }.directory-card { overflow:hidden; border:1px solid var(--line); background:#fbf8f2; transition:transform .2s,box-shadow .2s; }.directory-card:hover { transform:translateY(-5px); box-shadow:0 14px 30px rgba(31,26,20,.09); }.directory-card img { width:100%; height:235px; object-fit:cover; }.directory-card .directory-copy { padding:19px; }.directory-card small { color:var(--maroon); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.directory-card h3 { margin:7px 0 8px; font-family:"DM Serif Display",serif; font-size:28px; font-weight:400; line-height:1; }.directory-card p { margin:0; color:#69625a; font-size:12px; }.chip-row { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }.chip { border:1px solid #d1c7ba; padding:4px 7px; color:#665d53; font-size:9px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }.directory-card .arrow-link { display:inline-flex; margin-top:18px; color:var(--maroon); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.agenda-day-block { display:grid; grid-template-columns:170px 1fr; gap:30px; padding:30px 0; border-top:1px solid var(--line); }.agenda-date { font-family:"DM Serif Display",serif; font-size:32px; line-height:.96; }.agenda-date span { display:block; margin-top:8px; color:#6c655c; font-family:"Manrope",sans-serif; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.agenda-entry { display:grid; grid-template-columns:88px 1.1fr .75fr auto; gap:15px; align-items:start; padding:13px 0; border-bottom:1px solid rgba(25,25,25,.1); }.agenda-entry:last-child { border-bottom:0; }.entry-time { color:var(--maroon); font-size:13px; font-weight:800; }.entry-title { font-family:"DM Serif Display",serif; font-size:22px; line-height:1; }.entry-place { color:#625c55; font-size:12px; }.entry-status { color:var(--green); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.cofradia-search { display:flex; align-items:center; gap:12px; margin-bottom:30px; border-bottom:2px solid var(--ink); padding-bottom:10px; }.cofradia-search input { width:100%; border:0; outline:0; background:transparent; font-family:"DM Serif Display",serif; font-size:28px; }.cofradia-list { display:grid; grid-template-columns:repeat(2,1fr); gap:0 34px; }.cofradia-row { display:grid; grid-template-columns:49px 1fr auto; gap:14px; align-items:center; border-top:1px solid var(--line); padding:18px 0; }.cofradia-seal { display:grid; place-items:center; width:45px; height:45px; border:1px solid var(--gold); border-radius:50%; color:var(--maroon); font-family:"DM Serif Display",serif; font-size:20px; }.cofradia-row h3 { margin:0; font-family:"DM Serif Display",serif; font-size:23px; font-weight:400; line-height:1; }.cofradia-row p { margin:5px 0 0; color:#6b645c; font-size:11px; }.cofradia-row .row-arrow { color:var(--maroon); }
.guide-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:20px; }.guide-card { min-height:300px; display:flex; flex-direction:column; justify-content:flex-end; padding:24px; background:#e8dece; }.guide-card:first-child { min-height:420px; background:var(--maroon); color:white; }.guide-card:nth-child(2) { background:var(--green); color:white; }.guide-card:nth-child(3) { background:#d2c199; }.guide-card small { color:inherit; opacity:.76; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.guide-card h3 { margin:11px 0 8px; font-family:"DM Serif Display",serif; font-size:31px; font-weight:400; line-height:.98; }.guide-card p { margin:0; font-size:12px; opacity:.82; }.guide-card .text-link { align-self:flex-start; margin-top:18px; color:inherit; border-color:currentColor; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:70px; padding-top:63px; }.article-body { max-width:720px; }.article-body .lead { margin:0 0 28px; font-family:"DM Serif Display",serif; font-size:28px; line-height:1.2; }.article-body h2 { margin:43px 0 13px; font-family:"DM Serif Display",serif; font-size:34px; font-weight:400; line-height:1; }.article-body p { margin:0 0 18px; color:#403d38; font-size:16px; }.article-figure { margin:35px 0; }.article-figure img { width:100%; min-height:280px; object-fit:cover; }.article-figure figcaption { margin-top:9px; color:#6c665e; font-size:10px; }.article-aside { align-self:start; position:sticky; top:105px; border-top:2px solid var(--maroon); padding-top:14px; }.aside-label { color:var(--maroon); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.aside-list { margin:12px 0 0; padding:0; list-style:none; }.aside-list li { border-bottom:1px solid var(--line); padding:12px 0; font-size:12px; font-weight:700; }.aside-list li::before { content:"→"; margin-right:7px; color:var(--gold); }
.detail-hero { padding:64px 0 0; background:var(--paper); }.detail-split { display:grid; grid-template-columns:1fr .95fr; align-items:end; gap:35px; }.detail-copy { padding-bottom:63px; }.detail-copy p:not(.eyebrow) { max-width:510px; margin:20px 0 0; color:#554f47; font-size:16px; }.detail-image { min-height:410px; background:#2e332f; }.detail-image img { width:100%; height:410px; object-fit:cover; }.detail-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border-top:1px solid var(--line); }.fact { padding:20px; background:var(--paper); }.fact b { display:block; margin-bottom:4px; color:var(--maroon); font-size:10px; letter-spacing:.09em; text-transform:uppercase; }.fact span { font-family:"DM Serif Display",serif; font-size:21px; line-height:1; }.route-panel { margin:50px 0 0; padding:28px; border-left:4px solid var(--gold); background:#e9e0d2; }.route-panel h3 { margin:0 0 9px; font-family:"DM Serif Display",serif; font-size:28px; font-weight:400; }.route-panel p { margin:0; color:#5b534a; font-size:13px; }.route-stops { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }.route-stops span { border:1px solid #c8b99f; padding:6px 9px; color:#564c3e; font-size:10px; font-weight:800; }
.sale-hero { padding:90px 0; background:linear-gradient(120deg,#211d1d 0%,#421d25 54%,#244d48 100%); color:white; }.sale-hero-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:70px; align-items:end; }.sale-hero p:not(.eyebrow) { max-width:650px; margin:21px 0 0; color:rgba(255,255,255,.78); font-size:17px; }.sale-card { padding:30px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); backdrop-filter:blur(12px); }.sale-card h2 { margin:0 0 10px; font-family:"DM Serif Display",serif; font-size:34px; font-weight:400; }.sale-card p { margin:0 0 22px; color:rgba(255,255,255,.75); font-size:13px; }.sale-list { display:grid; gap:18px; }.sale-item { display:grid; grid-template-columns:25px 1fr; gap:11px; }.sale-item span { color:#f0cc7e; font-family:"DM Serif Display",serif; font-size:22px; }.sale-item b { display:block; font-size:12px; }.sale-item p { margin:3px 0 0; font-size:11px; }.contact-panel { display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; margin-top:55px; padding:34px; background:#f6eddc; color:var(--ink); }.contact-panel h2 { margin:0 0 6px; font-family:"DM Serif Display",serif; font-size:35px; font-weight:400; }.contact-panel p { margin:0; color:#5b544b; }.contact-email { color:var(--maroon); font-family:"DM Serif Display",serif; font-size:clamp(1.6rem,3vw,2.7rem); }
.site-footer { background:#171717; color:white; }.footer-top { display:grid; grid-template-columns:1.15fr 1fr 1fr 1fr; gap:36px; padding:63px 34px 44px; max-width:1280px; margin:auto; }.footer-brand p { max-width:265px; color:rgba(255,255,255,.62); font-size:12px; }.footer-title { margin:0 0 15px; color:#f2cc79; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.footer-list { display:grid; gap:9px; }.footer-list a { color:rgba(255,255,255,.67); font-size:12px; }.footer-list a:hover { color:white; }.footer-email { color:#f2cc79!important; }.footer-bottom { display:flex; justify-content:space-between; gap:12px; border-top:1px solid rgba(255,255,255,.14); padding:16px 34px; color:rgba(255,255,255,.48); font-size:10px; }
@media (max-width: 900px) { .page-wrap,.nav-wrap { padding-left:21px; padding-right:21px; }.nav-links,.nav-actions .nav-cta { display:none; }.mobile-trigger { display:block; }.mobile-menu { display:grid; gap:10px; padding:0 21px 18px; border-top:1px solid var(--line); }.mobile-menu a { padding:6px 0; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.hero,.hero-inner { min-height:650px; }.hero-inner { grid-template-columns:1fr; }.hero-note { justify-self:start; }.hero-strip-inner { padding:0 21px; overflow:auto; grid-template-columns:repeat(4,160px); }.agenda-layout,.destinations-rail,.heritage-poster,.sale-hero-grid { grid-template-columns:1fr; }.agenda-days { display:grid; grid-template-columns:repeat(3,1fr); border-top:0; }.agenda-day { flex-direction:column; }.agenda-list,.directory-grid { grid-template-columns:repeat(2,1fr); }.news-grid,.guide-grid { grid-template-columns:1fr 1fr; }.news-grid .story-card:first-child,.guide-grid .guide-card:first-child { grid-column:span 2; }.article-layout { grid-template-columns:1fr; gap:30px; }.article-aside { position:static; }.detail-split { grid-template-columns:1fr; }.detail-copy { padding-bottom:0; }.detail-image { min-height:300px; }.cta-panel,.contact-panel { grid-template-columns:1fr; }.footer-top { grid-template-columns:1.5fr 1fr 1fr; padding-left:21px; padding-right:21px; }.footer-brand { grid-column:span 3; } }
@media (max-width: 620px) { .top-sale { align-items:flex-start; flex-direction:column; gap:3px; text-align:left; }.brand img { width:39px; height:39px; }.page-section { padding:58px 0; }.section-head { align-items:start; flex-direction:column; margin-bottom:25px; }.display-xl { font-size:3.7rem; }.hero-copy p:not(.eyebrow) { font-size:14px; }.hero-strip { position:relative; background:#101010; }.hero-stat { min-height:78px; }.agenda-days,.agenda-list,.destination-grid,.directory-grid,.news-grid,.guide-grid,.cofradia-list { grid-template-columns:1fr; }.agenda-list { gap:10px; }.process-card { min-height:190px; }.destination-feature { min-height:400px; }.heritage-copy { padding:38px 24px; }.heritage-poster { min-height:0; }.heritage-poster img { height:270px; }.news-grid .story-card:first-child,.guide-grid .guide-card:first-child { grid-column:auto; }.guide-card:first-child { min-height:330px; }.agenda-day-block { grid-template-columns:1fr; gap:12px; }.agenda-entry { grid-template-columns:65px 1fr; }.entry-place,.entry-status { grid-column:2; }.detail-facts { grid-template-columns:1fr 1fr; }.sale-hero { padding:60px 0; }.footer-top { grid-template-columns:1fr 1fr; }.footer-brand { grid-column:span 2; }.footer-bottom { flex-direction:column; padding-left:21px; padding-right:21px; } }
@media (prefers-reduced-motion:no-preference) { .page-section,.page-hero,.detail-hero { animation:rise .45s cubic-bezier(.23,1,.32,1) both; } @keyframes rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } } }

/* ATLAS DE LA PASIÓN — Gramática interior: orientación, rutas y dossiers antes que catálogos. */
.page-hero::after { top:-180px; right:8%; width:520px; height:520px; border-color:rgba(238,201,122,.16); box-shadow:0 0 0 34px rgba(238,201,122,.025); }.page-hero::before { content:"N · E · S · O"; position:absolute; right:8%; bottom:30px; color:rgba(238,201,122,.6); font-size:9px; font-weight:800; letter-spacing:.32em; z-index:1; }.atlas-orientation { display:grid; grid-template-columns:220px 1fr; gap:36px; margin-bottom:46px; }.orientation-index { position:relative; padding:23px 0 23px 25px; border-top:2px solid var(--maroon); border-bottom:1px solid var(--line); }.orientation-index::before { content:""; position:absolute; top:20px; bottom:20px; left:4px; border-left:1px dashed var(--gold); }.orientation-index p { margin:0 0 15px; color:#645c52; font-size:11px; }.orientation-index strong { display:block; margin-top:4px; font-family:"DM Serif Display",serif; font-size:25px; font-weight:400; line-height:1; }.orientation-index .orientation-mark { display:inline-grid; place-items:center; width:28px; height:28px; margin-bottom:14px; border:1px solid var(--gold); border-radius:50%; color:var(--maroon); font-family:"DM Serif Display",serif; }.orientation-copy { max-width:640px; align-self:end; }.orientation-copy h2 { margin:0 0 11px; font-family:"DM Serif Display",serif; font-size:clamp(2rem,3vw,3.3rem); font-weight:400; line-height:.98; }.orientation-copy p { max-width:580px; margin:0; color:#5d554b; font-size:14px; }.territory-ledger { display:grid; gap:0; border-top:1px solid var(--line); }.territory-row { display:grid; grid-template-columns:82px .9fr 1.3fr auto; gap:22px; align-items:center; min-height:138px; border-bottom:1px solid var(--line); }.territory-code { display:grid; place-items:center; width:50px; height:50px; border:1px solid var(--gold); border-radius:50%; color:var(--maroon); font-family:"DM Serif Display",serif; font-size:21px; }.territory-region { color:var(--maroon); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.territory-region span { display:block; margin-top:8px; color:var(--ink); font-family:"DM Serif Display",serif; font-size:27px; font-weight:400; letter-spacing:-.02em; line-height:1; text-transform:none; }.territory-notes { color:#5f564c; font-size:12px; }.territory-signal { display:flex; flex-wrap:wrap; gap:6px; }.territory-signal span { padding:5px 7px; border:1px solid #d3c6b1; color:#695d4e; font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.territory-row .arrow-link { display:inline-flex; color:var(--maroon); }.route-caption { display:flex; align-items:center; gap:11px; margin:28px 0 0; color:#6e6457; font-size:11px; }.route-caption::before { content:""; width:65px; border-top:1px dashed var(--gold); }.agenda-compass { display:grid; grid-template-columns:280px 1fr; gap:34px; margin-bottom:40px; padding:26px 0; border-top:2px solid var(--maroon); border-bottom:1px solid var(--line); }.agenda-compass-main { position:relative; padding-left:26px; }.agenda-compass-main::before { content:""; position:absolute; top:2px; bottom:5px; left:5px; border-left:1px dashed var(--gold); }.agenda-compass-main h2 { margin:0 0 8px; font-family:"DM Serif Display",serif; font-size:34px; font-weight:400; line-height:.95; }.agenda-compass-main p { margin:0; color:#655c52; font-size:12px; }.compass-days { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:end; }.compass-day { position:relative; padding:5px 0 0 17px; border-left:1px solid var(--gold); }.compass-day span { color:var(--maroon); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.compass-day b { display:block; margin-top:6px; font-family:"DM Serif Display",serif; font-size:23px; font-weight:400; line-height:1; }.heritage-orientation { display:grid; grid-template-columns:1fr 295px; gap:48px; align-items:end; margin-bottom:43px; padding-bottom:29px; border-bottom:1px solid var(--line); }.heritage-route { display:flex; gap:20px; align-items:center; }.heritage-route .heritage-line { width:93px; height:46px; border-top:1px solid var(--gold); border-right:1px solid var(--gold); border-radius:0 46px 0 0; }.heritage-route .heritage-label { color:var(--maroon); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.heritage-route h2 { margin:7px 0 0; font-family:"DM Serif Display",serif; font-size:clamp(2rem,3vw,3.2rem); font-weight:400; line-height:.97; }.heritage-orientation p { margin:0; color:#62594f; font-size:13px; }.heritage-breakdown { display:grid; grid-template-columns:repeat(3,1fr); margin:18px 0 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.heritage-breakdown div { padding:13px 15px; border-right:1px solid var(--line); }.heritage-breakdown div:last-child { border-right:0; }.heritage-breakdown span { display:block; color:var(--maroon); font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }.heritage-breakdown b { display:block; margin-top:4px; font-family:"DM Serif Display",serif; font-size:21px; font-weight:400; }.dossier-list { display:grid; grid-template-columns:100px 1fr 1fr; gap:0; margin-top:37px; border-top:1px solid var(--line); }.dossier-label { padding:24px 15px 24px 0; color:var(--maroon); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.dossier-item { min-height:180px; padding:24px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }.dossier-item:nth-child(3n) { background:#ede4d5; }.dossier-item span { color:var(--gold); font-family:"DM Serif Display",serif; font-size:24px; }.dossier-item h3 { margin:12px 0 8px; font-family:"DM Serif Display",serif; font-size:26px; font-weight:400; line-height:1; }.dossier-item p { margin:0; color:#5f564d; font-size:12px; }.sale-dossier-intro { display:grid; grid-template-columns:1fr 360px; gap:45px; align-items:end; }.sale-dossier-intro h2 { margin:0; font-family:"DM Serif Display",serif; font-size:clamp(2.2rem,3.6vw,4rem); font-weight:400; line-height:.95; }.sale-dossier-intro p { margin:0; color:#655d53; font-size:14px; }.sale-dossier-intro .dossier-stamp { display:flex; align-items:center; gap:13px; margin-bottom:14px; color:var(--maroon); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.dossier-stamp::before { content:"SS"; display:grid; place-items:center; width:31px; height:31px; border:1px solid var(--gold); border-radius:50%; font-family:"DM Serif Display",serif; font-size:15px; font-weight:400; letter-spacing:0; }.sale-hero .sale-card { border-left:3px solid var(--gold); }.sale-hero .sale-card::before { content:"DOSSIER · 001"; display:block; margin-bottom:18px; color:#f0cc7e; font-size:9px; font-weight:800; letter-spacing:.16em; }.sale-hero .sale-list { border-top:1px solid rgba(255,255,255,.2); padding-top:15px; }
@media (max-width:900px) { .atlas-orientation,.agenda-compass,.heritage-orientation,.sale-dossier-intro { grid-template-columns:1fr; gap:22px; }.orientation-index { max-width:310px; }.compass-days { max-width:650px; }.dossier-list { grid-template-columns:80px 1fr 1fr; } }
@media (max-width:620px) { .territory-row { grid-template-columns:60px 1fr auto; gap:13px; padding:20px 0; }.territory-notes { grid-column:2 / 4; }.territory-signal { display:none; }.agenda-compass-main { padding-left:20px; }.compass-days { grid-template-columns:1fr; gap:12px; }.heritage-breakdown { grid-template-columns:1fr; }.heritage-breakdown div { border-right:0; border-bottom:1px solid var(--line); }.dossier-list { grid-template-columns:1fr; }.dossier-label { padding-bottom:8px; }.dossier-item { border-left:0; }.sale-dossier-intro { gap:17px; } }

@media (max-width:620px) { .top-sale { min-height:39px; align-items:center; flex-direction:row; justify-content:center; gap:10px; padding:9px 12px; text-align:center; }.top-sale-description { display:none; } }

/* ATLAS DE LA PASIÓN — El dominio es la marca: cabecera con logo ampliado al 150 %. */
.site-header .brand img { width:67.5px; height:67.5px; }
.site-header .brand-type { font-size:25.5px; }
.site-header .brand-type span:last-child { font-size:12px; }
@media (max-width:620px) { .nav-wrap { gap:8px; padding-left:12px; padding-right:12px; }.site-header .brand img { width:58.5px; height:58.5px; }.site-header .brand-type { font-size:25.5px; }.site-header .brand-type span:last-child { font-size:12px; } }

@font-face{font-family:'DM Serif Display';src:url('../assets/fonts/dm-serif-display.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:'DM Serif Display';src:url('../assets/fonts/dm-serif-display-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:'Manrope';src:url('../assets/fonts/manrope.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}.icon{width:1.05em;height:1.05em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.14em}.icon-arrow{width:15px;height:15px}.stat-icon{font-size:21px}.mobile-trigger svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.mobile-menu{display:none!important}.mobile-menu.open{display:grid!important}.notice{padding:15px 18px;margin-bottom:31px;background:#e8dfd0;font-size:12px;color:#544c42;display:flex;gap:10px;align-items:center}.search-icon{font-size:25px}