/* Jorge™ — DHT Azores Premium Visual Rebuild / Phase 38 — 2026-09-16
   Visual layer only. Business engines and data contracts remain untouched. */
.jorge-page{
  --j-ink:#18312f;--j-deep:#0a4644;--j-primary:#0f5f5c;--j-primary-soft:#dff3ef;
  --j-accent:#f2a65a;--j-paper:#f7f4ed;--j-surface:#fffdf9;--j-soft:#f1eee6;
  --j-line:#ddd7cb;--j-muted:#667370;--j-island-outline:#0f5f5c;--j-white:#fff;--j-radius:28px;
  --j-shadow:0 22px 60px rgba(15,44,43,.10);--j-shadow-soft:0 12px 30px rgba(15,44,43,.08);
  min-height:100dvh;margin:0;background:var(--j-paper);color:var(--j-ink);
  font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.jorge-page *{box-sizing:border-box}.jorge-page main button,.jorge-page main input,.jorge-page main select,.jorge-page main textarea{font:inherit}.jorge-page main button{cursor:pointer}.jorge-page a{color:inherit}.jorge-page img{max-width:100%}
.jorge-page main{overflow:clip}.jorge-page section{scroll-margin-top:90px}
.chip-button,.map-control,.filter-button,.view-toggle button{border:1px solid var(--j-line);background:var(--j-surface);color:var(--j-ink);border-radius:999px;padding:8px 12px;font-weight:600;font-size:12px;transition:transform .18s ease,border-color .18s ease,background .18s ease}.chip-button:hover,.map-control:hover,.filter-button:hover,.view-toggle button:hover{border-color:var(--j-primary);transform:translateY(-1px)}

/* DHT — Jorge island identity color: exact blue sampled from Jorge.png (#2967b0).
   Applied only to explicit island names, never to locality/municipality names. */

/* HERO */
.jorge-page .jorge-hero{position:relative;isolation:isolate;min-height:clamp(650px,76vh,820px);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);align-items:center;gap:clamp(30px,6vw,100px);width:min(100%,1600px);margin:auto;padding:clamp(62px,7vw,100px) clamp(22px,5vw,76px);overflow:hidden;background:linear-gradient(120deg,#dff3ef 0%,#f6f3ea 48%,#efe3cc 100%)}
.jorge-page .jorge-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.75),transparent 30%),radial-gradient(circle at 15% 80%,rgba(255,255,255,.5),transparent 28%)}
.jorge-page .jorge-hero:after{content:"";position:absolute;z-index:-1;right:-12%;bottom:-40%;width:62%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(15,95,92,.10);box-shadow:0 0 0 40px rgba(15,95,92,.025),0 0 0 80px rgba(15,95,92,.018),0 0 0 120px rgba(15,95,92,.012)}
.hero-copy{position:relative;z-index:3;max-width:700px}.eyebrow{margin:0 0 12px;color:var(--j-primary);font-size:.67rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero-kicker{margin:0 0 13px;color:var(--j-muted);font-size:.88rem;font-weight:600}.hero-kicker span{color:var(--j-ink);font-family:Jost,sans-serif;font-size:1.15rem}.hero-kicker sup{font-size:.6em}.jorge-hero h1{max-width:700px;margin:0;font-family:Jost,system-ui,sans-serif;font-size:clamp(3.2rem,6.5vw,6.6rem);font-weight:500;line-height:.91;letter-spacing:-.065em}.hero-lead{max-width:620px;margin:27px 0 26px;color:#52625f;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.65}
.search-form{display:flex;align-items:center;width:min(100%,690px);padding:5px;border:1px solid rgba(15,70,68,.16);border-radius:999px;background:rgba(255,253,249,.94);box-shadow:0 18px 42px rgba(15,70,68,.12)}.search-icon{width:38px;text-align:center;color:var(--j-primary);font-size:1.45rem;line-height:1}.search-form input{min-width:0;flex:1;border:0;outline:0;padding:14px 10px;background:transparent;color:var(--j-ink);font-size:.95rem}.search-form input::placeholder{color:#7a8581}.search-form button{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:13px 18px;background:var(--j-ink);color:#fff;font-weight:700;transition:transform .18s ease,background .18s ease}.search-form button:hover{transform:translateY(-1px);background:var(--j-primary)}
.hero-quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.hero-quick-links button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:8px 13px 8px 16px;border:1px solid rgba(15,70,68,.14);border-radius:999px;background:rgba(255,253,249,.78);color:var(--j-primary);font-size:.78rem;font-weight:700;letter-spacing:.005em;box-shadow:0 8px 22px rgba(15,44,43,.06),inset 0 1px 0 rgba(255,255,255,.72);backdrop-filter:blur(10px);transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.hero-quick-links button:hover,.hero-quick-links button:focus-visible{border-color:rgba(15,95,92,.34);background:var(--j-surface);color:var(--j-ink);transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,44,43,.09),inset 0 1px 0 rgba(255,255,255,.8)}.hero-quick-links button span{display:grid;place-items:center;width:24px;height:24px;margin:0;border-radius:50%;background:var(--j-primary-soft);color:var(--j-primary);font-size:.85rem;line-height:1;transition:background .18s ease,color .18s ease}.hero-quick-links button:hover span,.hero-quick-links button:focus-visible span{background:var(--j-primary);color:#fff}.resolved-context{margin-top:13px;width:max-content;max-width:100%;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.76);font-size:.75rem;font-weight:700}.hero-proof{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:36px;color:#5d6b68;font-size:.67rem;font-weight:600}.hero-proof span{display:inline-flex;align-items:center;gap:6px}.hero-proof i{width:6px;height:6px;border-radius:50%;background:var(--j-primary);box-shadow:0 0 0 4px rgba(15,95,92,.09)}
.hero-visual{position:relative;min-height:500px;display:grid;place-items:center}.hero-visual__halo{position:absolute;width:min(90%,560px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(210,235,230,.55) 48%,rgba(15,95,92,.03) 70%,transparent 71%);filter:blur(1px)}.hero-visual__archipelago{position:relative;width:min(100%,700px);height:500px;overflow:hidden;border-radius:40px;filter:drop-shadow(0 26px 34px rgba(15,70,68,.08))}.hero-visual__photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.52;filter:saturate(.92) contrast(.96) brightness(1.03);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.20) 10%,#000 34%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.20) 10%,#000 34%,#000 100%)}.hero-visual__archipelago::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(246,243,234,.98) 0%,rgba(246,243,234,.78) 16%,rgba(223,243,239,.18) 48%,rgba(246,243,234,0) 78%),linear-gradient(180deg,rgba(246,243,234,.18) 0%,rgba(246,243,234,0) 30%,rgba(246,243,234,.08) 100%)}

/* SECTIONS */
.jorge-page .radar,.jorge-page .territory-directory,.jorge-page .organizer,.jorge-page .contribution{width:min(100%,1440px);margin-inline:auto}.jorge-page .radar{padding:clamp(70px,8vw,110px) clamp(18px,4vw,48px) 45px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:25px}.section-heading h2{margin:0;font-family:Jost,sans-serif;font-size:clamp(2rem,3.7vw,3.6rem);font-weight:500;line-height:.98;letter-spacing:-.045em}.territory-summary{max-width:48ch;margin:0;color:var(--j-muted);font-size:.78rem;line-height:1.7}.view-toggle{display:flex;padding:3px;border:1px solid var(--j-line);border-radius:999px;background:var(--j-surface)}.view-toggle button{border:0;background:transparent}.view-toggle button.is-active{background:var(--j-ink);color:#fff}
.radar-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);border:1px solid rgba(24,49,47,.11);border-radius:30px;overflow:hidden;background:var(--j-surface);box-shadow:var(--j-shadow)}.map-panel{min-height:600px;position:relative;background:radial-gradient(circle at 50% 40%,#fff 0%,#dff3ef 54%,#c6e2de 100%)}.map-toolbar{position:absolute;z-index:5;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;gap:12px;align-items:center}.map-state{padding:8px 11px;border:1px solid rgba(24,49,47,.10);border-radius:999px;background:rgba(255,253,249,.78);font-size:.68rem;font-weight:700}.azores-map{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.65),transparent 55%)}.azores-map:before,.azores-map:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.35);filter:blur(22px)}.azores-map:before{width:45%;height:35%;left:18%;top:24%}.azores-map:after{width:32%;height:30%;right:8%;bottom:8%}.map-watermark{position:absolute;left:8%;bottom:2%;width:34%;max-width:360px;opacity:.045;pointer-events:none;z-index:1;display:flex;justify-content:flex-start;mix-blend-mode:multiply}.map-watermark img{display:block;width:100%;height:auto;mix-blend-mode:multiply;filter:saturate(.55) contrast(.92)}.jorge-page .island{position:absolute;margin:0;z-index:2;transform:translate(-50%,-50%);text-align:center;transition:transform .22s ease,filter .22s ease}.island img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 14px rgba(13,57,59,.16))}.island figcaption{margin-top:-10px;font-size:.68rem;font-weight:700;color:var(--j-ink);text-shadow:0 1px 0 #fff}.island:hover,.island.is-selected{transform:translate(-50%,-50%) scale(1.07);filter:saturate(1.08)}
.island--corvo{left:8%;top:25%;width:72px}.island--flores{left:18%;top:47%;width:125px}.island--faial{left:39%;top:51%;width:125px}.island--pico{left:47%;top:64%;width:150px}.island--sao-jorge{left:59%;top:45%;width:130px}.island--graciosa{left:54%;top:27%;width:98px}.island--terceira{left:69%;top:31%;width:135px}.island--sao-miguel{left:84%;top:57%;width:190px}.island--santa-maria{left:91%;top:80%;width:105px}
.results-panel{display:flex;flex-direction:column;min-width:0;background:rgba(255,253,249,.98);border-left:1px solid var(--j-line)}.results-header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:22px 22px 17px;border-bottom:1px solid var(--j-line)}.results-header h3{margin:0;font-family:Jost,sans-serif;font-size:1.3rem;font-weight:600}.timeline{padding:15px;overflow:auto;min-height:300px;max-height:600px}.empty-state{display:grid;place-items:center;text-align:center;min-height:360px;padding:28px 24px;color:var(--j-muted);background:linear-gradient(145deg,#fffdf9,#f1eee6);border:1px dashed #d4cec1;border-radius:20px}.empty-state__symbol{display:grid;place-items:center;width:48px;height:48px;margin-bottom:14px;border:1px solid rgba(15,95,92,.20);border-radius:50%;font-size:1.25rem;color:var(--j-primary);background:var(--j-primary-soft)}.empty-state h4{margin:0 0 7px;color:var(--j-ink);font-family:Jost,sans-serif;font-size:1.35rem;font-weight:600}.empty-state p{max-width:310px;margin:0;font-size:.78rem;line-height:1.65}
.result-card{display:grid;grid-template-columns:86px 1fr;gap:13px;padding:13px 7px;border-bottom:1px solid var(--j-line)}.result-card__media{width:86px;height:78px;border-radius:15px;background:linear-gradient(145deg,var(--j-primary-soft),#f2e7d2);border:1px solid rgba(15,95,92,.08)}.result-card h4{margin:0;font-family:Jost,sans-serif;font-size:1rem}.result-card p{margin:4px 0 0;color:var(--j-muted);font-size:.72rem}.status{display:inline-flex;margin-top:7px;padding:4px 8px;border-radius:999px;background:#e4f0e9;color:#2e5a4b;font-size:.62rem;font-weight:800}.result-card__programme{font-size:.68rem;letter-spacing:.01em}

/* TERRITORIES */
.jorge-page .territory-directory{padding:clamp(75px,9vw,120px) clamp(18px,4vw,48px)}.territory-directory .section-heading{align-items:end}.territory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.territory-card{position:relative;min-height:170px;overflow:hidden;display:flex;align-items:flex-end;padding:18px;text-decoration:none;border:1px solid var(--j-line);border-radius:22px;background:linear-gradient(145deg,#fffdf9,#f1eee6);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.territory-card img{position:absolute;right:-2%;bottom:-12%;width:62%;opacity:.42;filter:saturate(.95) contrast(1.22) drop-shadow(1.5px 0 0 var(--j-island-outline)) drop-shadow(-1.5px 0 0 var(--j-island-outline)) drop-shadow(0 1.5px 0 var(--j-island-outline)) drop-shadow(0 -1.5px 0 var(--j-island-outline)) drop-shadow(1.1px 1.1px 0 var(--j-island-outline)) drop-shadow(-1.1px 1.1px 0 var(--j-island-outline)) drop-shadow(1.1px -1.1px 0 var(--j-island-outline)) drop-shadow(-1.1px -1.1px 0 var(--j-island-outline)) drop-shadow(0 10px 14px rgba(15,70,68,.14));transition:transform .28s ease,opacity .28s ease;mix-blend-mode:multiply}.territory-card:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.72) 54%,rgba(223,243,239,.32) 100%)}.territory-card:hover{transform:translateY(-4px);border-color:rgba(15,95,92,.35);box-shadow:var(--j-shadow-soft)}.territory-card:hover img{transform:scale(1.07) rotate(-2deg);opacity:.52}.territory-card__index{position:absolute;top:16px;left:18px;font-size:.65rem;font-weight:800;color:var(--j-primary);letter-spacing:.12em}.territory-card__content{position:relative;z-index:2;display:grid;gap:5px;max-width:75%}.territory-card__name{font-family:Jost,sans-serif;font-size:1.45rem;font-weight:600;letter-spacing:-.035em;color:var(--j-ink)}.territory-card__meta{font-size:.68rem;color:var(--j-muted)}.territory-card__arrow{position:absolute;right:17px;top:15px;z-index:2;font-size:1.15rem;color:var(--j-primary)}

/* DISCOVERY */


/* COMMUNITY ENTRY POINT — one clear doorway, two distinct workflows */
.jorge-page .community{width:min(100%,1440px);margin:0 auto 80px;padding:clamp(48px,6vw,82px) clamp(18px,4vw,48px);border:1px solid var(--j-line);border-radius:30px;background:var(--j-soft)}
.community-heading{margin-bottom:28px}.community-heading h2{max-width:14ch}.community-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.community-choice{position:relative;min-height:310px;display:flex;flex-direction:column;padding:30px;border:1px solid var(--j-line);border-radius:24px;background:var(--j-surface);box-shadow:0 8px 24px rgba(15,44,43,.035);overflow:hidden}.community-choice:after{content:"";position:absolute;right:-90px;bottom:-110px;width:280px;height:280px;border-radius:50%;border:1px solid rgba(15,95,92,.08);box-shadow:0 0 0 28px rgba(15,95,92,.025),0 0 0 56px rgba(15,95,92,.018);pointer-events:none}.community-choice--organizer{background:var(--j-ink);color:#fff;border-color:var(--j-ink)}.community-choice--organizer:after{border-color:rgba(255,255,255,.12);box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 56px rgba(255,255,255,.018)}.community-choice__top{display:flex;justify-content:space-between;gap:10px;align-items:center}.community-choice__number{font-size:.64rem;font-weight:800;letter-spacing:.12em;color:var(--j-primary)}.community-choice--organizer .community-choice__number{color:#a8d9d2}.community-choice__eyebrow{font-size:.6rem;font-weight:800;letter-spacing:.12em;color:var(--j-muted)}.community-choice--organizer .community-choice__eyebrow{color:#bfe2dc}.community-choice h3{position:relative;z-index:1;max-width:13ch;margin:62px 0 13px;font-family:Jost,sans-serif;font-size:clamp(2rem,3.4vw,3.2rem);font-weight:500;line-height:.98;letter-spacing:-.05em}.community-choice p{position:relative;z-index:1;max-width:47ch;margin:0;color:var(--j-muted);font-size:.78rem;line-height:1.7}.community-choice--organizer p{color:#c8d9d6}.community-choice__button{position:relative;z-index:2;width:max-content;margin-top:28px;display:inline-flex;align-items:center;gap:10px;border:1px solid currentColor;border-radius:999px;padding:10px 15px;background:transparent;color:var(--j-ink);font-size:.74rem;font-weight:800}.community-choice--organizer .community-choice__button{color:#fff}.community-choice__button:hover,.community-choice__button.is-active{background:var(--j-ink);color:#fff}.community-choice--organizer .community-choice__button:hover,.community-choice--organizer .community-choice__button.is-active{background:#fff;color:var(--j-ink)}.community-panels{margin-top:12px}.community-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:clamp(28px,5vw,70px);align-items:start;padding:30px;border:1px solid var(--j-line);border-radius:24px;background:var(--j-ink);color:#fff;box-shadow:var(--j-shadow)}.community-panel__copy{padding:10px}.community-panel__copy h3{max-width:15ch;margin:18px 0 11px;font-family:Jost,sans-serif;font-size:clamp(2rem,3.8vw,3.7rem);font-weight:500;line-height:.98;letter-spacing:-.05em}.community-panel__copy p,.community-panel__copy li{color:#c8d9d6;font-size:.78rem;line-height:1.7}.community-panel__copy ul{padding-left:1.1rem;margin:18px 0 0;display:grid;gap:7px}.community-badge{display:inline-flex;padding:6px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#bfe2dc;font-size:.62rem;font-weight:800;letter-spacing:.12em}.community-panel .organizer-form,.community-panel .contribution-form{position:relative}.community-panel .contribution-form{background:#fffdf9}.community-panel__close{position:absolute;z-index:4;top:10px;right:10px;width:32px;height:32px;border:1px solid var(--j-line);border-radius:50%;background:#fff;color:var(--j-ink);font-size:1.15rem;line-height:1}.community-trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;color:#bfe2dc;font-size:.68rem;font-weight:700}.community-trust span:before{content:"✓";margin-right:7px}.community-panel[hidden]{display:none!important}

/* ORGANIZERS */
.jorge-page .organizer{margin-bottom:28px;padding:clamp(30px,5vw,70px) clamp(18px,4vw,48px);border-radius:30px;background:var(--j-ink);color:#fff;position:relative;overflow:hidden}.jorge-page .organizer:after{content:"";position:absolute;right:-8%;top:-50%;width:50%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.10);box-shadow:0 0 0 40px rgba(255,255,255,.025),0 0 0 80px rgba(255,255,255,.018)}.organizer .section-heading{position:relative;z-index:2}.organizer .eyebrow{color:#a8d9d2}.organizer .section-heading h2{color:#fff}.organizer .territory-summary{color:#c9dbd8}.organizer-card{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:clamp(28px,5vw,70px);align-items:start;padding:30px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}.organizer-badge{display:inline-flex;width:max-content;padding:6px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#bfe2dc;font-size:.62rem;font-weight:800;letter-spacing:.12em}.organizer-card h3{max-width:15ch;margin:18px 0 11px;font-family:Jost,sans-serif;font-size:clamp(2rem,3.8vw,3.7rem);font-weight:500;line-height:.98;letter-spacing:-.05em}.organizer-card__copy p,.organizer-card__copy li{color:#c8d9d6;font-size:.78rem;line-height:1.7}.organizer-card ul{padding-left:1.1rem;margin:18px 0 0;display:grid;gap:7px}.organizer-form{display:grid;gap:12px;padding:20px;border-radius:20px;background:#fffdf9;color:var(--j-ink);box-shadow:0 20px 40px rgba(0,0,0,.08)}.organizer-form label,.contribution-form label{display:grid;gap:6px;font-size:.68rem;font-weight:700;color:var(--j-ink)}.organizer-form input,.organizer-form select,.contribution-form input,.contribution-form select,.contribution-form textarea{width:100%;border:1px solid #d9d4c9;border-radius:12px;padding:11px 12px;background:#fff;color:var(--j-ink);outline:0;font-size:.78rem;transition:border-color .18s ease,box-shadow .18s ease}.organizer-form input:focus,.organizer-form select:focus,.contribution-form input:focus,.contribution-form select:focus,.contribution-form textarea:focus{border-color:var(--j-primary);box-shadow:0 0 0 3px rgba(15,95,92,.10)}.organizer-form__actions,.contribution-form__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:3px}.organizer-form__actions button,.contribution-form__actions button{border:0;border-radius:999px;padding:11px 16px;background:var(--j-ink);color:#fff;font-weight:700;font-size:.74rem}.organizer-form__status,.contribution-form__status{font-size:.68rem;color:var(--j-muted)}

/* CONTRIBUTION */
.jorge-page .contribution{margin-bottom:80px;padding:clamp(32px,5vw,62px) clamp(18px,4vw,48px);border:1px solid var(--j-line);border-radius:30px;background:var(--j-soft)}.contribution .section-heading{align-items:end}.form-trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 18px;color:var(--j-muted);font-size:.68rem;font-weight:600}.form-trust span{display:inline-flex;align-items:center;gap:7px}.form-trust span:before{content:"✓";color:var(--j-primary);font-weight:900}.contribution-form{display:grid;gap:13px;padding:24px;border:1px solid var(--j-line);border-radius:22px;background:var(--j-surface);box-shadow:var(--j-shadow-soft)}.contribution-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.contribution-form textarea{resize:vertical;min-height:130px}.contribution-form__actions{justify-content:flex-start}.contribution-form__actions button{background:var(--j-primary)}

.jorge-page .jorge-footer{display:flex;justify-content:space-between;gap:20px;padding:28px clamp(18px,4vw,48px);background:var(--j-ink);color:#d9e7e5;font-size:.67rem}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media (prefers-reduced-motion:reduce){.jorge-page *{scroll-behavior:auto!important;transition:none!important}}

/* Phase 10Y — functional popovers / interaction states */
.jorge-page .island{cursor:pointer}
.jorge-page .island:focus-visible{outline:2px solid var(--j-primary);outline-offset:6px;border-radius:8px}
.jorge-popover{position:absolute;z-index:200;min-width:260px;max-width:min(320px,calc(100vw - 24px));padding:10px;border:1px solid var(--j-line);border-radius:18px;background:rgba(255,253,249,.98);box-shadow:0 22px 50px rgba(24,49,47,.16);backdrop-filter:blur(18px)}
.jorge-popover__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 8px 10px;border-bottom:1px solid var(--j-line);font-family:Jost,sans-serif;font-size:.9rem;color:var(--j-ink)}
.jorge-popover__close{width:30px;height:30px;border:1px solid var(--j-line);border-radius:50%;background:transparent;color:var(--j-ink);cursor:pointer;font-size:1rem;line-height:1}
.jorge-popover__body{display:grid;gap:7px;padding-top:10px}
.filter-option{border:1px solid var(--j-line);border-radius:999px;padding:9px 12px;background:#fff;color:var(--j-ink);font:600 .72rem Poppins,sans-serif;text-align:left;cursor:pointer}
.filter-option:hover,.filter-option.is-active{border-color:var(--j-primary);background:#eef7f5;color:var(--j-primary)}
.filter-option:disabled{cursor:default;opacity:1}
.jorge-popover__note{margin:4px 3px 2px;color:var(--j-muted);font-size:.68rem;line-height:1.55}
@media (max-width:720px){.jorge-popover{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;max-width:none}.jorge-popover__body{max-height:50vh;overflow:auto}}

/* ============================================================
   PHASE 10Z — Jorge visual identity / island focus / DHT footer
   ============================================================ */
.jorge-page .azores-map.has-selection .island{opacity:.08;filter:saturate(.65) blur(.3px);pointer-events:none}
.jorge-page .island-focus{
  position:absolute;inset:0;z-index:30;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.55fr);align-items:center;gap:clamp(18px,3vw,42px);padding:clamp(44px,6vw,72px);background:radial-gradient(circle at 48% 45%,rgba(255,255,255,.96),rgba(223,243,239,.88) 52%,rgba(198,226,222,.96));
}
.jorge-page .island-focus__close{position:absolute;top:18px;right:18px;width:38px;height:38px;border:1px solid rgba(24,49,47,.14);border-radius:50%;background:rgba(255,253,249,.88);color:var(--j-ink);font-size:22px;line-height:1;z-index:4;box-shadow:0 8px 20px rgba(15,70,68,.08)}
.jorge-page .island-focus__visual{position:relative;display:grid;place-items:center;min-width:0;height:min(72%,420px)}
.jorge-page .island-focus__visual img{width:min(90%,560px);max-height:100%;object-fit:contain;filter:drop-shadow(0 24px 25px rgba(13,57,59,.18));animation:jorgeIslandEnter .45s cubic-bezier(.2,.8,.2,1) both}
.jorge-page .island-focus__ping{position:absolute;width:18px;height:18px;border-radius:50%;background:#f2a65a;border:4px solid #fff;box-shadow:0 0 0 8px rgba(242,166,90,.20),0 0 0 18px rgba(242,166,90,.08);transform:translate(-50%,-50%);animation:jorgePing 1.8s ease-out infinite}
.jorge-page .island-focus__meta{max-width:320px;padding:26px;border:1px solid rgba(24,49,47,.12);border-radius:24px;background:rgba(255,253,249,.82);backdrop-filter:blur(14px);box-shadow:var(--j-shadow-soft)}
.jorge-page .island-focus__meta h3{margin:0 0 6px;font:500 clamp(2rem,4vw,3.6rem)/.95 Jost,sans-serif;letter-spacing:-.05em;color:var(--j-ink)}
.jorge-page .island-focus__meta>p:not(.eyebrow){margin:0;color:var(--j-muted);font-size:.82rem;line-height:1.55}
.jorge-page .island-focus__event{margin-top:18px!important;padding-top:14px;border-top:1px solid var(--j-line);color:var(--j-primary)!important;font-weight:700!important}
.jorge-page .territory-card__content{display:flex;flex-direction:column;align-items:flex-start}
.jorge-page .territory-card__city{margin-top:4px;color:var(--j-primary);font-size:.65rem;font-weight:700;letter-spacing:.02em}
@keyframes jorgeIslandEnter{from{opacity:0;transform:scale(.72) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes jorgePing{0%{box-shadow:0 0 0 0 rgba(242,166,90,.35),0 0 0 8px rgba(242,166,90,.18)}70%{box-shadow:0 0 0 10px rgba(242,166,90,0),0 0 0 20px rgba(242,166,90,0)}100%{box-shadow:0 0 0 0 rgba(242,166,90,0),0 0 0 0 rgba(242,166,90,0)}}

/* Phase 10AM — DHT footer parity. Exact global footer geometry/colors, without Jorge-specific overrides. */
.jorge-page .site-footer{padding-block:2rem;background:#18312f;color:#fff;}
.jorge-page .site-footer__inner{display:grid;gap:1rem;width:min(100%,72rem);margin-inline:auto;padding-inline:1rem;}
.jorge-page .site-footer p{margin:0;}
.jorge-page .site-footer a{color:inherit;}
.jorge-page .site-footer nav{display:flex;flex-wrap:wrap;gap:.75rem;}
.jorge-page .site-footer__social{align-items:center;}
.jorge-page .site-footer__social-link{display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.72);transition:color .2s ease,transform .2s ease;}
.jorge-page .site-footer__social-link:hover,.jorge-page .site-footer__social-link:focus-visible{color:#fff;transform:translateY(-1px);}
@media (min-width:480px){.jorge-page .site-footer__inner{padding-inline:1.5rem;}}

.jorge-page .island-focus[hidden]{display:none!important}

/* Phase 10AA — festival media: render only when a verified media reference exists. */
.jorge-page .result-card{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:start}
.jorge-page .result-card--has-media{grid-template-columns:82px minmax(0,1fr)}
.jorge-page .result-card:not(.result-card--has-media){grid-template-columns:1fr}
.jorge-page .result-card__media{position:relative;width:82px;min-height:82px;border-radius:14px;overflow:hidden;background:#eef1ea}
.jorge-page .result-card:not(.result-card--has-media) .result-card__media{display:none}
.jorge-page .result-card__media img{display:block;width:100%;height:100%;min-height:82px;object-fit:cover}
.jorge-page .result-card__credit{display:block;margin-top:5px;color:var(--j-muted);font-size:.5rem;line-height:1.2}
@media (max-width:560px){.jorge-page .result-card--has-media{grid-template-columns:64px minmax(0,1fr);gap:10px}.jorge-page .result-card:not(.result-card--has-media){grid-template-columns:1fr}.jorge-page .result-card__media{width:64px;min-height:64px}.jorge-page .result-card__media img{min-height:64px}}


/* ============================================================
   PHASE 10AB — VRAIE CARTE INTERACTIVE JORGE™
   Direction : s'inspirer du comportement cartographique Miguel™ sans copier son UI.
   - les 9 îles restent visibles et clairement délimitées ;
   - chaque île porte uniquement son nom ;
   - clic = focus cartographique de l'île dans le même viewport ;
   - ping = uniquement une localisation de fête réellement connue ;
   - aucune carte descriptive inutile ne recouvre l'île.
   ============================================================ */
.jorge-page .island{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.jorge-page .island:hover,
.jorge-page .island.is-selected{
  border:0;
  background:transparent;
  box-shadow:none;
}
.jorge-page .island img{
  filter:drop-shadow(1.5px 0 0 var(--j-island-outline)) drop-shadow(-1.5px 0 0 var(--j-island-outline)) drop-shadow(0 1.5px 0 var(--j-island-outline)) drop-shadow(0 -1.5px 0 var(--j-island-outline)) drop-shadow(1.1px 1.1px 0 var(--j-island-outline)) drop-shadow(-1.1px 1.1px 0 var(--j-island-outline)) drop-shadow(1.1px -1.1px 0 var(--j-island-outline)) drop-shadow(-1.1px -1.1px 0 var(--j-island-outline)) drop-shadow(0 12px 14px rgba(13,57,59,.16));
}
.jorge-page .island__city{
  display:block;
  margin-top:2px;
  color:var(--j-primary);
  font-size:.58rem;
  font-weight:800;
  line-height:1.15;
  letter-spacing:.015em;
  white-space:nowrap;
}
.jorge-page .azores-map.has-selection .island:not(.is-selected){opacity:.08;filter:saturate(.45) blur(.5px);pointer-events:none}
.jorge-page .azores-map.has-selection .island.is-selected{opacity:0;pointer-events:none}

.jorge-page .island-focus{
  display:block;
  padding:0;
  background:
    radial-gradient(circle at 50% 48%,rgba(255,255,255,.96),rgba(223,243,239,.92) 54%,rgba(198,226,222,.98) 100%);
}
.jorge-page .island-focus__chrome{
  position:absolute;
  z-index:6;
  top:28px;
  left:30px;
  max-width:min(340px,42%);
  padding:14px 18px;
  border:1px solid rgba(24,49,47,.14);
  border-radius:18px;
  background:rgba(255,253,249,.88);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 28px rgba(15,70,68,.09);
}
.jorge-page .island-focus__chrome .eyebrow{margin-bottom:3px;font-size:.56rem}
.jorge-page .island-focus__chrome h3{margin:0;font:500 clamp(2rem,4.2vw,4rem)/.92 Jost,sans-serif;letter-spacing:-.055em;color:var(--j-ink)}
.jorge-page .island-focus__principal{margin:5px 0 0;color:var(--j-muted);font-size:.72rem;font-weight:600}
.jorge-page .island-focus__visual{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  height:auto;
}
.jorge-page .island-focus__island-wrap{
  position:relative;
  width:min(82%,760px);
  height:min(86%,500px);
  display:grid;
  place-items:center;
}
.jorge-page .island-focus__island-wrap::before{
  content:"";
  position:absolute;
  width:72%;
  height:64%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.92),rgba(210,236,231,.38) 58%,transparent 72%);
  filter:blur(10px);
}
.jorge-page .island-focus__visual img{
  position:relative;
  z-index:2;
  width:min(88%,680px);
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(1.5px 0 0 var(--j-island-outline)) drop-shadow(-1.5px 0 0 var(--j-island-outline)) drop-shadow(0 1.5px 0 var(--j-island-outline)) drop-shadow(0 -1.5px 0 var(--j-island-outline)) drop-shadow(1.1px 1.1px 0 var(--j-island-outline)) drop-shadow(-1.1px 1.1px 0 var(--j-island-outline)) drop-shadow(1.1px -1.1px 0 var(--j-island-outline)) drop-shadow(-1.1px -1.1px 0 var(--j-island-outline)) drop-shadow(0 24px 26px rgba(13,57,59,.20));
  animation:jorgeIslandZoom .55s cubic-bezier(.16,.8,.22,1) both;
}
.jorge-page .island-focus__pins{position:absolute;inset:0;z-index:5}
.jorge-page .island-focus__pin{
  position:absolute;
  transform:translate(-50%,-50%);
  display:grid;
  justify-items:center;
  gap:5px;
  border:0;
  background:none;
  padding:0;
  color:var(--j-ink);
  font-weight:800;
  cursor:pointer;
}
.jorge-page .island-focus__pin i{
  position:relative;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--j-accent);
  color:#fff;
  box-shadow:0 0 0 6px rgba(242,166,90,.18),0 8px 18px rgba(92,57,20,.15);
  animation:jorgePing 1.7s ease-out infinite;
}
.jorge-page .island-focus__pin i span{
  display:block;
  font:800 11px/1 Poppins,sans-serif;
  color:#fff;
}
.jorge-page .island-focus__legend{
  position:absolute;
  z-index:6;
  left:30px;
  right:30px;
  bottom:22px;
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  padding-top:12px;
  border-top:1px solid rgba(24,49,47,.12);
  color:var(--j-muted);
  font-size:.62rem;
}
.jorge-page .legend-dot{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;vertical-align:middle}
.jorge-page .legend-dot--city{background:var(--j-primary)}
.jorge-page .legend-dot--event{background:var(--j-accent)}
.jorge-page .island-focus__close{top:18px;right:18px;z-index:10}
.jorge-page .territory-card{border-width:1.5px;border-color:rgba(24,49,47,.20)}
.jorge-page .territory-card:hover{border-color:rgba(15,95,92,.58);box-shadow:0 18px 38px rgba(15,44,43,.10),0 0 0 3px rgba(15,95,92,.05)}
@keyframes jorgeIslandZoom{from{opacity:0;transform:scale(.62)}to{opacity:1;transform:scale(1)}}
@media(max-width:820px){
  .jorge-page .island-focus__chrome{top:16px;left:16px;right:70px;max-width:none;padding:11px 14px}
  .jorge-page .island-focus__chrome h3{font-size:2.4rem}
  .jorge-page .island-focus__island-wrap{width:94%;height:70%}
  .jorge-page .island-focus__visual img{width:86%}
  .jorge-page .island-focus__legend{left:16px;right:16px;bottom:14px}
}
@media(max-width:560px){
  .jorge-page .island__city{font-size:.52rem}
  .jorge-page .island-focus__chrome{top:12px;left:12px;right:58px}
  .jorge-page .island-focus__chrome h3{font-size:2rem}
  .jorge-page .island-focus__island-wrap{width:100%;height:66%}
  .jorge-page .island-focus__visual img{width:92%}
  .jorge-page .island-focus__legend{font-size:.56rem}
}

/* COMMUNITY RESPONSIVE */
@media(max-width:820px){.community-choices{grid-template-columns:1fr}.community-choice{min-height:260px}.community-panel{grid-template-columns:1fr;padding:20px}.community-panel__copy{padding:4px}.community-panel__copy h3{max-width:20ch}}
@media(max-width:560px){.jorge-page .community{border-radius:22px;margin-inline:12px;padding:28px 16px}.community-choice{min-height:245px;padding:23px}.community-choice h3{margin-top:42px;font-size:2rem}.community-panel{border-radius:18px;padding:14px}.community-panel__copy h3{font-size:2.2rem}.community-panel .organizer-form,.community-panel .contribution-form{padding:15px}.community-panel__close{top:7px;right:7px}}

/* ============================================================
   PHASE 10AX — CARTOGRAPHIC RENDER CACHE-BUSTER + MIGUEL PARITY
   Les PNG de relief possèdent un canevas 900x520 avec marges transparentes.
   Les marqueurs sont désormais positionnés dans un calque ayant EXACTEMENT
   les mêmes dimensions/ratio que l'image, et les coordonnées GPS sont projetées
   dans l'emprise alpha réelle de l'île. Aucun ratio visuel n'est donc décalé
   par les marges transparentes du PNG ou par object-fit:contain.
   ============================================================ */
.jorge-page .island-focus__island-wrap{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.jorge-page .island-focus__image-layer{
  position:relative;
  width:min(88%,680px);
  aspect-ratio:900 / 520;
  flex:0 0 auto;
}
.jorge-page .island-focus__image-layer > img{
  position:absolute;
  inset:0;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 0 0 rgba(15,95,92,.48)) drop-shadow(0 24px 26px rgba(13,57,59,.20));
  animation:jorgeIslandZoom .55s cubic-bezier(.16,.8,.22,1) both;
}
.jorge-page .island-focus__image-layer .island-focus__pins{
  position:absolute;
  inset:0;
}
.jorge-page .island-focus__image-layer .island-focus__pins{
  pointer-events:none;
}
.jorge-page .island-focus__image-layer .island-focus__pin{
  pointer-events:auto;
}
@media(max-width:820px){
  .jorge-page .island-focus__image-layer{width:min(92%,680px)}
}
@media(max-width:560px){
  .jorge-page .island-focus__image-layer{width:92%}
}

/* 10AL — Jorge™ date picker: strict Maria™ visual/interaction parity. */
.jorge-trip-planner{margin:16px 0 20px;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important;box-shadow:none!important}
.jorge-trip-planner>summary{display:none!important}
.jorge-trip-planner__body{padding:0!important;border:0!important;background:transparent!important}
.jorge-trip-planner__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end;padding:0 0 12px}
.jorge-trip-planner__top h2{margin:4px 0 8px;color:var(--j-ink);font:600 clamp(22px,2.5vw,30px)/1.12 Jost,sans-serif}
.jorge-trip-planner__top p:not(.eyebrow){margin:0;color:#51666b;font:400 14px/1.5 Jost,sans-serif}
.jorge-trip-planner__destination{display:grid;gap:7px;color:var(--j-ink);font:600 12px/1 Jost,sans-serif}
.jorge-trip-planner__destination select{min-width:180px;padding:11px 34px 11px 12px;border:1px solid rgba(30,30,30,.12);border-radius:12px;background:#fff;color:var(--j-ink);font:500 14px Jost,sans-serif}
.jorge-date-exact,.jorge-date-month{padding:0}
.jorge-date-calendar{border:1px solid rgba(30,30,30,.08);border-radius:28px;background:#fff;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.08)}
.jorge-date-picker-toggle{width:min(620px,calc(100% - 40px));margin:18px auto 10px;display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:999px;background:#ececec}
.jorge-date-picker-toggle button{border:0;background:transparent;border-radius:999px;padding:11px 18px;color:var(--j-ink);font:600 16px/1.1 Jost,sans-serif;cursor:pointer}
.jorge-date-picker-toggle button.is-active{background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.10)}
.jorge-date-nav{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:start;padding:18px 18px 0}
.jorge-date-nav-btn{width:38px;height:38px;margin-top:30px;border:0;background:transparent;color:var(--j-ink);font:500 34px/1 Jost,sans-serif;cursor:pointer;border-radius:50%}
.jorge-date-nav-btn:hover:not(:disabled){background:#f3f3f3}
.jorge-date-nav-btn:disabled{opacity:.18;cursor:default}
.jorge-date-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}
.jorge-date-month h3{margin:2px 0 26px;text-align:center;text-transform:capitalize;color:var(--j-ink);font:600 25px/1.1 Jost,sans-serif}
.jorge-date-weekdays,.jorge-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:0}
.jorge-date-weekdays{margin-bottom:9px}
.jorge-date-weekdays span{text-align:center;color:#65777b;font:600 12px/1 Jost,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.jorge-date-grid{row-gap:3px}
.jorge-date-day,.jorge-date-empty{min-width:0;height:48px;display:grid;place-items:center}
.jorge-date-day{position:relative;border:0;background:transparent;color:var(--j-ink);font:500 15px/1 Jost,sans-serif;cursor:pointer;border-radius:0;z-index:1}
.jorge-date-day:not(:disabled):hover{background:#f2f2f2;border-radius:50%}
.jorge-date-day:disabled{color:#d0d0d0;cursor:default}
.jorge-date-day.is-range{background:#f5f5f5;border-radius:0}
.jorge-date-day.is-start,.jorge-date-day.is-end{color:#fff;background:#222;border-radius:50%;font-weight:600;box-shadow:0 0 0 2px #fff}
.jorge-date-day.is-start::after,.jorge-date-day.is-end::after{content:"";position:absolute;inset:-2px;border:1px solid #777;border-radius:50%;pointer-events:none}
.jorge-date-day.is-today:not(.is-start):not(.is-end){font-weight:700}
.jorge-date-day.is-today:not(.is-start):not(.is-end)::before{content:"";position:absolute;bottom:7px;width:3px;height:3px;border-radius:50%;background:currentColor}
.jorge-date-selection{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 0;padding:0 24px}
.jorge-date-selection>div{border:1px solid rgba(30,30,30,.10);border-radius:13px;padding:10px 12px;display:grid;gap:4px}
.jorge-date-selection span{color:#65777b;font:600 11px/1 Jost,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.jorge-date-selection strong{color:var(--j-ink);font:600 14px/1.2 Jost,sans-serif}
.jorge-exact-date-status{margin:12px 24px 0;color:#65777b;font:500 12px/1.4 Jost,sans-serif}
.jorge-exact-continue{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 24px 22px;width:calc(100% - 48px);min-height:46px;border:0;border-radius:12px;background:var(--j-ink);color:#fff;font:600 14px/1.1 Jost,sans-serif;cursor:pointer}
.jorge-exact-continue:disabled{opacity:.35;cursor:not-allowed}
.jorge-trip-planner__footer{padding-top:2px}.jorge-trip-planner__submit{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 24px 0;min-height:46px;padding:0 18px;border:0;border-radius:12px;background:var(--j-ink);color:#fff;font:600 14px/1.1 Jost,sans-serif;cursor:pointer}.jorge-date-status{margin:10px 24px 0;color:#b24b32;font:500 12px/1.4 Jost,sans-serif}
.jorge-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 24px}
.jorge-month-option{min-height:76px;border:1px solid rgba(30,30,30,.10);border-radius:14px;background:#fff;color:var(--j-ink);display:grid;place-items:center;align-content:center;gap:4px;cursor:pointer;font-family:Jost,sans-serif}.jorge-month-option strong{font-size:15px}.jorge-month-option span{font-size:12px;color:#65777b}.jorge-month-option.is-active{border-color:var(--j-ink);background:var(--j-ink);color:#fff}.jorge-month-option.is-active span{color:rgba(255,255,255,.72)}
@media(max-width:800px){
  .jorge-trip-planner__top{grid-template-columns:1fr;gap:14px;padding:0 0 10px}.jorge-trip-planner__destination select{width:100%}
  .jorge-date-nav{grid-template-columns:38px minmax(0,1fr) 38px;padding:12px 8px 0}.jorge-date-months{grid-template-columns:1fr;gap:18px}.jorge-date-month:nth-child(2){display:none}.jorge-date-nav-btn{margin-top:28px}.jorge-date-month h3{font-size:22px;margin-bottom:22px}.jorge-date-day,.jorge-date-empty{height:44px}
}
@media(max-width:520px){
  .jorge-date-picker-toggle{width:calc(100% - 24px);margin-top:12px}.jorge-date-picker-toggle button{padding:10px 12px;font-size:15px}.jorge-date-selection{padding:0 14px}.jorge-exact-date-status{margin-left:14px;margin-right:14px}.jorge-exact-continue{width:calc(100% - 28px);margin-left:14px;margin-right:14px}
}


/* ============================================================
   PHASE 10AQ — MOBILE ARCHIPELAGO COHERENCE
   Correction de composition uniquement : les 9 reliefs restent
   sans cadres, avec une hiérarchie géographique lisible et des
   libellés de villes qui ne se chevauchent pas.
   ============================================================ */
@media(max-width:560px){
  .jorge-page .map-panel{min-height:470px}
  .jorge-page .azores-map{min-height:470px}

  /* Géographie visuelle : davantage d'air entre les îles centrales. */
  .jorge-page .island--corvo{left:8%;top:27%;width:46px}
  .jorge-page .island--flores{left:17%;top:49%;width:76px}
  .jorge-page .island--faial{left:39%;top:53%;width:76px}
  .jorge-page .island--pico{left:49%;top:69%;width:91px}
  .jorge-page .island--sao-jorge{left:61%;top:46%;width:82px}
  .jorge-page .island--graciosa{left:50%;top:27%;width:58px}
  .jorge-page .island--terceira{left:73%;top:31%;width:82px}
  .jorge-page .island--sao-miguel{left:85%;top:58%;width:112px}
  .jorge-page .island--santa-maria{left:91%;top:80%;width:64px}

  /* Le nom de l'île et sa ville forment un bloc compact et centré.
     Les noms longs peuvent revenir à la ligne au lieu de pousser
     les libellés voisins. */
  .jorge-page .island figcaption{
    margin-top:1px;
    font-size:.56rem;
    line-height:1.12;
    white-space:nowrap;
  }
  .jorge-page .island__city{
    width:96px;
    max-width:96px;
    margin:3px auto 0;
    white-space:normal;
    text-align:center;
    font-size:.50rem;
    line-height:1.16;
  }
  .jorge-page .island--corvo .island__city,
  .jorge-page .island--graciosa .island__city,
  .jorge-page .island--santa-maria .island__city{width:82px;max-width:82px}
  .jorge-page .island--terceira .island__city,
  .jorge-page .island--sao-jorge .island__city{width:88px;max-width:88px}
  .jorge-page .island--sao-miguel .island__city{width:86px;max-width:86px}

  /* Le filigrane reste discret et ne concurrence pas les îles. */
  .jorge-page .map-watermark{left:14%;bottom:3%;width:30%;opacity:.045}
}

/* ============================================================
   PHASE 10AV — FESTIVAL DETAIL / PROGRAMME STRUCTURE
   Fiche générique Festival → Edition → Programme. Aucun contenu
   n'est inventé lorsque le programme officiel n'est pas publié.
   ============================================================ */
.jorge-page .result-card{padding:15px 0 13px;border-bottom:1px solid var(--j-line)}
.jorge-page .result-card:not(.result-card--has-media)>div{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:8px;align-items:center}
.jorge-page .result-card:not(.result-card--has-media)>div>h4,.jorge-page .result-card:not(.result-card--has-media)>div>p{grid-column:1/-1}
.jorge-page .result-card h4{font-size:.96rem;line-height:1.18;letter-spacing:-.015em}
.jorge-page .result-card p{margin:3px 0 0;font-size:.68rem;line-height:1.35}
.jorge-page .result-card__programme{line-height:1.35}
.jorge-page .status{margin-top:7px;align-self:center;padding:4px 8px;font-size:.58rem;line-height:1}
.jorge-page .result-card__detail{display:inline-flex;align-items:center;justify-self:start;gap:5px;margin-top:7px;padding:4px 0;border:0;background:transparent;color:var(--j-primary);font:800 .64rem Poppins,sans-serif;line-height:1.2;cursor:pointer;white-space:nowrap}
.jorge-page .result-card__detail:hover{text-decoration:underline;text-underline-offset:3px}
.jorge-page .result-card__detail:focus-visible{outline:2px solid var(--j-primary);outline-offset:3px;border-radius:5px}
body.festival-detail-open{overflow:hidden}

.jorge-page .festival-detail__actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:12px}
.jorge-page .festival-detail__route-button,.jorge-page .festival-detail__save-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:10px 15px;border-radius:999px;font:700 .72rem/1 Jost,sans-serif;cursor:pointer;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.jorge-page .festival-detail__route-button{border:1px solid var(--j-primary);background:var(--j-primary);color:#fff}
.jorge-page .festival-detail__route-button:hover,.jorge-page .festival-detail__route-button:focus-visible{background:var(--j-ink);border-color:var(--j-ink);transform:translateY(-1px)}
.jorge-page .festival-detail__save-button{border:1px solid rgba(24,48,46,.16);background:transparent;color:var(--j-ink)}
.jorge-page .festival-detail__save-button.is-saved{background:rgba(24,48,46,.07);border-color:rgba(24,48,46,.22)}
.jorge-page .festival-detail__save-button:hover,.jorge-page .festival-detail__save-button:focus-visible{border-color:var(--j-primary);color:var(--j-primary);transform:translateY(-1px)}
.jorge-page .festival-detail__route-button:focus-visible,.jorge-page .festival-detail__save-button:focus-visible{outline:2px solid var(--j-primary);outline-offset:3px}
.jorge-page .festival-detail__calendar-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border:1px solid var(--j-primary);border-radius:999px;background:var(--j-primary);color:#fff;font-size:.72rem;font-weight:700;line-height:1.2;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.jorge-page .festival-detail__calendar-button:before{content:"";width:13px;height:13px;border:1.5px solid currentColor;border-radius:3px;box-shadow:inset 0 3px 0 currentColor}
.jorge-page .festival-detail__calendar-button:hover,.jorge-page .festival-detail__calendar-button:focus-visible{background:var(--j-ink);border-color:var(--j-ink);transform:translateY(-1px)}
.jorge-page .festival-detail__calendar-button:focus-visible{outline:2px solid var(--j-primary);outline-offset:3px}

.festival-detail-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px}
.festival-detail-modal[hidden]{display:none}
.festival-detail-modal__backdrop{position:absolute;inset:0;background:rgba(15,44,43,.48);backdrop-filter:blur(7px)}
.festival-detail-modal__panel{position:relative;z-index:1;width:min(760px,100%);max-height:min(88vh,900px);overflow:auto;border:1px solid rgba(24,49,47,.14);border-radius:26px;background:#fffdf9;box-shadow:0 30px 90px rgba(15,44,43,.24);scrollbar-width:thin}
.festival-detail-modal__close{position:sticky;top:14px;float:right;margin:14px 14px -48px 0;z-index:5;width:38px;height:38px;border:1px solid rgba(24,49,47,.14);border-radius:50%;background:rgba(255,253,249,.94);color:var(--j-ink);font-size:23px;line-height:1;cursor:pointer;box-shadow:0 7px 18px rgba(15,70,68,.10)}
.festival-detail-modal__close:focus-visible{outline:2px solid var(--j-primary);outline-offset:3px}
.festival-detail-modal__content{padding:0 28px 30px}
.festival-detail__image-button{display:inline-block;width:fit-content;max-width:min(180px,100%);height:auto;margin:0 0 18px;padding:0;border:1px solid rgba(24,49,47,.12);border-radius:16px;background:#eef1ea;overflow:hidden;cursor:zoom-in;box-shadow:0 8px 22px rgba(15,70,68,.08);vertical-align:top}
.festival-detail__image-button:focus-visible{outline:2px solid var(--j-primary);outline-offset:4px}
.festival-detail__image{display:block;width:auto;height:auto;max-width:100%;max-height:135px;margin:0;object-fit:contain;object-position:center;background:transparent}

.festival-detail__head{padding:8px 38px 18px 0}
.festival-detail__head h3{margin:4px 0 8px;font:600 clamp(1.8rem,4vw,3rem)/1 Jost,sans-serif;letter-spacing:-.045em;color:var(--j-ink)}
.festival-detail__date{margin:0;color:var(--j-muted);font-size:.76rem}
.festival-detail__about,.festival-detail__programme,.festival-detail__sources{padding-top:22px;border-top:1px solid var(--j-line);margin-top:20px}
.festival-detail__about>p:not(.eyebrow){margin:7px 0 0;color:var(--j-muted);font-size:.78rem;line-height:1.65}
.festival-detail__section-head{display:flex;align-items:end;justify-content:space-between;gap:15px}
.festival-detail__section-head h4,.festival-detail__sources h4{margin:4px 0 0;font:600 1.25rem/1.1 Jost,sans-serif;color:var(--j-ink)}
.festival-detail__count{color:var(--j-muted);font-size:.62rem;font-weight:700}
.festival-detail__programme-empty{display:grid;grid-template-columns:32px 1fr;gap:11px;align-items:start;margin-top:13px;padding:14px;border:1px solid var(--j-line);border-radius:15px;background:#f7f3ea}
.festival-detail__programme-empty>span{font-size:1.2rem;color:var(--j-primary)}
.festival-detail__programme-empty p{margin:0;color:var(--j-muted);font-size:.72rem;line-height:1.55}
.festival-detail__day{margin-top:18px}
.festival-detail__day h5{margin:0 0 8px;font:700 .86rem/1.2 Poppins,sans-serif;color:var(--j-primary)}
.festival-detail__schedule{display:grid;border-top:1px solid var(--j-line)}
.festival-detail__slot{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--j-line)}
.festival-detail__slot time{font:700 .67rem Poppins,sans-serif;color:var(--j-primary)}
.festival-detail__slot strong{font-size:.75rem;color:var(--j-ink)}
.festival-detail__slot p{margin:4px 0 0;color:var(--j-muted);font-size:.68rem;line-height:1.45}
.festival-detail__slot span{display:block;margin-top:4px;color:var(--j-muted);font-size:.62rem}
.festival-detail__sources ul{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}
.festival-detail__sources li{display:grid;gap:3px;padding:9px 0;border-bottom:1px dashed var(--j-line);color:var(--j-muted);font-size:.65rem;line-height:1.4}
.festival-detail__sources li strong{color:var(--j-ink);font-size:.68rem}
.festival-detail__sources li a{color:var(--j-primary);font-weight:700;text-decoration:none}
.festival-detail__sources li a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){
  .jorge-page .result-card{padding:13px 0 12px}
  .jorge-page .result-card h4{font-size:.93rem}
  .jorge-page .result-card p{font-size:.67rem}
  .festival-detail-modal{padding:0;align-items:end}
  .festival-detail-modal__panel{width:100%;max-height:94vh;border-radius:24px 24px 0 0}
  .festival-detail-modal__content{padding:0 17px 24px}
  .festival-detail__image-button{max-width:min(150px,100%);height:auto;margin-bottom:16px}
  .festival-detail__image{max-height:112px}
  .festival-detail__head{padding-right:35px}
  .festival-detail__slot{grid-template-columns:72px 1fr;gap:10px}
}



/* ============================================================
   PHASE 13 — MOBILE LAYOUT RESTORATION
   The canonical header is already validated. This block restores
   the Jorge page content layout on narrow viewports. The previous
   desktop hero/radar minimum columns were allowed to survive on
   mobile, collapsing the first grid track and visually pushing the
   content into a narrow strip at the left.
   ============================================================ */
@media (max-width: 900px){
  .jorge-page .jorge-hero{
    grid-template-columns:minmax(0,1fr);
    gap:36px;
    width:100%;
    min-height:auto;
    padding:56px 22px 64px;
  }
  .jorge-page .hero-copy{
    width:100%;
    max-width:none;
    min-width:0;
  }
  .jorge-page .hero-visual{
    width:100%;
    min-width:0;
    min-height:360px;
  }
  .jorge-page .radar-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .jorge-page .territory-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* ============================================================
   PHASE 37 — MOBILE HERO VISUAL WEIGHT
   On narrow screens the decorative archipelago visual and its
   proof strip add substantial vertical height without providing
   an interaction. Keep the desktop composition unchanged and
   remove these decorative blocks from the mobile flow.
   ============================================================ */
@media (max-width: 720px){
  .jorge-page .hero-proof,
  .jorge-page .hero-visual{
    display:none;
  }
}

@media (max-width: 560px){
  .jorge-page .search-form{
    padding:4px;
  }
  .jorge-page .search-icon{
    width:32px;
    flex:0 0 32px;
    font-size:1.3rem;
  }
  .jorge-page .search-form input{
    min-width:0;
    padding:12px 7px;
    font-size:.88rem;
  }
  .jorge-page .search-form button{
    flex:0 0 auto;
    padding:12px 14px;
    gap:6px;
    white-space:nowrap;
  }
  .jorge-page .hero-quick-links{
    gap:8px;
    margin-top:14px;
  }
  .jorge-page .hero-quick-links button{
    min-height:40px;
    padding:7px 11px 7px 13px;
    gap:8px;
    font-size:.75rem;
  }
  .jorge-page .hero-quick-links button span{
    width:22px;
    height:22px;
    font-size:.8rem;
  }
  .jorge-page .jorge-hero{
    gap:30px;
    padding:44px 18px 52px;
  }
  .jorge-page .jorge-hero h1{
    max-width:100%;
    font-size:clamp(3rem,14vw,4.4rem);
  }
  .jorge-page .hero-lead{
    max-width:100%;
  }
  .jorge-page .hero-visual{
    min-height:320px;
  }
  .jorge-page .hero-visual__archipelago{
    width:100%;
    max-width:460px;
    height:340px;
  }
  .jorge-page .territory-grid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* ============================================================
   PHASE 18 — PREMIUM RENDEZ-VOUS RESULTS
   Visual-only refinement of the Jorge™ festival result panel.
   No data, retrieval, temporal or save logic is changed.
   ============================================================ */
.jorge-page .results-panel{
  background:linear-gradient(180deg,#fbfaf6 0%,#f4f1e9 100%);
  border-left:1px solid rgba(24,49,47,.10);
}
.jorge-page .results-header{
  padding:26px 24px 20px;
  align-items:flex-end;
  border-bottom:1px solid rgba(24,49,47,.10);
  background:rgba(255,253,249,.82);
}
.jorge-page .results-header > div{min-width:0}
.jorge-page .results-header .eyebrow{margin-bottom:7px;letter-spacing:.18em}
.jorge-page .results-header h3{
  font-size:clamp(1.45rem,2.2vw,1.9rem);
  line-height:1;
  letter-spacing:-.035em;
}
.jorge-page .filter-button{
  flex:0 0 auto;
  min-height:42px;
  padding:0 17px;
  border-color:rgba(24,49,47,.16);
  background:#fffdf9;
  box-shadow:0 4px 14px rgba(24,49,47,.04);
  font:600 .74rem/1 Jost,sans-serif;
}
.jorge-page .filter-button:hover,.jorge-page .filter-button:focus-visible{
  border-color:rgba(15,95,92,.38);
  background:#fff;
  transform:translateY(-1px);
}
.jorge-page .timeline{
  padding:16px;
  max-height:680px;
  background:transparent;
  scrollbar-width:thin;
}
.jorge-page .result-card{
  position:relative;
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:18px;
  margin:0 0 13px;
  padding:16px;
  border:1px solid rgba(24,49,47,.10);
  border-radius:22px;
  background:rgba(255,253,249,.96);
  box-shadow:0 8px 24px rgba(15,44,43,.055);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.jorge-page .result-card:last-child{margin-bottom:0}
.jorge-page .result-card:hover{
  transform:translateY(-2px);
  border-color:rgba(15,95,92,.18);
  box-shadow:0 14px 34px rgba(15,44,43,.09);
}
.jorge-page .result-card--has-media{grid-template-columns:132px minmax(0,1fr)}
.jorge-page .result-card__media{
  width:132px;
  height:132px;
  min-height:132px;
  border:0;
  border-radius:17px;
  background:#e9eee9;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.32);
}
.jorge-page .result-card__media img{min-height:132px;object-fit:cover}
.jorge-page .result-card__credit{font-size:.48rem}
.jorge-page .result-card--has-media > div,
.jorge-page .result-card:not(.result-card--has-media) > div{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  column-gap:10px;
  align-content:start;
  align-items:center;
}
.jorge-page .result-card h4{
  grid-column:1/-1;
  margin:0 0 7px;
  font:600 clamp(1.15rem,2vw,1.45rem)/1.1 Jost,sans-serif;
  letter-spacing:-.035em;
  color:var(--j-ink);
}
.jorge-page .result-card p{
  grid-column:1/-1;
  margin:0 0 3px;
  color:var(--j-muted);
  font-size:.70rem;
  line-height:1.38;
}
.jorge-page .result-card p:nth-of-type(1){color:#49615e;font-weight:600}
.jorge-page .result-card__programme{margin-top:1px!important}
.jorge-page .status{
  grid-column:1;
  justify-self:start;
  align-self:center;
  margin:12px 0 0;
  padding:6px 10px;
  border:1px solid rgba(46,90,75,.08);
  background:#e7f1eb;
  color:#2e5a4b;
  font-size:.58rem;
  line-height:1;
  letter-spacing:.01em;
}
.jorge-page .result-card__save.dhta-festival-save,
.jorge-page .result-card__detail{
  align-self:center;
  margin-top:12px;
  min-height:38px;
  box-sizing:border-box;
  border-radius:999px;
  white-space:nowrap;
}
.jorge-page .result-card__save.dhta-festival-save{
  grid-column:2;
  justify-self:end;
  padding:0 13px;
  border:1px solid rgba(24,49,47,.14);
  background:#fff;
  color:var(--j-ink);
  font:600 .68rem/1 Jost,sans-serif;
  box-shadow:0 3px 10px rgba(24,49,47,.035);
}
.jorge-page .result-card__save.dhta-festival-save:hover,
.jorge-page .result-card__save.dhta-festival-save:focus-visible{
  border-color:rgba(15,95,92,.32);
  background:#f9fffd;
  outline:none;
}
.jorge-page .result-card__save.dhta-festival-save.is-saved{background:#eef5f1}
.jorge-page .result-card__detail{
  grid-column:3;
  justify-self:end;
  padding:0 15px;
  border:1px solid var(--j-primary);
  background:var(--j-primary);
  color:#fff;
  font:700 .68rem/1 Poppins,sans-serif;
  box-shadow:0 5px 14px rgba(15,95,92,.13);
}
.jorge-page .result-card__detail:hover{background:var(--j-deep);text-decoration:none;transform:translateY(-1px)}
.jorge-page .result-card__detail:focus-visible{outline:2px solid var(--j-accent);outline-offset:3px}
@media (max-width:900px){
  .jorge-page .timeline{padding:14px}
  .jorge-page .result-card{grid-template-columns:112px minmax(0,1fr);gap:15px;padding:14px;border-radius:20px}
  .jorge-page .result-card--has-media{grid-template-columns:112px minmax(0,1fr)}
  .jorge-page .result-card__media{width:112px;height:112px;min-height:112px}
  .jorge-page .result-card__media img{min-height:112px}
}

@media (max-width:560px){
  .jorge-page .results-header{padding:20px 17px 16px}
  .jorge-page .results-header h3{font-size:1.35rem}
  .jorge-page .timeline{padding:11px}
  .jorge-page .result-card,
  .jorge-page .result-card--has-media{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:12px;border-radius:18px}
  .jorge-page .result-card__media{width:88px;height:88px;min-height:88px;border-radius:14px}
  .jorge-page .result-card__media img{min-height:88px}
  .jorge-page .result-card h4{font-size:1.02rem;margin-bottom:6px}
  .jorge-page .result-card p{font-size:.64rem}
  .jorge-page .result-card--has-media > div,
  .jorge-page .result-card:not(.result-card--has-media) > div{
    grid-template-columns:minmax(0,1fr) auto;
    column-gap:7px;
  }
  .jorge-page .status{grid-column:1; margin-top:9px}
  .jorge-page .result-card__save.dhta-festival-save{grid-column:1/-1;justify-self:stretch;margin-top:9px}
  .jorge-page .result-card__detail{grid-column:1/-1;justify-self:stretch;margin-top:0}
  .jorge-page .result-card__save.dhta-festival-save,
  .jorge-page .result-card__detail{min-height:38px}
}

/* PHASE 25 — RESULT NUMBER LINKED TO MAP PINS */

.jorge-page .result-card__number{
  position:absolute;
  z-index:4;
  top:14px;
  left:14px;
  right:auto;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:50%;
  background:rgba(15,95,92,.94);
  color:#fff;
  font:700 .72rem/1 Jost,sans-serif;
  box-shadow:0 5px 14px rgba(15,70,68,.16);
  pointer-events:none;
}
.jorge-page .result-card--has-media .result-card__number{
  top:14px;
  left:14px;
  right:auto;
}
.jorge-page .result-card--numbered:not(.result-card--has-media) > div{
  padding-left:46px;
  min-width:0;
}
@media (max-width:560px){
  .jorge-page .result-card__number{top:12px;left:12px;right:auto;width:28px;height:28px;font-size:.68rem}
  .jorge-page .result-card--has-media .result-card__number{top:12px;left:12px}
  .jorge-page .result-card--numbered:not(.result-card--has-media) > div{padding-left:42px}
}

/* ============================================================
   PHASE 22 — FESTIVAL MEDIA FIT + LIGHTBOX
   Media keeps its native orientation: portrait visuals use a portrait frame,
   landscape visuals use a landscape frame. Images are never cropped.
   ============================================================ */
.jorge-page .result-card__media{
  aspect-ratio:var(--media-ratio,1);
  height:auto;
  min-height:0;
  display:block;
  overflow:hidden;
  background:#eef1ea;
}
.jorge-page .result-card__media-button{
  position:relative;
  display:flex;
  width:100%;
  height:100%;
  min-height:0;
  padding:0;
  margin:0;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:0;
  border-radius:inherit;
  background:#eef1ea;
  color:inherit;
  cursor:zoom-in;
}
.jorge-page .result-card__media-button:focus-visible{outline:2px solid var(--j-primary);outline-offset:-3px}
.jorge-page .result-card__media img{
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  object-fit:contain;
  object-position:center center;
  background:#eef1ea;
}
.jorge-page .result-card__credit{
  position:absolute;
  left:8px;
  right:8px;
  bottom:7px;
  z-index:2;
  margin:0;
  padding:4px 7px;
  border-radius:8px;
  background:rgba(255,253,249,.86);
  color:var(--j-muted);
  font-size:.47rem;
  line-height:1.2;
  text-align:left;
  backdrop-filter:blur(5px);
}
.festival-media-lightbox{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px}
.festival-media-lightbox[hidden]{display:none}
.festival-media-lightbox__backdrop{position:absolute;inset:0;background:rgba(15,44,43,.72);backdrop-filter:blur(8px)}
.festival-media-lightbox__panel{position:relative;z-index:1;display:grid;grid-template-rows:minmax(0,1fr) auto;width:min(94vw,1100px);height:auto;max-height:96vh;padding:14px;border:1px solid rgba(255,255,255,.22);border-radius:24px;background:rgba(255,253,249,.97);box-shadow:0 30px 100px rgba(15,44,43,.32)}
.festival-media-lightbox__frame{min-height:0;max-height:calc(96vh - 72px);display:grid;place-items:center;border-radius:16px;background:#eef1ea;overflow:auto}
.festival-media-lightbox__image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center center}
.festival-media-lightbox__close{position:absolute;top:10px;right:10px;z-index:2;width:40px;height:40px;border:1px solid rgba(24,49,47,.16);border-radius:50%;background:rgba(255,253,249,.94);color:var(--j-ink);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 7px 18px rgba(15,70,68,.14)}
.festival-media-lightbox__close:focus-visible{outline:2px solid var(--j-primary);outline-offset:3px}
.festival-media-lightbox__title{margin:10px 4px 2px;color:var(--j-muted);font-size:.68rem;line-height:1.35;text-align:center}
body.festival-media-lightbox-open{overflow:hidden}

/* ============================================================
   PHASE 19 — RENDEZ-VOUS RESPONSIVE REPAIR
   Surgical visual correction after Phase 18.
   No data, event, save, retrieval or application logic changed.
   The result cards must never force horizontal overflow.
   ============================================================ */
.jorge-page .results-panel{container-type:inline-size}
.jorge-page .result-card__save.dhta-festival-save,
.jorge-page .result-card__detail{min-width:0}
.jorge-page .result-card__detail{max-width:100%}

@container (max-width: 720px){
  .jorge-page .timeline{padding:14px}
  .jorge-page .result-card,
  .jorge-page .result-card--has-media,
  .jorge-page .result-card:not(.result-card--has-media){
    grid-template-columns:minmax(0,1fr);
    gap:0;
    padding:16px;
    border-radius:20px;
  }
  .jorge-page .result-card__media{
    grid-column:1;
    width:100%;
    height:auto;
    min-height:0;
    margin:0 0 16px;
    border-radius:16px;
  }
  .jorge-page .result-card__media img{
    width:100%;
    height:100%;
    min-height:0;
    object-fit:contain;
    object-position:center center;
  }
  .jorge-page .result-card--has-media > div,
  .jorge-page .result-card:not(.result-card--has-media) > div{
    grid-template-columns:minmax(0,1fr);
    gap:0;
    min-width:0;
  }
  .jorge-page .result-card h4{
    font-size:clamp(1.18rem,4.8cqw,1.5rem);
    line-height:1.08;
    margin-bottom:9px;
  }
  .jorge-page .result-card p{font-size:.69rem;line-height:1.45}
  .jorge-page .status{
    grid-column:1;
    width:max-content;
    max-width:100%;
    margin-top:13px;
  }
  .jorge-page .result-card__save.dhta-festival-save,
  .jorge-page .result-card__detail{
    grid-column:1;
    justify-self:stretch;
    width:100%;
    max-width:100%;
    min-height:44px;
    margin-top:10px;
    padding-inline:14px;
    white-space:normal;
    text-align:center;
  }
  .jorge-page .result-card__detail{margin-top:8px}
}

@container (max-width: 420px){
  .jorge-page .timeline{padding:10px}
  .jorge-page .result-card{padding:14px;border-radius:18px}
  .jorge-page .result-card__media{margin-bottom:14px;border-radius:14px}
  .jorge-page .result-card h4{font-size:1.16rem}
  .jorge-page .result-card p{font-size:.66rem}
}



/* PHASE 30 — MAP PIN COLLISION VISIBILITY */
/* Number badges remain in a fixed top-left position; map pins are separated in JS when
   different focusPoints resolve to the same projected coordinates. */

.community-form__privacy-note{margin:0.5rem 0 0;color:var(--jorge-muted,#6d756f);font-size:.78rem;line-height:1.5}.community-form__privacy-note a{color:inherit;text-underline-offset:2px}

/*
   JORGE — Island relief premium softening
   The island contour remains the Miguel-parity outline; only the relief artwork
   is visually softened so the islands read lighter, calmer and more premium.
*/
.jorge-page .island img{
  filter:brightness(1.22) saturate(.68) contrast(.93)
    drop-shadow(1.5px 0 0 var(--j-island-outline))
    drop-shadow(-1.5px 0 0 var(--j-island-outline))
    drop-shadow(0 1.5px 0 var(--j-island-outline))
    drop-shadow(0 -1.5px 0 var(--j-island-outline))
    drop-shadow(1.1px 1.1px 0 var(--j-island-outline))
    drop-shadow(-1.1px 1.1px 0 var(--j-island-outline))
    drop-shadow(1.1px -1.1px 0 var(--j-island-outline))
    drop-shadow(-1.1px -1.1px 0 var(--j-island-outline))
    drop-shadow(0 12px 14px rgba(13,57,59,.12));
}
.jorge-page .island-focus__visual img{
  filter:brightness(1.22) saturate(.68) contrast(.93)
    drop-shadow(1.5px 0 0 var(--j-island-outline))
    drop-shadow(-1.5px 0 0 var(--j-island-outline))
    drop-shadow(0 1.5px 0 var(--j-island-outline))
    drop-shadow(0 -1.5px 0 var(--j-island-outline))
    drop-shadow(1.1px 1.1px 0 var(--j-island-outline))
    drop-shadow(-1.1px 1.1px 0 var(--j-island-outline))
    drop-shadow(1.1px -1.1px 0 var(--j-island-outline))
    drop-shadow(-1.1px -1.1px 0 var(--j-island-outline))
    drop-shadow(0 24px 26px rgba(13,57,59,.15));
}
.jorge-page .territory-card img{
  filter:brightness(1.08) saturate(.78) contrast(.96)
    drop-shadow(1.5px 0 0 var(--j-island-outline))
    drop-shadow(-1.5px 0 0 var(--j-island-outline))
    drop-shadow(0 1.5px 0 var(--j-island-outline))
    drop-shadow(0 -1.5px 0 var(--j-island-outline))
    drop-shadow(1.1px 1.1px 0 var(--j-island-outline))
    drop-shadow(-1.1px 1.1px 0 var(--j-island-outline))
    drop-shadow(1.1px -1.1px 0 var(--j-island-outline))
    drop-shadow(-1.1px -1.1px 0 var(--j-island-outline))
    drop-shadow(0 10px 14px rgba(15,70,68,.11));
}
