/* Premium refinement. Approved display fonts and title compositions remain in cinematic.css. */
:root{--ui-fast:160ms;--ui-normal:220ms;--ui-ease:cubic-bezier(.22,1,.36,1);--reading-measure:62ch}
.small-note,.source-note,.map-disclaimer{font-size:12px;line-height:1.75}
.eyebrow{font-weight:650}
.index-copy>p:last-child,.collection-cover-caption>p:not(.eyebrow),.field-note p{line-height:1.8}
.prose{max-width:var(--reading-measure);line-height:1.9}
.prose p{max-width:var(--reading-measure)}
.prose .bullet:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor;top:.85em}
.article-byline,.gallery-track figcaption,.results-line,.breadcrumb{font-size:12px;line-height:1.6}
.article-byline,.collection-count,.index-number,.atlas-counter{font-variant-numeric:tabular-nums}
.gallery-track figcaption{align-items:baseline}
.gallery-track figcaption>span{flex-shrink:0}
.header-tools{gap:22px}
.header-map,.trip-link,.menu-button{font-size:13px;font-weight:550}
.menu-button{padding-inline:8px}
.icon-link svg{width:20px;stroke-width:1.5}
.icon-link .vo-icon{fill:currentColor;stroke:none}
.site-header.scrolled{box-shadow:0 1px 0 color-mix(in srgb,var(--paper) 12%,transparent)}
.language-selector nav{border:1px solid var(--line);box-shadow:0 12px 30px color-mix(in srgb,var(--ink) 10%,transparent);padding:10px}
.language-selector nav a{font-family:var(--body);font-size:14px;padding:10px 12px}
.language-selector nav a[aria-current]{font-weight:700;border-inline-start:2px solid var(--oasis)}
.language-selector nav a:focus-visible{outline-offset:-2px}
.close-menu,.lightbox-close{gap:12px;min-width:44px;min-height:44px}
.close-menu span{display:inline-flex;font-size:22px}
.menu-regions a{min-height:44px}
.menu-main nav>a{transition:color var(--ui-fast) ease}
.vo-icon{display:inline-block;inline-size:20px;block-size:20px;flex-shrink:0;vertical-align:-.2em;fill:currentColor;pointer-events:none}
.vo-arrow path{stroke-width:1.5}
.button{font-weight:600;letter-spacing:.01em;border-radius:0;gap:24px;transition:background var(--ui-normal) ease,color var(--ui-normal) ease,transform var(--ui-fast) var(--ui-ease)}
.button:active{transform:scale(.985)}
.button:disabled{opacity:.55;cursor:default}
.button .vo-arrow{inline-size:20px;block-size:20px}
.text-link{font-weight:600;gap:28px;transition:border-color var(--ui-fast) ease}
.text-link>span:last-child{transition:transform var(--ui-normal) var(--ui-ease)}
.save-button{font-size:13px;gap:10px}
.save-button:active,.gallery-controls button:active,.reel-buttons button:active{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.save-button:focus-visible,.index-arrow:focus-visible{outline-offset:3px}
.gallery-controls button,.reel-buttons button{transition:background var(--ui-fast) ease,color var(--ui-fast) ease;border-color:currentColor}
.filter-bar{gap:24px;align-items:end}
.filter-bar .search-field{position:relative;min-width:0}
.filter-bar .search-field>.vo-icon{position:absolute;inset-inline-start:0;bottom:16px;color:var(--muted)}
.filter-bar .search-field input{padding-inline-start:32px;font-size:16px}
.filter-bar input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:1}
.filter-bar select{font-size:15px}
.filter-bar:focus-within{border-block-start-color:var(--ink)}
.index-entry>*{min-width:0}
.index-image{height:clamp(200px,17vw,290px)}
.index-copy>.eyebrow{font-size:11px;letter-spacing:1px}
.index-arrow{transition:transform var(--ui-normal) var(--ui-ease)}
.activity-facts>div{min-width:0;flex:1}
.activity-facts strong{overflow-wrap:break-word}
.field-notes-data,.contact-layout>*{min-width:0}
.field-note h3{font-weight:650}
.contact-form label{font-size:14px;font-weight:600}
.contact-form .check{align-items:flex-start;gap:14px;font-size:13px;font-weight:400;line-height:1.75;cursor:pointer}
.contact-form .check>span{flex:1;min-width:0}
.contact-form .check input{flex:0 0 20px;inline-size:20px;block-size:20px;margin:3px 0 0}
.contact-form .small-note{margin-top:18px}
.contact-form input:not([type=checkbox]):focus,.contact-form textarea:focus{outline-offset:4px}
.contact-aside>a{min-height:44px;overflow-wrap:anywhere}
.contact-aside>a:is([href^="tel:"],[href^="mailto:"]){direction:ltr;unicode-bidi:isolate}
.faqs summary{padding-inline:0 40px;line-height:1.6}
.faqs summary:after{content:'';inset-inline:auto 2px;width:18px;height:18px;top:24px;background:currentColor;mask:var(--faq-icon) center/contain no-repeat;transition:transform var(--ui-fast) var(--ui-ease)}
.faqs details[open] summary:after{content:'';transform:rotate(45deg)}
.faqs summary::-webkit-details-marker{display:none}
.map-list-item{padding-inline:10px;border-inline-start:2px solid transparent}
.map-list-item.active{border-inline-start-color:var(--clay);background:color-mix(in srgb,var(--ink) 3%,transparent)}
.map-sidebar select{min-height:48px;font-size:16px}
.horizon-node:focus-visible .horizon-ring{stroke-width:3;opacity:1;animation:none;transform:none}
.horizon-node:focus-visible text{text-decoration:underline}
.footer-links nav>a,.footer-bottom a,.footer-bottom button{min-height:44px;display:inline-flex;align-items:center}
.footer-links nav>a{display:flex;font-size:13px;width:fit-content}
.footer-bottom{gap:20px;flex-wrap:wrap;font-size:11px}
.footer-bottom>div{gap:8px 20px;flex-wrap:wrap}
.footer-credit a{text-decoration:underline;text-underline-offset:4px}
.footer-credit{direction:ltr;unicode-bidi:isolate}
.photo-pause{position:absolute;inset-block-start:16px;inset-inline-end:16px;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:12px;border:1px solid var(--paper);background:var(--ink);color:var(--paper);cursor:pointer}
.photo-pause .vo-icon{width:20px;height:20px}
.photo-pause[hidden]{display:none}
.photo-pause:focus-visible{outline:2px solid var(--paper);outline-offset:4px}
@media(hover:hover) and (pointer:fine){
 .index-entry:hover .index-arrow{transform:translate(3px,-3px)}
 .gallery-controls button:hover{background:var(--ink);color:var(--paper)}
 .menu-regions a:hover,.footer-links nav>a:hover{text-decoration:underline;text-underline-offset:5px}
}
@media(hover:none),(pointer:coarse){
 .text-link:hover>span:last-child,.menu-main nav a:hover i{transform:none}
 .index-entry:hover .index-image img,.collection-cover-image:hover img{transform:none}
}
@media(min-width:768px) and (max-width:1100px){
 .filter-bar{flex-wrap:wrap;gap:16px}
 .filter-bar .search-field{flex:1 1 100%}
 .activity-facts{flex-wrap:wrap;gap:24px}
 .activity-facts>div{flex:1 1 35%}
 .field-notes{gap:6%}
 .field-note{grid-template-columns:1fr;gap:8px}
 .map-layout{grid-template-columns:240px minmax(0,1fr);gap:24px}
 .header-note{display:none}
}
@media(max-width:767px){
 .header-tools{gap:8px}
 .menu-button{font-size:12px;gap:10px;padding-inline:4px}
 .language-selector summary{min-width:44px}
 .filter-bar{gap:16px}
 .filter-bar input,.filter-bar select{font-size:16px}
 .results-line{font-size:12px;flex-wrap:wrap;gap:8px 18px}
 .results-line>a{min-height:44px;display:inline-flex;align-items:center}
 .directory-index>.index-entry{grid-template-columns:minmax(0,1fr) 44px;gap:0 12px;padding-block:28px;align-items:center}
 .directory-index>.index-entry .index-image{grid-column:1/-1;height:auto;aspect-ratio:3/2;margin-bottom:20px}
 .directory-index>.index-entry .index-image img{height:100%;object-fit:cover}
 .directory-index>.index-entry .index-copy{grid-column:1;grid-row:2}
 .directory-index>.index-entry .index-copy>.eyebrow{font-size:11px;line-height:1.6}
 .directory-index>.index-entry .index-copy>p:last-child{display:block;font-size:14px;line-height:1.75;margin-top:12px}
 .directory-index>.index-entry .index-arrow{grid-column:2;grid-row:2;align-self:start;margin-top:24px;width:44px;height:44px}
 .onward .index-arrow{width:44px;height:44px}
 .onward .index-entry{grid-template-columns:80px minmax(0,1fr) 44px;gap:14px}
 .article-byline{flex-wrap:wrap;gap:8px 20px;font-size:11px}
 .prose,.type-article .prose{font-size:17px;line-height:1.85}
 .gallery-track figcaption{font-size:12px;line-height:1.6}
 .gallery-item>span{min-height:44px;display:flex;align-items:center;font-size:12px}
 .gallery-controls button{width:48px;height:48px}
 .activity-facts .eyebrow{font-size:10px;line-height:1.6}
 .field-note p,.faqs p{font-size:15px;line-height:1.8}
 .faqs summary{font-size:15px;min-height:64px}
 .footer-links{gap:28px 20px}
 .footer-bottom{font-size:11px;padding-block:18px;gap:8px}
 .footer-bottom>div{gap:0 18px}
 .menu-dialog{padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .language-selector nav{max-height:calc(100dvh - 100px)}
 html[lang=it] .page-intro h1 em{font-size:.78em}
 html[lang=ja] .page-intro h1{font-size:clamp(40px,11vw,68px)}
 html[lang=ja] .footer-intro>a{font-size:clamp(28px,8.5vw,52px);line-height:1.25}
 html[lang=it] .footer-intro>a{font-size:17vw}
}
@media(max-width:374px){
 .header-tools{gap:4px}
 .menu-button{gap:6px}
 .onward .index-entry{grid-template-columns:68px minmax(0,1fr) 44px;gap:10px}
 .onward .index-copy h3{font-size:26px}
}
@media(prefers-reduced-motion:reduce){
 .button,.index-arrow,.faqs summary:after,.text-link>span:last-child{transition:none}
 .button:active,.index-entry:hover .index-arrow{transform:none}
}
@media print{.directory-index>.index-entry{break-inside:avoid}.footer-credit{display:none}}

:root{--faq-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22currentColor%22%3E%3Cpath%20d%3D%22M222%2C128a6%2C6%2C0%2C0%2C1-6%2C6H134v82a6%2C6%2C0%2C0%2C1-12%2C0V134H40a6%2C6%2C0%2C0%2C1%2C0-12h82V40a6%2C6%2C0%2C0%2C1%2C12%2C0v82h82A6%2C6%2C0%2C0%2C1%2C222%2C128Z%22%2F%3E%3C%2Fsvg%3E")}
