/* Second design pass: shared colour, composition and motion systems. */
:root,html[data-theme="classic"] {
  --accent:#c9432d; --accent-hover:#a93222; --accent-soft:#f8e9e3;
  --accent-light:#ffad8d; --accent-rgb:201,67,45; --secondary:#f4b740;
  --red:var(--accent); --teal:var(--accent); --saffron:var(--secondary);
  --duration-fast:180ms; --duration-medium:360ms; --duration-slow:720ms;
  --ease-standard:cubic-bezier(.2,.7,.2,1); --ease-emphasized:cubic-bezier(.16,1,.3,1);
}
html[data-theme="teal"] {--accent:#087f78;--accent-hover:#05635e;--accent-soft:#e2f0ec;--accent-light:#87ded0;--accent-rgb:8,127,120;--secondary:#e3a934}
html[data-theme="marina"] {--accent:#176b87;--accent-hover:#12536a;--accent-soft:#e4eff5;--accent-light:#8bcbe4;--accent-rgb:23,107,135;--secondary:#e9a23b}
html[data-theme="heritage"] {--accent:#74425c;--accent-hover:#583045;--accent-soft:#f0e6eb;--accent-light:#e5b1ce;--accent-rgb:116,66,92;--secondary:#d99a45}
body {background:#fffdf9;overflow-anchor:none}
main {animation:page-arrive 220ms ease-out}
h1,h2,h3 {text-wrap:balance}
::selection {background:var(--accent);color:white}
a,button,input,textarea,select {transition:color var(--duration-fast),background-color var(--duration-medium),border-color var(--duration-medium),box-shadow var(--duration-medium),transform var(--duration-medium) var(--ease-emphasized)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {outline:3px solid var(--accent);outline-offset:4px}
.eyebrow {font-size:.75rem;letter-spacing:.14em}
.route-motif {position:absolute;width:620px;height:430px;right:-100px;top:10%;color:var(--accent);opacity:.13;pointer-events:none}
.section {padding-block:84px}
.section-head {margin-bottom:26px}
.section-head h2 {font-size:clamp(2.2rem,3.8vw,3.6rem)}
.section-note {font-size:1rem}
.text-link {gap:12px}
.text-link:hover {color:var(--accent)}
.text-link:active {transform:scale(.98)}
.button {position:relative;isolation:isolate;overflow:hidden;border-radius:4px;min-height:50px;gap:18px;background:var(--accent);font-size:.875rem;padding:14px 23px;box-shadow:0 3px 0 #081a2c06;transition:background var(--duration-medium),color var(--duration-medium),box-shadow var(--duration-medium),transform var(--duration-fast) var(--ease-standard)}
.button:before {content:"";position:absolute;inset:0;z-index:-1;background:#ffffff12;transform:translateX(-110%) skewX(-15deg);transition:transform 480ms var(--ease-emphasized)}
.button-arrow,.button>span[aria-hidden] {display:inline-block;transition:transform var(--duration-medium) var(--ease-emphasized)}
.button:hover {background:var(--navy);box-shadow:0 8px 20px #081a2c22;transform:translateY(-2px)}
.button:hover:before {transform:translateX(0) skewX(0)}
.button:hover .button-arrow,.button:hover>span[aria-hidden] {transform:translate(4px,-1px)}
.button.secondary:hover {background:var(--navy);color:white;border-color:var(--navy)}
.button.dark:hover {background:var(--accent);color:white}
.button.light:hover {background:var(--secondary);color:var(--navy)}
.button.outline-light:hover {background:white;color:var(--navy);border-color:white}
.button:active,.button.secondary:active,.button.dark:active,.button.light:active,.chip:active {transform:translateY(0) scale(.97);box-shadow:0 1px 3px #081a2c22}
.button:disabled,.button[aria-disabled="true"] {opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.button:disabled:before {display:none}
button:not(.button):active {transform:scale(.97)}
.menu-toggle:hover,.dialog-close:hover {background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.nav-disclosure:hover {color:var(--accent)}
button:disabled {opacity:.45;cursor:not-allowed}
.site-header {background:#fffdf9f5;backdrop-filter:blur(12px)}
.header-inner {min-height:88px;transition:min-height var(--duration-medium)}
.site-header.scrolled .header-inner {min-height:72px}
.site-header.scrolled {box-shadow:0 6px 24px #081a2c16}
.main-nav {gap:20px}
.main-nav>.button {padding:11px 15px;min-height:44px}
.dropdown-panel {padding:13px;box-shadow:0 14px 38px #081a2c1a;border-top:2px solid var(--accent);animation:popover-in 180ms var(--ease-emphasized)}
.dropdown-panel a {border-radius:3px}
.dropdown-panel a:hover {background:var(--accent-soft);color:var(--accent);transform:translateX(3px)}
.nav-disclosure.active-nav:after {content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--accent)}
.theme-picker {position:relative}
.theme-toggle {display:flex;align-items:center;justify-content:center;gap:12px;width:44px;height:44px;border:1px solid #d4d9d4;background:transparent;border-radius:50%;color:var(--navy)}
.theme-toggle>span {display:none}
.theme-toggle svg {width:22px;height:22px}
.theme-toggle:hover,.theme-toggle[aria-expanded="true"] {background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.theme-toggle:active {transform:scale(.95)}
.theme-popover {position:absolute;right:0;top:calc(100% + 18px);width:290px;background:#fffdf9;border:1px solid #d9ded9;border-top:3px solid var(--accent);border-radius:6px;padding:23px;box-shadow:0 18px 60px #081a2c26;z-index:60;animation:popover-in 180ms var(--ease-emphasized)}
.theme-popover h2 {font-size:1.7rem;margin-bottom:18px}
.theme-popover .eyebrow {font-size:.61rem;margin-bottom:7px}
.theme-option {width:100%;display:flex;align-items:center;gap:12px;background:transparent;border:1px solid transparent;min-height:48px;padding:9px;font-size:.82rem;text-align:left}
.theme-option:hover {background:var(--accent-soft)}
.theme-option[aria-checked="true"] {border-color:var(--accent);background:var(--accent-soft)}
.theme-swatch {width:23px;height:23px;border-radius:50%;flex-shrink:0;border:3px solid white;box-shadow:0 0 0 1px #081a2c18}
.swatch-classic {background:#c9432d}.swatch-teal {background:#087f78}.swatch-marina {background:#176b87}.swatch-heritage {background:#74425c}
.theme-check {margin-left:auto;opacity:0;color:var(--accent)}
[aria-checked="true"]>.theme-check {opacity:1}
.theme-hint {font-size:.72rem;margin:14px 0 0;line-height:1.5}
.scroll-progress {position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;pointer-events:none}
.scroll-progress>span {display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.scroll-top {position:fixed;right:28px;bottom:calc(28px + env(safe-area-inset-bottom));width:49px;height:49px;border-radius:50%;border:1px solid #ffffff45;background:var(--navy);color:white;box-shadow:0 6px 24px #081a2c33;z-index:42;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(12px) scale(.8);transition:opacity 240ms,transform 240ms,background 240ms,visibility 240ms}
.scroll-top.is-visible {opacity:1;visibility:visible;transform:none}
.scroll-top:hover {background:var(--accent);transform:translateY(-3px)}
.scroll-top svg {transition:transform 240ms}
.scroll-top:hover svg {transform:translateY(-3px)}
.scroll-top:active {transform:scale(.95)}
.menu-open .scroll-top {visibility:hidden;opacity:0}

/* Full-bleed opening with a persistent, lightweight photographic poster. */
.cinema-hero {position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:white}
.cinema-media {position:absolute;inset:-6% 0;z-index:-3;background:var(--navy)}
.cinema-media img {width:100%;height:100%;object-fit:cover;object-position:center 65%;filter:saturate(.82);will-change:transform}
.cinema-shade {position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#051626f2 0%,#061929bd 39%,#07192736 78%),linear-gradient(0deg,#061626ed 0%,#06162600 55%),radial-gradient(ellipse at 3% 80%,rgba(var(--accent-rgb),.25),transparent 55%)}
.cinema-hero:after {content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.22' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.065;pointer-events:none;z-index:-1}
.cinema-hero>.route-motif {color:white;opacity:.12;top:auto;bottom:0;right:-80px;z-index:-1}
.cinema-inner {position:relative;min-height:660px;padding-top:65px;padding-bottom:98px;display:flex;align-items:center}
.cinema-copy {max-width:810px;position:relative;z-index:2}
.cinema-copy .eyebrow {color:var(--accent-light);font-size:.7rem;display:flex;align-items:center;gap:12px;margin-bottom:24px}
.hero-intro>span {font-size:28px;line-height:1}
.cinema-copy h1 {font-size:clamp(4.3rem,7.7vw,7.8rem);line-height:1.01;letter-spacing:-.058em;margin-bottom:27px;text-wrap:initial}
.hero-line {display:block;overflow:hidden;padding-bottom:.11em;margin-bottom:-.08em}
.hero-line>span,.hero-line>em {display:block;animation:line-reveal 760ms var(--ease-emphasized) both}
.hero-line:nth-child(2)>em {animation-delay:100ms;color:var(--accent-light)}
.cinema-tagline {color:white;font-size:1.1rem;font-weight:600;margin-bottom:10px}
.cinema-description {color:#dae3e8;font-size:1rem;max-width:550px;line-height:1.8;margin-bottom:26px}
.cinema-actions {gap:13px}
.cinema-actions .outline-light {border-color:#c3cdd980}
.hero-topics {display:flex;align-items:center;gap:14px;font-size:.75rem;color:#dce5e9;margin-top:28px}
.hero-topics a {min-height:35px;display:inline-flex;align-items:center}
.hero-topics a:hover {color:var(--accent-light)}
.hero-topics>span {color:#8295a4}
.hero-intro {animation:hero-up 600ms var(--ease-emphasized) both}
.cinema-tagline,.cinema-description {animation:hero-up 650ms var(--ease-emphasized) 180ms both}
.cinema-actions {animation:hero-up 650ms var(--ease-emphasized) 270ms both}
.hero-topics {animation:hero-up 650ms var(--ease-emphasized) 350ms both}
.cinema-note {position:absolute;right:0;bottom:125px;width:285px;padding:23px;border:1px solid #ffffff35;background:#081a2c9e;border-radius:5px;backdrop-filter:blur(8px);animation:hero-up 700ms var(--ease-emphasized) 350ms both;transition:border-color 300ms,transform 300ms,background 300ms}
.cinema-note:hover {color:white;background:#081a2cda;border-color:var(--accent-light);transform:translateY(-5px)}
.note-index {font-size:.59rem;letter-spacing:.13em;color:#dce2e6}
.cinema-note strong {display:block;font:1.85rem/1.15 var(--serif);margin:15px 0 20px}
.note-bottom {display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:.72rem;line-height:1.6;color:#dee7ed}
.note-bottom .button-arrow {font-size:1.3rem;color:var(--accent-light)}
.cinema-note:hover .button-arrow {transform:translate(3px,-3px)}
.cinema-baseline {position:absolute;bottom:0;left:0;right:0;min-height:68px;border-top:1px solid #ffffff35;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#dce3e9;font-size:.65rem;letter-spacing:.1em}
.cinema-baseline>a {display:inline-flex;gap:30px;align-items:center;min-height:44px;font-size:.76rem;letter-spacing:0}
.cinema-baseline>a:hover {color:var(--accent-light)}
.cinema-baseline>a>span {font-size:1.3rem}
.quick-section {background:#fffdf9;position:relative;padding-block:27px;border-top:0;box-shadow:0 13px 25px -24px #081a2c66}
.quick-section>a {border-radius:3px;transition:background 250ms,color 250ms,transform 250ms}
.quick-section>a:hover {background:var(--accent-soft);transform:translateY(-3px)}

/* Inner pages share media treatments, with wide and asymmetrical variants. */
.page-hero.media-hero {width:100%;margin:0 0 52px;padding:0;position:relative;isolation:isolate;overflow:hidden;background:#f1eee6}
.hero-media {position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-media>img {width:100%;height:100%;object-fit:cover;object-position:center 64%;animation:image-settle 850ms var(--ease-emphasized) both}
.hero-media-shade {position:absolute;inset:0}
.inner-hero-layout {position:relative;display:flex;align-items:center;min-height:530px;padding-block:28px 45px}
.inner-hero-copy {max-width:850px}
.inner-hero-copy .breadcrumb {margin-bottom:25px}
.inner-hero-copy .eyebrow {font-size:.7rem;margin-bottom:19px;animation:hero-up 650ms var(--ease-emphasized) both}
.inner-hero-copy h1 {font-size:clamp(3rem,5vw,4.8rem);line-height:1.06;animation:hero-up 700ms var(--ease-emphasized) 70ms both}
.inner-hero-copy .lead {font-size:1rem;max-width:650px;margin-bottom:22px;animation:hero-up 750ms var(--ease-emphasized) 140ms both}
.hero-location {font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.hero-wide {color:white}
.hero-wide .hero-media-shade {background:linear-gradient(90deg,#061828eb 0%,#07192cc4 40%,#081a2c3d),linear-gradient(0deg,#081a2caa,transparent)}
.hero-wide .eyebrow,.hero-wide h1 em {color:var(--accent-light)}
.hero-wide .lead,.hero-wide .breadcrumb,.hero-wide .hero-location {color:#e4ebef}
.hero-wide .photo-caption {display:none}
.hero-wide .route-motif {color:#fff;opacity:.17;right:0;top:15%}
.hero-split .inner-hero-copy {width:48%;max-width:610px}
.hero-split .inner-hero-layout {min-height:560px;padding-block:30px 50px}
.hero-split .hero-media {left:54%;right:0;top:30px;bottom:0;border-radius:100px 0 0 0;z-index:0}
.hero-split .hero-media-shade {background:linear-gradient(0deg,#061828c9,transparent 60%)}
.hero-split .inner-hero-copy h1 {font-size:clamp(2.8rem,4.5vw,4.5rem)}
.hero-split .inner-hero-copy .lead {max-width:490px}
.hero-split .route-motif {left:-150px;right:auto;top:25%;opacity:.09}
.hero-split .hero-location {color:var(--accent)}
.photo-caption {position:absolute;bottom:28px;left:32px;right:25px;color:white;font-size:.8rem;letter-spacing:.01em}
.hero-float-tag {position:absolute;left:51%;bottom:70px;width:235px;padding:25px;background:var(--accent);color:white;transform:rotate(-4deg);box-shadow:0 12px 36px #081a2c2c;animation:tag-arrive 800ms var(--ease-emphasized) 180ms both}
.hero-float-tag>span:first-child {font-size:.63rem;letter-spacing:.13em}
.hero-float-tag>strong {font:1.75rem/1.15 var(--serif);display:block;margin:15px 0}
.hero-float-tag>.button-arrow {position:absolute;right:20px;bottom:15px}
.hero-business .photo-caption {left:45%;font-size:.72rem}
.hero-business .inner-hero-layout {min-height:600px}
.edition-marker {position:absolute;right:9%;bottom:58px;width:158px;height:158px;border-radius:50%;border:1px solid var(--secondary);background:var(--navy);color:var(--secondary);font:2rem/1.3 var(--serif);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(8deg);box-shadow:0 0 0 10px #081a2c55}
.edition-marker>span {font:.6rem/2 var(--sans);letter-spacing:.1em}

/* Editorial and discovery cards. */
.story-card {background:white;border:1px solid #e0e4df;border-radius:6px;padding:0 23px 22px;box-shadow:0 6px 25px #081a2c05;position:relative;transition:transform 400ms var(--ease-emphasized),box-shadow 400ms,border-color 400ms}
.story-card>.image-link {margin:0 -23px 0;border-radius:5px 5px 0 0}
.story-card img {transition:transform 650ms var(--ease-emphasized);filter:saturate(.9)}
.story-card .meta {gap:12px;margin-top:18px;flex-wrap:wrap}
.story-card .meta>span:first-child {background:var(--accent-soft);padding:4px 9px;border-radius:3px;font-size:.63rem}
.story-card h3 {font-size:1.7rem}
.home-news {grid-template-columns:1.3fr 1fr;align-items:stretch;gap:25px}
.home-news .story-card:first-child {grid-column:auto;grid-row:span 2;display:block}
.home-news .story-card:first-child .image-link {display:block}
.home-news .story-card:first-child img {height:355px;aspect-ratio:auto;object-position:center 35%;min-height:0}
.home-news .story-card:first-child h3 {font-size:2.3rem;max-width:590px}
.home-news .story-card:not(:first-child) {display:grid;grid-template-columns:150px 1fr;column-gap:22px;padding:22px}
.home-news .story-card:not(:first-child) .image-link {grid-row:1/5;margin:0;border-radius:4px}
.home-news .story-card:not(:first-child) img {height:100%;aspect-ratio:auto;min-height:235px;object-fit:cover}
.home-news .story-card:not(:first-child) .meta {margin-top:0}
.home-news .story-card:not(:first-child) h3 {font-size:1.6rem}
.home-news .story-card:not(:first-child) p {font-size:.9rem;line-height:1.7}
.home-news .story-card:not(:first-child) .sample {align-self:end}
.feature-strip {border-radius:8px;box-shadow:0 14px 40px #081a2c0b;background:var(--navy);color:white;border-bottom:4px solid var(--accent)}
.feature-strip>img {height:420px;object-position:center 35%}
.feature-strip .eyebrow {color:var(--accent-light)}
.feature-strip p:not(.eyebrow) {color:#ccd8e0;font-size:1rem}
.feature-strip .text-link {color:var(--accent-light)}
.directory-card,.guide-card,.service-card,.connect-card {border-radius:7px;box-shadow:0 6px 24px #081a2c06;border-color:#dce1dc;overflow:hidden;position:relative;transition:transform 400ms var(--ease-emphasized),box-shadow 400ms,border-color 400ms,background 400ms}
.directory-card:before,.service-card:before,.connect-card:before {content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 400ms var(--ease-emphasized)}
.directory-icon {background:var(--accent-soft);width:54px;height:54px;color:var(--accent);border-radius:14px 14px 14px 3px}
.directory-card .eyebrow {font-size:.7rem}
.directory-card>.sample {top:32px;font-size:.7rem}
.guide-card {background:linear-gradient(155deg,white 55%,var(--accent-soft));border-top:3px solid var(--accent)}
.guide-card>svg,.service-card>svg {background:var(--accent-soft);box-sizing:content-box;padding:13px;border-radius:50%}
.search-form {border-radius:6px;box-shadow:0 7px 22px #081a2c06;transition:box-shadow 250ms,border-color 250ms}
.search-form:focus-within {border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.1)}
.search-form input:focus-visible {outline:none}
.chip {transition:background 250ms,color 250ms,box-shadow 250ms,transform 150ms}
.chip.active {background:var(--accent);border-color:var(--accent);color:white;box-shadow:0 4px 10px rgba(var(--accent-rgb),.16)}
.chip:hover:not(.active) {border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.discovery-section {position:relative;isolation:isolate;background:#eeeae1;padding-block:75px;overflow:hidden}
.discovery-section>.route-motif {top:-80px;opacity:.12}
.discovery-grid {display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:18px;margin-top:32px}
.discovery-card {position:relative;isolation:isolate;min-height:365px;border-radius:6px;overflow:hidden;color:white;background:var(--navy);display:flex;flex-direction:column;justify-content:space-between;padding:25px;transition:transform 400ms var(--ease-emphasized),box-shadow 400ms}
.discovery-card>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 700ms var(--ease-emphasized)}
.discovery-shade {position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#071928ed 0%,#07192840 65%,#07192866);transition:background 400ms}
.discovery-category {font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;border:1px solid #ffffff66;border-radius:3px;padding:5px 10px;align-self:start;background:#081a2c44}
.discovery-copy h3 {font-size:1.85rem;line-height:1.14;color:white;margin-bottom:22px;text-wrap:initial}
.discovery-bottom {display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.72rem;color:#e5edf0}
.discovery-bottom .button-arrow {font-size:1.4rem;color:var(--secondary)}
.discovery-more {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:0;margin-top:30px}
.discovery-more a {display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #cbd0c6;padding-block:16px;min-height:52px;font-size:.85rem}
.discovery-more a>.button-arrow {color:var(--accent)}
.pulse-section {background:var(--navy);color:white;position:relative;overflow:hidden;border:0}
.pulse-section:before {content:"";position:absolute;inset:0;background:radial-gradient(ellipse at right,rgba(var(--accent-rgb),.17),transparent 60%);pointer-events:none}
.pulse-section .wrap {position:relative}
.pulse-section .eyebrow,.pulse-section .text-link {color:var(--accent-light)}
.pulse-card {border-top:1px solid #61727d;padding:25px;background:#ffffff05;border-radius:0 0 5px 5px}
.pulse-card p:not(.eyebrow) {color:#c6d3dc}
.pulse-number {color:var(--accent-light);opacity:.6}
.pulse-card h3 {font-size:1.85rem}
.paper-stage {position:relative;isolation:isolate;background:radial-gradient(ellipse at center,#fffdf4 0%,#e2e5d9 75%);min-height:510px;border-radius:110px 8px 8px 8px;perspective:900px}
.paper-stage:before {content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0 23px,#081a2c0a 23px 24px);opacity:.65}
.paper {transform:rotate(-8deg) rotateY(-10deg);transition:transform 650ms var(--ease-emphasized),box-shadow 650ms;box-shadow:5px 5px 0 #fffdf7,6px 6px 0 #bfc4b7,11px 12px 0 #f1eee0,28px 32px 35px #081a2c25}
.paper-art {background:var(--accent)}
.business-panel {background:linear-gradient(100deg,#081a2c 0%,#081a2ced 55%,#081a2ca6),url('/assets/images/market.webp') center/cover;border-radius:7px;padding:60px;position:relative;overflow:hidden;box-shadow:0 18px 45px #081a2c12}
.business-options {background:#081a2c80;padding:26px;border:1px solid #ffffff24;border-radius:5px}
.community-cta {position:relative;isolation:isolate;overflow:hidden;background:var(--accent);padding-block:68px}
.community-cta:after {content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff26;border-radius:50%;right:8%;top:-110px;box-shadow:0 0 0 70px #ffffff07,0 0 0 140px #ffffff04;z-index:-1}
.community-cta .eyebrow,.community-cta em {color:white}
.community-cta h2 {font-size:3.5rem}
.connect-grid {gap:24px}
.connect-card {padding:40px;background:linear-gradient(135deg,#fffdf9,var(--accent-soft))}
.connect-card:nth-child(2),.connect-card:nth-child(3) {background:white}
.connect-number {font-size:2.4rem;display:inline-flex;justify-content:center;align-items:center;width:66px;height:66px;border:1px solid rgba(var(--accent-rgb),.22);border-radius:50%;margin-bottom:24px}
.connect-card h2 {font-size:2.25rem;max-width:380px}
.connect-card strong {display:inline-flex;gap:14px}
.about-feature {position:relative;gap:65px}
.about-feature>img {height:465px;border-radius:7px 90px 7px 7px;box-shadow:18px 18px 0 var(--accent-soft)}
.about-feature h2 {font-size:3.1rem}
.principles {background:linear-gradient(130deg,#eeeee6,var(--accent-soft));position:relative}
.principle-list>div {position:relative;padding-block:30px}
.principle-list>div>span {background:var(--accent);color:white;font-size:1rem;width:42px;height:42px;border-radius:50%;display:grid;place-items:center}
.principle-list h3 {font-size:1.95rem}
.advertise-intro {padding-block:35px;background:var(--accent-soft);border:0;border-radius:6px;padding-inline:35px}
.service-card {background:#fff;padding:33px}
.service-card h3 {font-size:1.85rem}
.plain-card .step {color:var(--accent)}
.contact-layout {gap:55px;grid-template-columns:.85fr 1.15fr;align-items:start}
.contact-photo {margin:0 0 30px;position:relative;overflow:hidden;border-radius:6px}
.contact-photo img {height:270px;object-fit:cover;width:100%}
.contact-photo figcaption {position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#081a2ce0,transparent);padding:28px 18px 14px;color:white;font-size:.65rem}
.contact-aside-note {background:var(--accent-soft);border-left:3px solid var(--accent)}
.form-panel {padding:37px;border-top:4px solid var(--accent);box-shadow:0 15px 45px #081a2c0d;background:#fff;border-radius:6px}
.form-panel h2 {font-size:2.3rem}
.form-grid input,.form-grid select,.form-grid textarea {background:#fcfcf8;border-color:#c2cac5}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus {background:white;border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.08);outline-offset:1px}
.consent input {accent-color:var(--accent)}
.contact-detail>a {display:inline-flex;align-items:center;min-height:44px}
.contact-detail>a:hover {transform:translateX(4px)}
.info-panel {background:var(--accent-soft);border-color:var(--accent);border-radius:6px}
.footer {position:relative;isolation:isolate;overflow:hidden;padding-top:70px}
.footer-watermark {position:absolute;bottom:65px;right:-10px;font:700 clamp(5rem,17vw,20rem)/1 var(--sans);letter-spacing:-.065em;color:#ffffff05;z-index:-1;pointer-events:none;white-space:nowrap}
.footer>.route-motif {opacity:.14;top:0;color:var(--accent-light);z-index:-1}
.footer-grid>div:not(:first-child) a {transition:color 200ms,transform 200ms}
.footer-grid>div:not(:first-child) a:hover {color:var(--accent-light);transform:translateX(4px)}
.footer-phone {font-size:1.3rem;color:var(--accent-light);display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid #ffffff33}
.footer-bottom {padding-block:25px}
.article-image img {box-shadow:0 15px 40px #081a2c0d}
.editorial-note {background:var(--accent-soft);border-color:var(--accent)}
.toast {bottom:calc(28px + env(safe-area-inset-bottom));border-left:3px solid var(--accent-light)}

/* Reveal once: transform for interaction, translate for entrances. */
.motion-item {transition:opacity 650ms var(--ease-emphasized),translate 750ms var(--ease-emphasized),clip-path 850ms var(--ease-emphasized),transform 400ms var(--ease-emphasized),box-shadow 400ms,border-color 400ms,background-color 400ms;transition-delay:var(--reveal-delay,0ms)}
.motion-pending {opacity:0;translate:0 28px}
.motion-visible {opacity:1;translate:0 0}
.motion-image.motion-pending {clip-path:inset(0 85% 0 0)}
.motion-image.motion-visible {clip-path:inset(0 0 0 0)}
.motion-left.motion-pending {translate:-25px 0}
.motion-right.motion-pending {translate:25px 0}
.motion-scale.motion-pending {scale:.98}
.motion-scale.motion-visible {scale:1}

@media(hover:hover) and (pointer:fine) {
  .story-card:hover,.directory-card:hover,.guide-card:hover,.service-card:hover,.connect-card:hover {transform:translateY(-6px);box-shadow:0 16px 35px #081a2c12;border-color:var(--accent)}
  .story-card:hover h3,.connect-card:hover h2 {color:var(--accent)}
  .story-card:hover img,.discovery-card:hover>img {transform:scale(1.045)}
  .directory-card:hover:before,.service-card:hover:before,.connect-card:hover:before {transform:scaleX(1)}
  .discovery-card:hover {color:white;transform:translateY(-5px);box-shadow:0 15px 25px #081a2c22}
  .discovery-card:hover .button-arrow {transform:translate(4px,-3px)}
  .discovery-card:hover .discovery-copy {transform:translateY(-4px)}
  .discovery-copy {transition:transform 400ms var(--ease-emphasized)}
  .paper-stage:hover .paper {transform:rotate(-3deg) rotateY(0) translateY(-6px);box-shadow:5px 5px 0 #fffdf7,6px 6px 0 #bfc4b7,11px 12px 0 #f1eee0,20px 35px 40px #081a2c2a}
}
.connect-card:active,.discovery-card:active,.cinema-note:active {transform:scale(.985)}
@keyframes line-reveal {from{transform:translateY(108%);opacity:.25}to{transform:translateY(0);opacity:1}}
@keyframes hero-up {from{opacity:0;transform:translateY(19px)}to{opacity:1;transform:none}}
@keyframes image-settle {from{transform:scale(1.045)}to{transform:scale(1)}}
@keyframes popover-in {from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@keyframes page-arrive {from{opacity:.9}to{opacity:1}}
@keyframes tag-arrive {from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}

@media(min-width:1600px) {.cinema-inner{min-height:730px}.cinema-note{width:325px}.cinema-media img{object-position:center 70%}}
@media(max-width:1250px) {
  .main-nav{gap:14px}.main-nav>.button{padding-inline:12px}.theme-toggle{width:40px;height:40px}
  .cinema-copy h1{font-size:6.1rem}.cinema-note{width:245px}.cinema-description{max-width:490px}
  .home-news .story-card:not(:first-child){grid-template-columns:115px 1fr;gap:15px;padding:18px}
  .discovery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.discovery-card{padding:20px;min-height:350px}.discovery-copy h3{font-size:1.55rem}
}
@media(max-width:1150px) {
  .main-nav{gap:0}.main-nav>.button{margin-top:15px}.theme-picker{margin-top:10px}
  .theme-toggle{border-radius:4px;width:100%;height:48px;justify-content:start;padding-inline:12px}.theme-toggle>span{display:inline;font-size:.9rem}
  .theme-popover{position:static;margin-top:10px;width:100%;box-shadow:none;padding:18px}
  .theme-popover h2{font-size:1.6rem}.theme-popover [role=radiogroup]{display:grid;grid-template-columns:1fr 1fr;gap:5px}.theme-option{font-size:.82rem}
  .header-inner{min-height:78px}.site-header.scrolled .header-inner{min-height:70px}
}
@media(max-width:1023px) {
  .cinema-inner{min-height:650px;padding-top:55px}.cinema-copy{max-width:600px}.cinema-copy h1{font-size:5.7rem}.cinema-note{display:none}
  .cinema-shade{background:linear-gradient(90deg,#071828ed,#07182880),linear-gradient(0deg,#061626da,transparent)}
  .cinema-baseline>span:last-child{display:none}
  .hero-split .inner-hero-layout{min-height:520px}.hero-split .inner-hero-copy{width:49%}.hero-split .inner-hero-copy h1{font-size:3rem}.hero-split .hero-media{left:56%;border-top-left-radius:70px}
  .hero-float-tag{left:55%;width:200px;bottom:55px;padding:20px}.hero-business .photo-caption{display:none}
  .home-news{grid-template-columns:1fr 1fr}.home-news .story-card:first-child{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;column-gap:25px;padding:24px}
  .home-news .story-card:first-child .image-link{grid-row:1/5;margin:0;border-radius:4px}.home-news .story-card:first-child img{height:100%;min-height:310px}.home-news .story-card:first-child h3{font-size:2rem}
  .home-news .story-card:not(:first-child){display:block;padding:0 23px 22px}.home-news .story-card:not(:first-child) .image-link{margin:0 -23px;border-radius:5px 5px 0 0}.home-news .story-card:not(:first-child) img{height:200px;min-height:0}.home-news .story-card:not(:first-child) .meta{margin-top:17px}
  .discovery-grid{grid-template-columns:1fr 1fr}.discovery-card{min-height:335px;padding:26px}.discovery-copy h3{font-size:2rem}
  .contact-layout{gap:35px}.form-panel{padding:26px}.about-feature{gap:40px}.about-feature h2{font-size:2.5rem}
  .business-panel{padding:40px;gap:25px}.business-options{padding:20px}.pulse-grid{gap:18px}.pulse-card{padding:20px}.pulse-card h3{font-size:1.6rem}
}
@media(max-width:767px) {
  .section{padding-block:53px}.section-head h2{font-size:2.15rem}.section-head .eyebrow{font-size:.66rem}.section-note{font-size:.94rem}
  .header-inner{min-height:74px}.site-header.scrolled .header-inner{min-height:68px}.site-header{backdrop-filter:none}
  .main-nav{max-height:calc(100dvh - 74px)}.theme-popover [role=radiogroup]{grid-template-columns:1fr}.theme-option{font-size:.9rem;min-height:48px}.theme-toggle{font-size:.94rem}
  .cinema-inner{min-height:670px;padding-top:48px;padding-bottom:88px;align-items:start}
  .cinema-copy h1{font-size:clamp(3.4rem,14vw,5rem);line-height:1.07;letter-spacing:-.055em;margin-bottom:26px}
  .cinema-copy .eyebrow{font-size:.61rem;gap:10px;margin-bottom:29px}.hero-intro>span{font-size:24px}
  .cinema-tagline{font-size:1rem}.cinema-description{font-size:.94rem;line-height:1.8;max-width:390px}.desktop-break{display:none}
  .cinema-shade{background:linear-gradient(180deg,#061827d9 0%,#061827c4 51%,#06182735 77%,#061827e6),linear-gradient(90deg,#081a2c65,transparent)}
  .cinema-media{inset:0}.cinema-media img{object-position:66% center;will-change:auto}
  .cinema-actions{gap:10px}.cinema-actions .button{padding:13px 16px;font-size:.79rem;gap:12px;min-height:49px}
  .hero-topics{gap:8px;flex-wrap:wrap;font-size:.69rem;margin-top:21px}.hero-topics a{min-height:35px}
  .cinema-baseline{font-size:.59rem;gap:12px;min-height:67px}.cinema-baseline>a{font-size:.68rem;gap:10px}.cinema-baseline>a>span{font-size:1.1rem}
  .quick-section{padding-block:11px}.quick-section>a{font-size:.79rem}.quick-section>a:hover{transform:none}
  .page-hero.media-hero{margin-bottom:35px}.inner-hero-layout{min-height:520px;padding-block:17px 40px;align-items:start}
  .inner-hero-copy .breadcrumb{margin-bottom:28px}.inner-hero-copy h1{font-size:clamp(2.6rem,10.5vw,3.7rem)}.inner-hero-copy .eyebrow{font-size:.65rem}.inner-hero-copy .lead{font-size:.94rem;line-height:1.8}
  .hero-wide .inner-hero-layout{min-height:510px}.hero-wide .hero-media>img{object-position:60% center}.hero-wide .hero-media-shade{background:linear-gradient(90deg,#071827ed,#07182798),linear-gradient(0deg,#081a2c45,transparent)}
  .hero-split{display:flex;flex-direction:column}.hero-split .inner-hero-layout{min-height:0;padding-block:16px 35px;order:0}
  .hero-split .inner-hero-copy{width:100%;max-width:none}.hero-split .inner-hero-copy h1{font-size:clamp(2.6rem,10.5vw,3.7rem)}
  .hero-split .hero-media{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:280px;order:1;margin-left:20px;border-radius:55px 0 0 0;z-index:0}
  .hero-split .hero-media>img{object-position:center 65%}.photo-caption{bottom:18px;left:23px;font-size:.74rem}
  .hero-float-tag{left:auto;right:20px;bottom:32px;width:186px;padding:18px;z-index:2}.hero-float-tag>strong{font-size:1.55rem;margin:12px 0}.hero-float-tag>span:first-child{font-size:.57rem}
  .hero-business .hero-media{height:320px}.hero-location{font-size:.64rem}.edition-marker{bottom:30px;right:30px;width:125px;height:125px;font-size:1.7rem}
  .feature-strip>img{height:260px}.feature-strip>div{padding:28px}.feature-strip h2{font-size:2rem}
  .home-news,.news-grid{grid-template-columns:1fr;gap:24px}.home-news .story-card:first-child{display:block;grid-column:auto;padding:0 23px 22px}
  .home-news .story-card:first-child .image-link{margin:0 -23px;border-radius:5px 5px 0 0}.home-news .story-card:first-child img{height:270px;min-height:0}.home-news .story-card:first-child h3{font-size:1.9rem}
  .home-news .story-card:not(:first-child) img{height:215px}.story-card h3{font-size:1.7rem}.story-card p,.home-news .story-card:not(:first-child) p{font-size:1rem}
  .discovery-section{padding-block:50px}.discovery-section .section-head{display:block}.discovery-section .section-head .button{margin-top:20px}
  .discovery-grid{gap:12px;margin-top:25px}.discovery-card{min-height:265px;padding:16px 14px}.discovery-copy h3{font-size:1.5rem;margin-bottom:15px}.discovery-copy h3 br{display:none}
  .discovery-category{font-size:.59rem;padding:5px 7px;letter-spacing:.08em}.discovery-bottom{font-size:.66rem;line-height:1.4;gap:5px}.discovery-bottom .button-arrow{font-size:1.2rem}
  .discovery-more{grid-template-columns:1fr 1fr;column-gap:22px;margin-top:20px}.discovery-more a{font-size:.78rem}
  .directory-card{padding:26px}.directory-card>.sample{top:32px;right:23px}.guide-card,.service-card{padding:27px}.service-card h3{font-size:1.8rem}
  .pulse-grid{grid-template-columns:1fr;gap:20px}.pulse-card{padding:23px}.pulse-card h3{font-size:1.8rem}
  .paper-stage{min-height:445px;padding:43px;border-top-left-radius:65px}.paper{max-width:100%}.epaper-teaser{gap:35px}
  .business-panel{padding:30px 25px;grid-template-columns:1fr;gap:25px;background-position:65% center}.business-options{padding:19px}.business-panel h2{font-size:2.5rem}
  .community-cta{padding-block:48px}.community-cta h2{font-size:2.7rem}.community-cta .eyebrow{font-size:.64rem}.cta-actions .button{font-size:.78rem}
  .connect-card{padding:30px}.connect-card h2{font-size:2rem}.connect-number{font-size:1.8rem;width:55px;height:55px}
  .about-feature{gap:35px}.about-feature>img{height:330px;border-top-right-radius:65px;box-shadow:10px 10px 0 var(--accent-soft)}
  .principle-list h3{font-size:1.6rem}.principle-list>div{grid-template-columns:42px 1fr}.principle-list>div>span{width:35px;height:35px;font-size:.85rem}
  .advertise-intro{padding:25px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-photo img{height:250px}
  .form-panel{padding:28px 21px}.form-panel h2{font-size:2rem}.form-grid input,.form-grid textarea,.form-grid select{font-size:16px}
  .footer{padding-top:45px}.footer-watermark{font-size:5.3rem;bottom:120px;right:-3px;color:#ffffff05}.footer-phone{font-size:1.24rem}.footer-grid{gap:28px 13px}
  .footer-grid>div:not(:first-child) a{font-size:.81rem}.footer-bottom{font-size:.7rem}.footer>.route-motif{width:450px;right:-160px;opacity:.09}
  .scroll-top{width:44px;height:44px;right:12px;bottom:calc(18px + env(safe-area-inset-bottom));box-shadow:0 4px 15px #081a2c24}
  .toast{bottom:75px;font-size:.83rem}.route-motif{max-width:600px}
  .motion-pending{translate:0 18px}.motion-left.motion-pending,.motion-right.motion-pending{translate:0 18px}
}
@media(max-width:359px) {
  .cinema-copy h1{font-size:3.35rem}.cinema-copy .eyebrow{font-size:.55rem}.cinema-actions .button{font-size:.72rem;padding-inline:12px;gap:8px}.cinema-inner{min-height:660px}
  .hero-topics{font-size:.65rem;gap:6px}.cinema-baseline{font-size:.54rem}.cinema-baseline>a{font-size:.6rem;gap:5px}
  .inner-hero-copy h1,.hero-split .inner-hero-copy h1{font-size:2.55rem}.discovery-grid{gap:10px}.discovery-card{padding:14px 12px;min-height:265px}.discovery-copy h3{font-size:1.32rem}.discovery-bottom{font-size:.61rem}.discovery-category{font-size:.54rem}
  .footer-grid>div:not(:first-child) a{font-size:.75rem}.business-panel h2{font-size:2.2rem}.theme-option{font-size:.85rem}
}
@media(prefers-reduced-motion:reduce) {
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .motion-item,.motion-pending,.motion-image.motion-pending{opacity:1!important;translate:none!important;scale:1!important;clip-path:none!important}
  .cinema-media img,.hero-line>span,.hero-line>em,.hero-media>img{transform:none!important;will-change:auto}
  .story-card:hover img,.discovery-card:hover img,.paper-stage:hover .paper{transform:none!important}
}

.social-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin:18px 0;font-size:.9rem;font-weight:600}.social-links a{display:inline-block;padding:6px 0}
