
/* IMPERION front door v1 — progressive enhancement over the preserved legacy site.
   This stylesheet has no effect until the new UI is actually mounted. */
html[data-imperion-frontdoor="ready"] body > :not(#imperion-frontdoor):not(script) { display:none !important; }
html[data-imperion-frontdoor="ready"] body { margin:0 !important; background:#091624 !important; }
#imperion-frontdoor, #imperion-frontdoor * { box-sizing:border-box; }
#imperion-frontdoor { --fd-ink:#ebf5ef; --fd-muted:#b9c9ca; --fd-gold:#f3cf8f; --fd-mint:#b6edc8; --fd-border:#42606a; --fd-deep:#091624; --fd-panel:#102635; color:var(--fd-ink); width:100%; min-height:100vh; font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif; }
#imperion-frontdoor a { color:inherit; text-decoration:none; }
#imperion-frontdoor button { font:inherit; cursor:pointer; }
#imperion-frontdoor :focus-visible { outline:3px solid #ffda9a; outline-offset:3px; }
#imperion-frontdoor .fd-shell { width:min(1320px,calc(100% - 48px)); margin:auto; }
#imperion-frontdoor .fd-header { height:78px; position:absolute; top:0; left:0; right:0; z-index:5; display:flex; align-items:center; border-bottom:1px solid #e5f5e51c; background:linear-gradient(#071522c9,#07152233); }
#imperion-frontdoor .fd-header-inner { display:flex; align-items:center; gap:30px; justify-content:space-between; }
#imperion-frontdoor .fd-logo { display:flex; align-items:center; gap:11px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; font-size:14px; white-space:nowrap; }
#imperion-frontdoor .fd-logo-mark { display:grid; place-items:center; width:35px; height:35px; border:1px solid #e8d5a1aa; border-radius:50%; font-family:Georgia,serif; font-size:22px; color:var(--fd-gold); line-height:1; }
#imperion-frontdoor .fd-directions { display:flex; align-items:center; justify-content:center; flex:1; gap:clamp(12px,2.6vw,36px); color:#d8e6dc; font-size:12px; font-weight:700; letter-spacing:.015em; }
#imperion-frontdoor .fd-directions span { white-space:nowrap; }
#imperion-frontdoor .fd-languages { display:flex; gap:3px; padding:3px; border:1px solid #ffffff52; border-radius:30px; background:#0d1c2fc7; }
#imperion-frontdoor .fd-languages button { min-width:36px; min-height:35px; padding:0 5px; color:#dcebe8; background:none; border:0; font-size:11px; font-weight:850; border-radius:22px; letter-spacing:.04em; }
#imperion-frontdoor .fd-languages button[aria-pressed="true"] { color:#0b2531; background:var(--fd-gold); }
#imperion-frontdoor .fd-hero { isolation:isolate; min-height:100svh; height:max(690px,100svh); display:flex; position:relative; overflow:hidden; background:#122b31; }
#imperion-frontdoor .fd-mosaic { position:absolute; inset:0; display:grid; grid-template-columns:1fr 1.08fr 1fr; z-index:-3; }
#imperion-frontdoor .fd-mosaic span { background-size:cover; background-position:50% 40%; display:block; filter:saturate(.87); }
#imperion-frontdoor .fd-mosaic span:nth-child(1) { background-image:url('images/druzina_larp.webp'); background-position:51% 44%; }
#imperion-frontdoor .fd-mosaic span:nth-child(2) { background-image:url('images/walkers_cave.webp'); background-position:48% 45%; }
#imperion-frontdoor .fd-mosaic span:nth-child(3) { background-image:url('images/portrait_face.webp'); background-position:55% 22%; }
#imperion-frontdoor .fd-hero:before { content:''; position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,#08142099 0%,#08162278 29%,#05121be3 80%,#091624 100%),linear-gradient(90deg,#06162591 0%,#07152333 50%,#06162591 100%); }
#imperion-frontdoor .fd-hero:after { content:''; position:absolute; bottom:-16%; left:50%; transform:translateX(-50%); height:68%; width:72%; background:#24595a55; filter:blur(110px); z-index:-1; pointer-events:none; }
#imperion-frontdoor .fd-hero-inner { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:126px 0 85px; }
#imperion-frontdoor .fd-eyebrow { font-weight:850; letter-spacing:.24em; text-transform:uppercase; color:var(--fd-gold); font-size:12px; }
#imperion-frontdoor .fd-hero h1 { color:#fffdf3; font-family:Georgia,'Times New Roman',serif; font-size:clamp(49px,7.1vw,108px); font-weight:500; letter-spacing:-.055em; line-height:1.04; margin:22px 0 18px; max-width:990px; text-wrap:balance; text-shadow:0 3px 22px #030a19cc; }
#imperion-frontdoor .fd-hero h1 span { color:var(--fd-gold); display:block; }
#imperion-frontdoor .fd-lede { color:#e0ecea; font-size:clamp(17px,1.6vw,21px); margin:0 0 35px; max-width:670px; text-wrap:balance; text-shadow:0 2px 14px #061321; }
#imperion-frontdoor .fd-hero-cta { display:inline-flex; align-items:center; justify-content:center; min-height:80px; min-width:min(430px,100%); gap:22px; border-radius:16px; padding:19px 35px; background:var(--fd-gold); color:#0c2231; font-size:clamp(19px,2.3vw,25px); font-weight:850; border:2px solid #ffe4b2; box-shadow:0 14px 40px #0007; transition:transform .18s,background .18s; }
#imperion-frontdoor .fd-hero-cta:hover { background:#ffe7b6; transform:translateY(-3px); }
#imperion-frontdoor .fd-hero-cta span:last-child { font-size:30px; }
#imperion-frontdoor .fd-hero-bottom { position:absolute; bottom:24px; left:0; right:0; color:#ccdbd8; letter-spacing:.07em; text-align:center; text-transform:uppercase; font-size:11px; font-weight:750; }
#imperion-frontdoor .fd-section { background:radial-gradient(ellipse 62% 43% at 80% 12%,#163939 0%,transparent 95%),#091624; padding:91px 0 80px; min-height:800px; scroll-margin-top:0; }
#imperion-frontdoor .fd-topline { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:20px; }
#imperion-frontdoor .fd-topline h2 { font:500 clamp(37px,4.1vw,63px)/1.08 Georgia,'Times New Roman',serif; color:#fff3d8; margin:7px 0 4px; letter-spacing:-.035em; }
#imperion-frontdoor .fd-topline p { color:var(--fd-muted); margin:0; max-width:480px; }
#imperion-frontdoor .fd-filters { display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 22px; }
#imperion-frontdoor .fd-filters button { border:1px solid #57717b; background:transparent; color:#dce6df; border-radius:99px; padding:9px 17px; min-height:42px; font-size:13px; font-weight:750; }
#imperion-frontdoor .fd-filters button[aria-pressed="true"] { color:#07221c; background:var(--fd-mint); border-color:var(--fd-mint); }
#imperion-frontdoor .fd-calendar-layout { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap:16px; align-items:stretch; }
#imperion-frontdoor .fd-calendar-pane,#imperion-frontdoor .fd-detail-pane { background:#102332; border:1px solid #3a5862; border-radius:22px; box-shadow:0 24px 60px #010e1a4d; min-width:0; overflow:hidden; }
#imperion-frontdoor .fd-calendar-pane { padding:clamp(17px,2.7vw,35px); }
#imperion-frontdoor .fd-calendar-nav { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:24px; }
#imperion-frontdoor .fd-calendar-nav h3 { font-size:clamp(22px,2.5vw,33px); font-weight:720; margin:0; color:#fff9ed; text-transform:capitalize; }
#imperion-frontdoor .fd-calendar-nav button { border:1px solid #536b78; color:#eff7ef; background:#1b3542; width:43px; height:43px; border-radius:12px; font-size:23px; line-height:1; }
#imperion-frontdoor .fd-weekdays, #imperion-frontdoor .fd-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
#imperion-frontdoor .fd-weekdays { color:#a9bec8; text-align:center; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px; }
#imperion-frontdoor .fd-day { min-width:0; aspect-ratio:1/1.14; border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:5px; padding:10px 3px 6px; background:#172d3b; border:1px solid transparent; color:#b7c8cc; }
#imperion-frontdoor button.fd-day { color:#fff; background:#21434b; border-color:#4b797a; font-weight:750; }
#imperion-frontdoor button.fd-day:hover { background:#295b5f; }
#imperion-frontdoor button.fd-day[aria-pressed="true"] { background:#f3cf8f; color:#122c32; border-color:#ffedd0; box-shadow:0 0 0 2px #ebd7a53b; }
#imperion-frontdoor .fd-day .fd-daynum { font-size:clamp(13px,1.4vw,17px); line-height:1.1; }
#imperion-frontdoor .fd-day .fd-dayicons { font-size:clamp(12px,1.3vw,18px); white-space:nowrap; line-height:1; letter-spacing:-.1em; }
#imperion-frontdoor .fd-day.fd-past { opacity:.38; }
#imperion-frontdoor .fd-day.fd-blank { border:0; background:transparent; }
#imperion-frontdoor .fd-day.fd-today .fd-daynum { text-decoration:underline; text-underline-offset:4px; }
#imperion-frontdoor .fd-cal-note { margin:19px 2px 0; font-size:12px; color:#c4d6d5; line-height:1.5; }
#imperion-frontdoor .fd-detail-pane { display:flex; flex-direction:column; min-height:580px; background:#122d37; }
#imperion-frontdoor .fd-photo { position:relative; min-height:240px; height:38%; overflow:hidden; background:linear-gradient(135deg,#315f65,#123144); }
#imperion-frontdoor .fd-photo img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
#imperion-frontdoor .fd-photo:after { content:''; display:block; position:absolute; inset:0; background:linear-gradient(transparent 45%,#112d36a6 100%); pointer-events:none; }
#imperion-frontdoor .fd-photo-tag { position:absolute; z-index:1; bottom:13px; left:20px; background:#091b2ec9; color:#f3f6ed; font-size:11px; padding:5px 9px; border:1px solid #ffffff35; border-radius:7px; }
#imperion-frontdoor .fd-detail-content { padding:clamp(20px,3.2vw,35px); flex:1; display:flex; flex-direction:column; }
#imperion-frontdoor .fd-meta { color:#b8d5c5; font-size:12px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; margin:0 0 12px; }
#imperion-frontdoor .fd-detail-content h3 { color:#fff6df; font-family:Georgia,'Times New Roman',serif; font-size:clamp(28px,2.65vw,41px); font-weight:500; letter-spacing:-.025em; line-height:1.1; margin:0 0 15px; }
#imperion-frontdoor .fd-description { margin:0 0 16px; color:#cfdfdd; line-height:1.6; }
#imperion-frontdoor .fd-facts { color:#eaf5ec; font-size:14px; margin-bottom:14px; }
#imperion-frontdoor .fd-facts > span { display:block; margin-bottom:5px; }
#imperion-frontdoor .fd-status { padding:9px 12px; border-radius:9px; font-size:12px; font-weight:750; color:#f5dbac; background:#3b372f; margin:7px 0 17px; align-self:flex-start; }
#imperion-frontdoor .fd-status.open { background:#1c5446; color:#d1f5da; }
#imperion-frontdoor .fd-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:auto; }
#imperion-frontdoor .fd-book { display:inline-flex; justify-content:center; align-items:center; min-height:53px; padding:13px 22px; background:var(--fd-gold); color:#122a2d; border-radius:11px; font-weight:850; flex:1; text-align:center; }
#imperion-frontdoor .fd-book[aria-disabled="true"] { background:#6a8186; color:#edf2f0; cursor:not-allowed; }
#imperion-frontdoor .fd-info { font-size:13px; color:#bdd7d5; text-decoration:underline; text-underline-offset:4px; }
#imperion-frontdoor .fd-event-variants { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:15px; }
#imperion-frontdoor .fd-event-variants button { background:#173c48; color:#eff9f6; border:1px solid #60848a; border-radius:8px; padding:8px 10px; text-align:left; font-size:12px; }
#imperion-frontdoor .fd-event-variants button[aria-pressed="true"] { background:#e9c98e; color:#122b31; }
#imperion-frontdoor .fd-empty { color:#e0eeeb; font-size:15px; }
#imperion-frontdoor .fd-footer { padding:33px 0 43px; background:#081421; color:#b4c9ca; }
#imperion-frontdoor .fd-footer-inner { display:flex; justify-content:space-between; gap:24px; align-items:center; font-size:13px; }
#imperion-frontdoor .fd-footer a { text-decoration:underline; text-underline-offset:3px; }
#imperion-frontdoor .fd-footer-links { display:flex; flex-wrap:wrap; gap:18px; }
@media (max-width:970px) {
 #imperion-frontdoor .fd-directions { gap:10px; font-size:10px; }
 #imperion-frontdoor .fd-directions span { white-space:normal; text-align:center; }
 #imperion-frontdoor .fd-calendar-layout { grid-template-columns:1fr 1fr; }
 #imperion-frontdoor .fd-day { padding-top:8px; border-radius:8px; }
}
@media (max-width:700px) {
 #imperion-frontdoor .fd-shell { width:calc(100% - 30px); }
 #imperion-frontdoor .fd-header { height:91px; }
 #imperion-frontdoor .fd-header-inner { display:grid; grid-template-columns:1fr auto; grid-template-areas:'logo lang' 'directions directions'; gap:5px 9px; }
 #imperion-frontdoor .fd-logo { grid-area:logo; font-size:12px; }
 #imperion-frontdoor .fd-logo-mark { width:27px; height:27px; font-size:18px; }
 #imperion-frontdoor .fd-languages { grid-area:lang; }
 #imperion-frontdoor .fd-languages button { min-width:30px; min-height:28px; }
 #imperion-frontdoor .fd-directions { grid-area:directions; justify-content:space-between; gap:5px; font-size:10px; padding-bottom:3px; }
 #imperion-frontdoor .fd-hero { height:100svh; min-height:610px; }
 #imperion-frontdoor .fd-mosaic { grid-template-columns:1.25fr 1fr; }
 #imperion-frontdoor .fd-mosaic span:last-child { display:none; }
 #imperion-frontdoor .fd-hero-inner { padding:145px 6px 85px; }
 #imperion-frontdoor .fd-hero h1 { font-size:clamp(42px,12vw,66px); margin:17px 0 15px; }
 #imperion-frontdoor .fd-eyebrow { font-size:10px; letter-spacing:.2em; }
 #imperion-frontdoor .fd-lede { font-size:15px; margin-bottom:26px; line-height:1.42; }
 #imperion-frontdoor .fd-hero-cta { min-height:68px; font-size:19px; padding:14px 20px; width:100%; min-width:0; }
 #imperion-frontdoor .fd-section { padding:47px 0 60px; }
 #imperion-frontdoor .fd-topline { flex-direction:column; align-items:start; gap:10px; }
 #imperion-frontdoor .fd-topline h2 { font-size:39px; }
 #imperion-frontdoor .fd-calendar-layout { grid-template-columns:1fr; gap:12px; }
 #imperion-frontdoor .fd-calendar-pane { padding:15px 12px; border-radius:15px; }
 #imperion-frontdoor .fd-detail-pane { min-height:0; border-radius:15px; }
 #imperion-frontdoor .fd-calendar-nav { margin-bottom:14px; }
 #imperion-frontdoor .fd-calendar-nav h3 { font-size:22px; }
 #imperion-frontdoor .fd-day { min-height:45px; aspect-ratio:1/1.1; padding-top:7px; gap:4px; }
 #imperion-frontdoor .fd-day .fd-daynum { font-size:14px; }
 #imperion-frontdoor .fd-day .fd-dayicons { font-size:13px; }
 #imperion-frontdoor .fd-weekdays,#imperion-frontdoor .fd-days { gap:3px; }
 #imperion-frontdoor .fd-photo { height:220px; min-height:220px; }
 #imperion-frontdoor .fd-detail-content { padding:22px; }
 #imperion-frontdoor .fd-footer-inner { flex-direction:column; align-items:start; }
}
@media (max-width:370px) {
 #imperion-frontdoor .fd-directions { font-size:9px; }
 #imperion-frontdoor .fd-filters button { padding:8px 12px; }
 #imperion-frontdoor .fd-day { min-height:41px; }
}
@media (prefers-reduced-motion:reduce) { #imperion-frontdoor *,#imperion-frontdoor *:before,#imperion-frontdoor *:after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }


/* v2: illustrated historical silhouettes, deliberately behind the only primary CTA. */
#imperion-frontdoor .fd-mosaic span { filter:saturate(.66) brightness(.79); }
#imperion-frontdoor .fd-fighters {
 position:absolute; inset:0; pointer-events:none; z-index:-1;
 background:url('images/frontdoor-fighter-shadows.svg') center 24% / cover no-repeat;
 opacity:.83;
}
#imperion-frontdoor .fd-hero-inner { position:relative; z-index:1; }
@media(max-width:700px) {
 #imperion-frontdoor .fd-fighters { background-position:center top; opacity:.64; }
}

/* Calendar-first, event details only on deliberate day selection. */
#imperion-frontdoor .fd-calendar-layout {
 grid-template-columns:minmax(0,1fr);
 width:100%; max-width:850px;
 margin-inline:auto;
}
#imperion-frontdoor .fd-modal-backdrop {
 position:fixed; inset:0; z-index:25; background:rgba(2,12,23,.78);
 backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
#imperion-frontdoor .fd-detail-pane.fd-modal {
 display:flex; position:fixed; z-index:26; top:50%; left:50%;
 transform:translate(-50%,-50%);
 width:min(660px,calc(100vw - 36px)); min-height:0;
 max-height:calc(100dvh - 36px); overflow-x:hidden; overflow-y:auto;
 overscroll-behavior:contain; background:#132e38; border:1px solid #72908b;
 border-radius:22px; box-shadow:0 28px 90px rgba(0,0,0,.7);
}
#imperion-frontdoor .fd-modal-backdrop[hidden],
#imperion-frontdoor .fd-detail-pane.fd-modal[hidden] { display:none !important; }
html[data-imperion-frontdoor="ready"] body.fd-modal-open { overflow:hidden !important; }
#imperion-frontdoor .fd-modal-close {
 position:absolute; top:13px; right:13px; z-index:2;
 width:44px; height:44px; border:1px solid #d1e3da88; border-radius:50%;
 background:#0c2533eb; color:#fff9e7; font-size:28px; line-height:1; cursor:pointer;
}
#imperion-frontdoor .fd-modal .fd-photo { height:190px; min-height:190px; flex:0 0 auto; }
#imperion-frontdoor .fd-modal .fd-detail-content { flex:0 0 auto; }
#imperion-frontdoor .fd-modal .fd-actions { position:sticky; bottom:-1px; padding:12px 0 5px; background:#132e38; }
#imperion-frontdoor .fd-modal .fd-description { margin-bottom:13px; }
@media(max-width:970px) {
 #imperion-frontdoor .fd-calendar-layout { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:700px) {
 #imperion-frontdoor .fd-modal-backdrop { background:rgba(1,10,20,.72); }
 #imperion-frontdoor .fd-detail-pane.fd-modal {
  top:auto; bottom:0; left:0; width:100%; max-width:none;
  max-height:min(88dvh,780px); transform:none;
  border-radius:22px 22px 0 0; border-bottom:0;
 }
 #imperion-frontdoor .fd-modal .fd-photo { min-height:148px; height:148px; }
 #imperion-frontdoor .fd-modal .fd-detail-content { padding:18px 19px 22px; }
 #imperion-frontdoor .fd-modal .fd-detail-content h3 { font-size:28px; }
 #imperion-frontdoor .fd-modal .fd-facts { font-size:13px; }
 #imperion-frontdoor .fd-modal .fd-actions { gap:8px; }
}
@supports not (height:100dvh) {
 #imperion-frontdoor .fd-detail-pane.fd-modal { max-height:calc(100vh - 36px); }
 @media(max-width:700px) { #imperion-frontdoor .fd-detail-pane.fd-modal { max-height:88vh; } }
}

/* Learning remains bookable even without a dated group event. */
#imperion-frontdoor .fd-calendar-fallback:not([hidden]) {
 display:flex; flex-direction:column; gap:13px; margin-top:18px;
 padding:20px; background:#173842; border:1px solid #557b7a; border-radius:14px;
}
#imperion-frontdoor .fd-calendar-fallback p {margin:0; color:#e0ede6; line-height:1.5;}
#imperion-frontdoor .fd-calendar-fallback a {
 display:inline-flex; justify-content:center; align-items:center; text-align:center;
 padding:11px 18px; min-height:47px; background:#f3cf8f; border-radius:9px;
 color:#102a32; font-weight:850; align-self:flex-start;
}

/* Paid-event details are opt-in: price appears on the event, conditions only on a tap. */
#imperion-frontdoor .fd-payment-terms {
 margin:0 0 18px; border:1px solid #647f80; border-radius:12px;
 background:#183b44; overflow:hidden; flex:0 0 auto;
}
#imperion-frontdoor .fd-payment-terms[hidden] {display:none !important;}
#imperion-frontdoor .fd-payment-terms summary {
 cursor:pointer; color:#fff0d1; padding:13px 15px; min-height:48px;
 font-size:14px; font-weight:800; line-height:1.4;
 list-style:none; display:flex; align-items:center; justify-content:space-between; gap:10px;
}
#imperion-frontdoor .fd-payment-terms summary::-webkit-details-marker {display:none;}
#imperion-frontdoor .fd-payment-terms summary:after {content:'+'; font-size:23px; line-height:1;}
#imperion-frontdoor .fd-payment-terms[open] summary:after {content:'−';}
#imperion-frontdoor .fd-payment-body {padding:0 15px 16px; border-top:1px solid #55727d;}
#imperion-frontdoor .fd-payment-body p {margin:12px 0 0; color:#d9e9e4; font-size:13px; line-height:1.55;}
#imperion-frontdoor .fd-payment-body p:last-child {color:#aecbc5;}
#imperion-frontdoor .fd-payment-links {display:flex; flex-wrap:wrap; gap:8px; margin:13px 0;}
#imperion-frontdoor .fd-payment-links a {
 display:inline-flex; justify-content:center; align-items:center;
 padding:10px 14px; min-height:44px; min-width:100px;
 color:#0c2530; font-size:13px; font-weight:800;
 background:#f3cf8f; border-radius:8px; text-align:center;
}
#imperion-frontdoor .fd-payment-links a:hover {background:#ffe0a5;}
@media (max-width:700px) {
 #imperion-frontdoor .fd-payment-terms summary {font-size:13px;}
 #imperion-frontdoor .fd-payment-links a {flex:1 1 28%; min-width:82px; padding:9px;}
 #imperion-frontdoor .fd-payment-body p {font-size:12px;}
}


/* v4, 11 Nov: calm, fully navigable header + two focused customer paths. */
#imperion-frontdoor .fd-header { min-height:84px; height:auto; }
#imperion-frontdoor .fd-header-inner { min-height:84px; gap:clamp(12px,1.5vw,23px); }
#imperion-frontdoor .fd-logo { font-size:clamp(14px,1.4vw,18px); letter-spacing:.115em; }
#imperion-frontdoor .fd-logo:hover { color:#fff3d9; }
#imperion-frontdoor .fd-logo-sub { color:#f3cf8f; font-size:11px; letter-spacing:.04em; white-space:nowrap; }
#imperion-frontdoor .fd-nav {
 display:flex; flex:1; align-items:center; justify-content:center;
 gap:clamp(11px,1.35vw,24px); white-space:nowrap; min-width:0;
}
#imperion-frontdoor .fd-nav a {
 font-size:clamp(11px,.93vw,13px); color:#d6e3df; font-weight:650; line-height:1.3;
 padding:9px 1px; border-bottom:2px solid transparent; transition:color .15s,border-color .15s;
}
#imperion-frontdoor .fd-nav a:hover,#imperion-frontdoor .fd-nav a:focus-visible { color:#fff4d7; border-bottom-color:#f3cf8f; }
#imperion-frontdoor .fd-nav a[href="#impr-calendar"] { color:#ffe0aa; }
#imperion-frontdoor .fd-hero { background:#071824; }
#imperion-frontdoor .fd-mosaic.fd-photo-shadows {
 display:block; inset:0; overflow:hidden;
 background:radial-gradient(ellipse at 55% 32%,#42615b50,transparent 63%),linear-gradient(145deg,#0e2d36,#081420);
}
#imperion-frontdoor .fd-mosaic.fd-photo-shadows span {
 display:block; position:absolute; top:0; bottom:0; height:100%;
 filter:grayscale(1) sepia(.26) contrast(1.27) brightness(.53) saturate(.6);
 opacity:.84; background-repeat:no-repeat; background-size:cover;
 pointer-events:none;
}
#imperion-frontdoor .fd-mosaic.fd-photo-shadows span:nth-child(1) {
 width:62%; left:-7%; background-image:url('images/druzina_larp.webp');
 background-position:57% 33%;
 -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 40%,transparent 99%),linear-gradient(0deg,transparent 0%,#000 24%,#000 85%,transparent 100%);
 mask-image:linear-gradient(90deg,#000 0%,#000 40%,transparent 99%);
}
#imperion-frontdoor .fd-mosaic.fd-photo-shadows span:nth-child(2) {
 width:61%; right:-7%; left:auto; background-image:url('images/druzina_train.webp');
 background-position:43% 28%;
 -webkit-mask-image:linear-gradient(270deg,#000 0%,#000 40%,transparent 99%);
 mask-image:linear-gradient(270deg,#000 0%,#000 40%,transparent 99%);
}
#imperion-frontdoor .fd-hero:before {
 background:linear-gradient(180deg,#07111ad8 0%,#071825b0 20%,#081b28ab 43%,#061520ed 80%,#091624 100%),
  linear-gradient(90deg,#07182576 0%,#061725bd 39%,#061725bd 60%,#07182576 100%);
}
#imperion-frontdoor .fd-hero-inner { padding-top:145px; padding-bottom:92px; }
#imperion-frontdoor .fd-hero h1 { max-width:910px; margin-top:17px; font-size:clamp(48px,6.7vw,100px); }
#imperion-frontdoor .fd-lede { margin-bottom:24px; }
#imperion-frontdoor .fd-hero-actions {
 display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);
 width:min(880px,100%); gap:15px; align-items:stretch;
}
#imperion-frontdoor .fd-hero-cta,
#imperion-frontdoor .fd-hero-academy {
 min-width:0; width:100%; min-height:89px; display:flex; align-items:center; justify-content:center;
 gap:14px; border-radius:14px; padding:14px 19px; box-shadow:0 12px 40px #0008;
 transition:transform .18s,background .18s,border-color .18s;
}
#imperion-frontdoor .fd-hero-cta { background:var(--fd-gold);color:#0c2231; border:2px solid #ffe5b8; }
#imperion-frontdoor .fd-hero-academy {
 background:#0c1d2de5; border:1px solid #f0d2a9; color:#fff3df;
 font-size:clamp(15px,1.65vw,20px); font-weight:800; text-align:left;
}
#imperion-frontdoor .fd-hero-cta:hover,#imperion-frontdoor .fd-hero-academy:hover { transform:translateY(-3px); }
#imperion-frontdoor .fd-hero-academy:hover { background:#24414de8; border-color:#ffdcaa; }
#imperion-frontdoor .fd-hero-cta > span:first-child { font-size:34px; line-height:1; }
#imperion-frontdoor .fd-hero-cta > span:last-child { font-size:inherit; }
#imperion-frontdoor .fd-hero-cta-copy { display:flex; flex-direction:column; align-items:flex-start; text-align:left; }
#imperion-frontdoor .fd-hero-cta-copy strong { font-size:clamp(18px,1.85vw,24px); line-height:1.18; }
#imperion-frontdoor .fd-hero-cta-copy small { display:block; font-size:12px; font-weight:700; color:#30434a; margin-top:5px; letter-spacing:.015em; }
#imperion-frontdoor .fd-academy-symbol { font-size:26px; }
#imperion-frontdoor .fd-hero-topics {
 display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
 gap:clamp(10px,1.8vw,27px); margin:23px auto 0; font-size:12px; color:#d7e8e1;
 opacity:.85; font-weight:650; letter-spacing:.03em;
}
#imperion-frontdoor .fd-hero-topics span + span { border-left:1px solid #a7b5b478; padding-left:clamp(10px,1.8vw,27px); }
#imperion-frontdoor .fd-city-filter { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; margin:-6px 0 20px; }
#imperion-frontdoor .fd-city-filter > span { font-size:13px; color:#d3e5e0; font-weight:750; }
#imperion-frontdoor .fd-city-options { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
#imperion-frontdoor .fd-city-options button {
 padding:7px 13px; min-height:38px; font-size:12px; border:1px solid #52707c;
 background:#102837; color:#d6e7e4; border-radius:99px; font-weight:700;
}
#imperion-frontdoor .fd-city-options button[aria-pressed="true"] { background:#f3cf8f; border-color:#ffe1a7; color:#182e37; }
#imperion-frontdoor .fd-day { aspect-ratio:auto; min-height:95px; }
#imperion-frontdoor .fd-day .fd-dayicons {
 display:flex; flex-direction:column; align-items:center; gap:3px;
 width:100%; white-space:normal; letter-spacing:normal; font-size:12px;
}
#imperion-frontdoor .fd-day-activity { display:flex; align-items:center; justify-content:center; gap:3px; line-height:1.06; }
#imperion-frontdoor .fd-day-glyph { font-size:16px; line-height:1; }
#imperion-frontdoor .fd-day-time { font-size:clamp(9px,.78vw,12px); font-weight:850; font-variant-numeric:tabular-nums; }
#imperion-frontdoor .fd-day-more { font-size:10px; font-weight:800; line-height:1; }
#imperion-frontdoor .fd-day-more.fd-more-mobile { display:none; }
@media(max-width:1030px){
 #imperion-frontdoor .fd-nav { gap:12px; }
 #imperion-frontdoor .fd-nav a { font-size:11px; }
 #imperion-frontdoor .fd-logo-sub { display:none; }
}
@media(max-width:850px){
 #imperion-frontdoor .fd-header { min-height:108px; }
 #imperion-frontdoor .fd-header-inner {
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:'brand lang' 'nav nav'; align-items:center; gap:3px 9px;
  padding-top:8px; padding-bottom:8px;
 }
 #imperion-frontdoor .fd-logo { grid-area:brand; font-size:17px; }
 #imperion-frontdoor .fd-languages { grid-area:lang; justify-self:end; }
 #imperion-frontdoor .fd-nav { grid-area:nav; display:flex; justify-content:flex-start; overflow-x:auto;
  scrollbar-width:thin; gap:18px; padding:5px 0; }
 #imperion-frontdoor .fd-nav a { flex:none; font-size:12px; }
 #imperion-frontdoor .fd-hero-inner { padding-top:172px; }
}
@media(max-width:700px){
 #imperion-frontdoor .fd-hero { height:auto; min-height:730px; }
 #imperion-frontdoor .fd-hero-inner { padding:164px 0 100px; }
 #imperion-frontdoor .fd-hero h1 { font-size:clamp(39px,10.9vw,67px); }
 #imperion-frontdoor .fd-hero-actions { display:flex; flex-direction:column; gap:10px; width:min(410px,100%); }
 #imperion-frontdoor .fd-hero-cta,#imperion-frontdoor .fd-hero-academy { min-height:70px; }
 #imperion-frontdoor .fd-hero-cta-copy strong { font-size:19px; }
 #imperion-frontdoor .fd-hero-topics { font-size:10px; row-gap:8px; margin-top:18px; }
 #imperion-frontdoor .fd-hero-topics span + span { border-left:0; padding-left:0; }
 #imperion-frontdoor .fd-photo-shadows span:first-child { width:87% !important; opacity:.64; left:-23% !important; }
 #imperion-frontdoor .fd-photo-shadows span:last-child { width:86% !important; opacity:.60; right:-25% !important; }
 #imperion-frontdoor .fd-city-filter { margin-top:3px; }
 #imperion-frontdoor .fd-calendar-pane { padding:14px 9px; }
 #imperion-frontdoor .fd-day { min-height:72px; gap:2px; padding:6px 1px 4px; border-radius:7px; }
 #imperion-frontdoor .fd-day .fd-daynum { font-size:13px; }
 #imperion-frontdoor .fd-day-activity { flex-direction:column; gap:0; }
 #imperion-frontdoor .fd-day-glyph { font-size:14px; }
 #imperion-frontdoor .fd-day-time { font-size:9px; letter-spacing:-.06em; }
 #imperion-frontdoor .fd-day-activity:nth-child(n+3) { display:none; }
 #imperion-frontdoor .fd-day-more.fd-more-mobile { display:block; }
 #imperion-frontdoor .fd-day-more.fd-more-desktop { display:none; }
}
@media(max-width:370px){
 #imperion-frontdoor .fd-nav { gap:13px; }
 #imperion-frontdoor .fd-nav a { font-size:11px; }
 #imperion-frontdoor .fd-languages button { min-width:27px; }
 #imperion-frontdoor .fd-hero-inner { padding-top:152px; }
 #imperion-frontdoor .fd-hero h1 { font-size:clamp(36px,10.3vw,43px); }
 #imperion-frontdoor .fd-day { min-height:66px; }
 #imperion-frontdoor .fd-day-glyph { font-size:12px; }
 #imperion-frontdoor .fd-day-time { font-size:8px; }
}

#imperion-frontdoor .fd-academy-copy { display:flex; flex-direction:column; min-width:0; }
#imperion-frontdoor .fd-academy-copy strong { font-size:clamp(15px,1.5vw,19px); line-height:1.22; }
#imperion-frontdoor .fd-academy-copy small { font-size:11px; font-weight:600; line-height:1.25; color:#c4d6d4; margin-top:5px; }


/* v5 cinematic concept faithful frontend; HTML links/calendars remain genuine and accessible. */
#imperion-frontdoor { --fd-ink:#f5f1e8;--fd-muted:#cbd5d0;--fd-gold:#f6ce7e;--fd-mint:#b9dcc2;--fd-deep:#071b20;--fd-panel:#102c31;--fd-border:#506b62; }
html[data-imperion-frontdoor="ready"] body { background:#071b20 !important; }
#imperion-frontdoor .fd-shell { width:min(1450px,calc(100% - 56px)); }
#imperion-frontdoor .fd-header {
 position:absolute; top:0; min-height:80px; height:80px;
 background:linear-gradient(180deg,#0b1719e8,#10191b92); border-bottom:1px solid #ffdeb745;
 box-shadow:0 2px 20px #080e1342;
}
#imperion-frontdoor .fd-header-inner { min-height:80px; }
#imperion-frontdoor .fd-logo { font-family:Georgia,'Times New Roman',serif; gap:13px; letter-spacing:.045em; }
#imperion-frontdoor .fd-logo-mark {
 width:43px; height:48px; border:2px solid #f6ca79; color:#ffdc94; border-radius:7px 7px 19px 19px;
 font-size:25px; transform:translateY(1px); background:linear-gradient(160deg,#3a3326ba,#101d20db);
 text-shadow:0 0 7px #ffc87883;
}
#imperion-frontdoor .fd-logo-text { display:flex; flex-direction:column; line-height:1.06; }
#imperion-frontdoor .fd-logo-text strong { font-size:clamp(20px,2.15vw,31px); font-weight:650; }
#imperion-frontdoor .fd-logo-text small {
 color:#e3d4b5; font:700 9px/1.2 system-ui,sans-serif; letter-spacing:.1em; margin-top:5px;
}
#imperion-frontdoor .fd-nav { justify-content:flex-end; gap:clamp(12px,2.1vw,31px); }
#imperion-frontdoor .fd-nav a {
 font-size:clamp(12px,1vw,15px); font-weight:600;
 color:#f3e9dc; text-shadow:0 1px 4px #060e15;
}
#imperion-frontdoor .fd-languages { background:#0b161abc; border-color:#ecb86d70; }
#imperion-frontdoor .fd-languages button[aria-pressed="true"] { background:#f5cf84; }
#imperion-frontdoor .fd-hero {
 height:clamp(650px,90svh,790px); min-height:650px;
 background:#161b1d; isolation:isolate;
}
#imperion-frontdoor .fd-mosaic.fd-photo-shadows {
 display:block; z-index:-3; inset:0;
 background-image:url('images/imperion-hero-cinematic-20261112.webp');
 background-position:50% 38%;background-size:cover;background-repeat:no-repeat;
 filter:saturate(1.15) contrast(1.07);
}
#imperion-frontdoor .fd-mosaic.fd-photo-shadows span { display:none !important; }
#imperion-frontdoor .fd-hero:before {
 background:linear-gradient(180deg,#10151777 0%,#0c181a40 14%,#081b2199 39%,#091c1bd4 69%,#071c21 100%),
 linear-gradient(90deg,#10201f45 0%,#08141767 29%,#06161a9e 50%,#09161972 70%,#101f193d 100%);
}
#imperion-frontdoor .fd-hero:after { background:#b8803b36; filter:blur(120px); width:84%; }
#imperion-frontdoor .fd-hero-inner { padding:132px 0 106px; }
#imperion-frontdoor .fd-eyebrow { color:#efc97d; font-weight:750; font-size:12px; letter-spacing:.23em; }
#imperion-frontdoor .fd-hero h1 {
 font:500 clamp(54px,6.8vw,105px)/1.02 Georgia,'Times New Roman',serif;
 letter-spacing:-.04em; margin:15px 0 18px; max-width:1120px;
 color:#fff5e6; text-shadow:0 3px 19px #020b0ced,0 1px 40px #060e11b6;
}
#imperion-frontdoor .fd-hero h1 span:last-child { color:#f6cb7c; font-style:italic; }
#imperion-frontdoor .fd-lede {
 font:400 clamp(16px,1.45vw,21px)/1.52 Georgia,'Times New Roman',serif;
 color:#f0e9df; margin-bottom:29px; max-width:780px; text-shadow:0 2px 15px #010e0ee5;
}
#imperion-frontdoor .fd-hero-actions { width:min(920px,100%); gap:18px; }
#imperion-frontdoor .fd-hero-cta,#imperion-frontdoor .fd-hero-academy {
 min-height:96px; border-radius:14px; padding:19px 22px;
}
#imperion-frontdoor .fd-hero-cta {
 background:linear-gradient(180deg,#ffde93,#eeb75b); color:#161a1c; border:2px solid #ffe6ad;
 box-shadow:0 0 22px #ffbe6070,0 14px 42px #0008;
}
#imperion-frontdoor .fd-hero-cta:hover { background:linear-gradient(180deg,#fff0b6,#f2c16e); }
#imperion-frontdoor .fd-hero-cta-copy strong { font-size:clamp(19px,2vw,27px); }
#imperion-frontdoor .fd-hero-cta-copy small { font-size:12px; color:#403020; }
#imperion-frontdoor .fd-hero-academy {
 background:linear-gradient(125deg,#192326ed,#101718e8);border:2px solid #e6c17b;
 box-shadow:0 10px 36px #0009;
}
#imperion-frontdoor .fd-hero-academy:hover { background:#223238ee; }
#imperion-frontdoor .fd-academy-symbol { filter:sepia(.7); font-size:34px; }
#imperion-frontdoor .fd-academy-copy strong { font-size:clamp(17px,1.65vw,22px); }
#imperion-frontdoor .fd-hero-topics { margin-top:26px; gap:clamp(13px,2vw,36px); opacity:1; color:#f4e7cc; }
#imperion-frontdoor .fd-hero-topics span { font:600 13px/1.3 system-ui,sans-serif; }
#imperion-frontdoor .fd-hero-bottom { color:#d2b58c; letter-spacing:.18em; font-size:10px; bottom:18px; }
#imperion-frontdoor .fd-section {
 background:radial-gradient(ellipse 55% 20% at 70% 0%,#31524b88 0%,transparent 95%),linear-gradient(180deg,#071c21,#0a252a 46%,#07171a 100%);
 min-height:760px; padding:62px 0 83px;
}
#imperion-frontdoor .fd-topline { align-items:end; margin-bottom:27px; }
#imperion-frontdoor .fd-topline h2 { color:#fff2d8; font:500 clamp(38px,4vw,58px)/1.07 Georgia,serif; max-width:930px; }
#imperion-frontdoor .fd-topline p { max-width:420px; color:#d3d9d4; line-height:1.5; }
#imperion-frontdoor .fd-stage {
 display:grid;grid-template-columns:minmax(185px,225px) minmax(0,1.4fr) minmax(245px,.83fr);
 gap:14px;align-items:start;min-width:0;
}
#imperion-frontdoor .fd-facet-panel,#imperion-frontdoor .fd-upcoming-pane {
 background:linear-gradient(150deg,#1b3538,#102528);border:1px solid #6c897a96;
 border-radius:16px;box-shadow:0 12px 38px #0005;min-width:0;overflow:hidden;
}
#imperion-frontdoor .fd-facet-head { padding:16px 17px;display:flex;gap:9px;align-items:center;border-bottom:1px solid #67867d5a; color:#fff2d7; }
#imperion-frontdoor .fd-facet-head strong { font:650 19px/1.3 Georgia,serif; }
#imperion-frontdoor .fd-facet-head > span { color:#ffdb8c;font-size:21px; }
#imperion-frontdoor .fd-filters {
 display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;padding:14px 13px;
 margin:0;border-bottom:1px solid #66867d72;
}
#imperion-frontdoor .fd-filters button {
 border-radius:9px;padding:10px 10px;min-height:43px;text-align:left;
 font-size:13px;display:flex;gap:9px;align-items:center;
 background:transparent;border:1px solid transparent;color:#e3ece5;
}
#imperion-frontdoor .fd-filters button:before { content:'▢';font-size:18px;color:#e4c98c; }
#imperion-frontdoor .fd-filters button:nth-child(2):before {content:'⚔';}
#imperion-frontdoor .fd-filters button:nth-child(3):before {content:'⛰';}
#imperion-frontdoor .fd-filters button:nth-child(4):before {content:'🎓';font-size:15px;}
#imperion-frontdoor .fd-filters button[aria-pressed="true"] { color:#17231e;background:linear-gradient(90deg,#f1d398,#eac27e);border-color:#ffe3af; }
#imperion-frontdoor .fd-filters button[aria-pressed="true"]:before { color:#1f302e; }
#imperion-frontdoor .fd-city-filter { margin:0;padding:16px 14px 10px;gap:8px;display:flex;flex-direction:column;align-items:stretch; }
#imperion-frontdoor .fd-city-filter > span { color:#ffe1a9;font-size:13px;font-weight:850; }
#imperion-frontdoor .fd-city-options { flex-direction:column;align-items:stretch;gap:5px; }
#imperion-frontdoor .fd-city-options button {
 border-radius:9px;text-align:left;min-height:36px;padding:8px 10px;
 background:transparent;border:1px solid transparent;font-size:12px;color:#dceadf;
}
#imperion-frontdoor .fd-city-options button:before {content:'○';font-size:16px;margin-right:9px;color:#cfbf9d;}
#imperion-frontdoor .fd-city-options button[aria-pressed="true"] {
 background:#d9cb9b24;border-color:#d7bb79;color:#fff1d0;
}
#imperion-frontdoor .fd-city-options button[aria-pressed="true"]:before {content:'●';color:#ffcf78;}
#imperion-frontdoor .fd-reset { display:block;width:calc(100% - 24px);margin:3px 12px 16px;
 background:#142d30;border:1px solid #72857f;border-radius:9px;
 padding:10px 12px;color:#dce3d9;font-size:12px;font-weight:600;
}
#imperion-frontdoor .fd-reset:before { content:'↺';font-size:18px;margin-right:8px; }
#imperion-frontdoor .fd-reset:hover { background:#274446; }
#imperion-frontdoor .fd-calendar-layout {display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:none;min-width:0;margin:0;}
#imperion-frontdoor .fd-calendar-pane {
 border-radius:16px;background:linear-gradient(165deg,#102e32,#0b252a);
 border:1px solid #6e8b7cb0;padding:17px 15px 15px;box-shadow:0 15px 45px #0005;
}
#imperion-frontdoor .fd-calendar-nav {margin-bottom:15px;}
#imperion-frontdoor .fd-calendar-nav h3 {font:600 clamp(23px,2vw,28px)/1.2 Georgia,serif;color:#f7ead1;}
#imperion-frontdoor .fd-calendar-nav button {width:38px;height:38px;background:#15373a;border-radius:10px;border-color:#7b9685;color:#fce7b4;}
#imperion-frontdoor .fd-weekdays {color:#d0dcd1;margin-bottom:8px;}
#imperion-frontdoor .fd-weekdays,#imperion-frontdoor .fd-days {gap:4px;}
#imperion-frontdoor .fd-day {border:1px solid #345657;min-height:77px;aspect-ratio:auto;padding:7px 2px 5px;gap:3px;background:#0e292e;border-radius:7px;}
#imperion-frontdoor button.fd-day {background:#1a3d40;border-color:#537e72;}
#imperion-frontdoor button.fd-day:hover {background:#30554b;}
#imperion-frontdoor button.fd-day[aria-pressed="true"] {
 background:linear-gradient(140deg,#f1cc7a,#d9a74e);color:#171f1e;border:1px solid #fbe2ad;box-shadow:0 0 0 2px #e7c47677;
}
#imperion-frontdoor .fd-day.fd-past {opacity:.44;}
#imperion-frontdoor .fd-day .fd-daynum {font-size:16px;font-weight:700;}
#imperion-frontdoor .fd-day .fd-dayicons {gap:3px;}
#imperion-frontdoor .fd-day-activity {font-size:11px;}
#imperion-frontdoor .fd-day-time {font-size:10px;color:inherit;}
#imperion-frontdoor .fd-cal-note {font-size:11px;color:#c1d2c8;margin-top:15px;}
#imperion-frontdoor .fd-upcoming-pane {padding:0 0 14px;}
#imperion-frontdoor .fd-upcoming-pane h3 {
 font:600 21px/1.2 Georgia,serif;color:#fff0d6;margin:0;padding:17px 17px 3px;
}
#imperion-frontdoor .fd-upcoming-pane > p {font-size:11px;color:#c5d2c8;margin:0 16px 13px;line-height:1.4;}
#imperion-frontdoor .fd-upcoming-list {display:flex;flex-direction:column;gap:8px;padding:0 11px;}
#imperion-frontdoor .fd-upcoming-event {
 display:flex;flex-direction:column;gap:4px;width:100%;
 text-align:left;padding:10px 12px;background:#132f34;border:1px solid #4f7970;
 color:#f8f2e9;border-radius:10px;min-height:88px;transition:background .15s,transform .15s;
}
#imperion-frontdoor .fd-upcoming-event:hover {background:#274a49;transform:translateY(-1px);}
#imperion-frontdoor .fd-upcoming-event strong {font-size:13px;line-height:1.3;}
#imperion-frontdoor .fd-upcoming-type {font-size:10px;letter-spacing:.045em;color:#e9c780;font-weight:850;text-transform:uppercase;}
#imperion-frontdoor .fd-upcoming-foot {font-size:11px;color:#c6d7d2;line-height:1.35;}
#imperion-frontdoor .fd-upcoming-empty,#imperion-frontdoor .fd-upcoming-extra {
 color:#d2e0d5;margin:10px 12px;font-size:13px;line-height:1.5;
}
#imperion-frontdoor .fd-detail-pane.fd-modal {
 top:50%;left:auto;right:clamp(18px,3vw,55px);transform:translateY(-50%);
 width:min(535px,calc(100vw - 36px));background:#102b2e;border:1px solid #ddbb77aa;
 box-shadow:0 20px 100px #000c;border-radius:18px;
}
#imperion-frontdoor .fd-modal .fd-photo {height:200px;min-height:200px;}
#imperion-frontdoor .fd-modal .fd-detail-content {padding:20px 22px;}
#imperion-frontdoor .fd-modal .fd-detail-content h3 {font-size:clamp(27px,2.8vw,36px);}
#imperion-frontdoor .fd-modal .fd-actions {background:#102b2e;}
#imperion-frontdoor .fd-book {background:linear-gradient(180deg,#ffe3a1,#e7b456);box-shadow:0 5px 15px #b8832e25;color:#17251e;}
#imperion-frontdoor .fd-footer {border-top:1px solid #5b6f5d57;background:#071718;}
@media(max-width:1220px){
 #imperion-frontdoor .fd-stage {grid-template-columns:200px minmax(0,1fr);}
 #imperion-frontdoor .fd-upcoming-pane {grid-column:2;}
 #imperion-frontdoor .fd-upcoming-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
 #imperion-frontdoor .fd-upcoming-event {min-height:90px;}
}
@media(max-width:850px){
 #imperion-frontdoor .fd-header {min-height:108px;height:auto;}
 #imperion-frontdoor .fd-header-inner {min-height:108px;}
 #imperion-frontdoor .fd-logo-text strong {font-size:21px;}
 #imperion-frontdoor .fd-hero-inner {padding-top:165px;}
 #imperion-frontdoor .fd-stage {grid-template-columns:1fr;gap:15px;}
 #imperion-frontdoor .fd-facet-panel {display:block;}
 #imperion-frontdoor .fd-filters {flex-direction:row;flex-wrap:wrap;gap:7px;padding:12px;}
 #imperion-frontdoor .fd-filters button {font-size:12px;padding:7px 10px;min-height:38px;}
 #imperion-frontdoor .fd-city-filter {padding:10px 12px;}
 #imperion-frontdoor .fd-city-options {flex-direction:row;flex-wrap:wrap;}
 #imperion-frontdoor .fd-upcoming-pane {grid-column:auto;}
 #imperion-frontdoor .fd-reset {width:auto;display:inline-flex;margin:5px 12px 14px;}
 #imperion-frontdoor .fd-topline {align-items:start;flex-direction:column;}
 #imperion-frontdoor .fd-topline p {max-width:650px;}
}
@media(max-width:700px){
 #imperion-frontdoor .fd-shell {width:calc(100% - 30px);}
 #imperion-frontdoor .fd-hero {height:auto;min-height:705px;}
 #imperion-frontdoor .fd-mosaic.fd-photo-shadows {background-position:center top;background-size:auto 75%; }
 #imperion-frontdoor .fd-hero:before {background:linear-gradient(180deg,#07151a9e,#081a1bba 38%,#081a1ced 77%,#071c21);}
 #imperion-frontdoor .fd-hero-inner {padding:160px 0 88px;}
 #imperion-frontdoor .fd-hero h1 {font-size:clamp(39px,10vw,62px);margin:15px 0 15px;}
 #imperion-frontdoor .fd-lede {font-size:16px;margin-bottom:23px;}
 #imperion-frontdoor .fd-hero-actions {max-width:440px;}
 #imperion-frontdoor .fd-hero-cta,#imperion-frontdoor .fd-hero-academy {min-height:74px;padding:10px 17px;}
 #imperion-frontdoor .fd-academy-copy strong {font-size:17px;}
 #imperion-frontdoor .fd-hero-topics {margin-top:18px;font-size:11px;gap:9px;}
 #imperion-frontdoor .fd-section {padding:40px 0 56px;}
 #imperion-frontdoor .fd-topline h2 {font-size:clamp(36px,8vw,49px);}
 #imperion-frontdoor .fd-upcoming-list {grid-template-columns:1fr;}
 #imperion-frontdoor .fd-calendar-pane {padding:13px 9px;}
 #imperion-frontdoor .fd-day {min-height:65px;padding:5px 1px 3px;gap:1px;}
 #imperion-frontdoor .fd-day .fd-daynum {font-size:13px;}
 #imperion-frontdoor .fd-day-activity {flex-direction:column;gap:0;}
 #imperion-frontdoor .fd-day-glyph {font-size:13px;}
 #imperion-frontdoor .fd-day-time {font-size:9px;}
 #imperion-frontdoor .fd-detail-pane.fd-modal {
  top:auto;bottom:0;left:0;right:0;transform:none;width:100%;max-width:none;
  max-height:min(88dvh,780px);border-radius:20px 20px 0 0;
 }
 #imperion-frontdoor .fd-modal .fd-photo {min-height:155px;height:155px;}
}
@media(max-width:370px){
 #imperion-frontdoor .fd-logo-mark {width:33px;height:38px;font-size:21px;}
 #imperion-frontdoor .fd-logo-text strong {font-size:17px;}
 #imperion-frontdoor .fd-logo-text small {font-size:7px;}
 #imperion-frontdoor .fd-header-inner {gap:3px 7px;}
 #imperion-frontdoor .fd-hero-inner {padding-top:160px;}
 #imperion-frontdoor .fd-hero h1 {font-size:36px;}
 #imperion-frontdoor .fd-weekdays,#imperion-frontdoor .fd-days {gap:2px;}
 #imperion-frontdoor .fd-day {min-height:58px;}
 #imperion-frontdoor .fd-day-glyph {font-size:11px;}
 #imperion-frontdoor .fd-day-time {font-size:8px;}
 #imperion-frontdoor .fd-filters button {font-size:11px;padding:7px;}
}
@media(prefers-reduced-motion:reduce){
 #imperion-frontdoor .fd-upcoming-event {transition:none;}
}


/* IMPERION visual checkpoint 2026-11-12: readability, accessible gold CTA,
   full desktop event details. Keep the existing mobile bottom sheet. */
#imperion-frontdoor .fd-hero-cta,
#imperion-frontdoor a.fd-hero-cta,
#imperion-frontdoor .fd-hero-cta strong,
#imperion-frontdoor .fd-hero-cta small,
#imperion-frontdoor .fd-hero-cta span {
  color:#15201e !important;
  text-shadow:none !important;
}
#imperion-frontdoor .fd-hero-cta {
  border:2px solid #ffe7a9;
  background:linear-gradient(180deg,#ffe49b 0%,#f2c66a 100%);
}
#imperion-frontdoor .fd-hero-cta:hover,
#imperion-frontdoor .fd-hero-cta:focus-visible {
  background:linear-gradient(180deg,#ffecb5 0%,#f8d37f 100%);
}
#imperion-frontdoor .fd-hero-cta-copy strong {font-size:clamp(20px,2.08vw,28px);font-weight:900;line-height:1.17;}
#imperion-frontdoor .fd-hero-cta-copy small {font-size:clamp(12px,1.07vw,14px);font-weight:700;line-height:1.36;}
#imperion-frontdoor .fd-academy-copy strong {font-size:clamp(18px,1.75vw,23px);line-height:1.2;}
#imperion-frontdoor .fd-academy-copy small {font-size:clamp(12px,1.05vw,14px);}
#imperion-frontdoor .fd-nav a {font-size:clamp(13px,1.11vw,16px);}
#imperion-frontdoor .fd-lede {font-size:clamp(17px,1.55vw,22px);line-height:1.52;}
#imperion-frontdoor .fd-filters button {font-size:14px;line-height:1.34;}
#imperion-frontdoor .fd-city-options button {font-size:13px;line-height:1.3;}
#imperion-frontdoor .fd-city-filter > span {font-size:14px;}
#imperion-frontdoor .fd-topline p {font-size:15px;}
#imperion-frontdoor .fd-upcoming-pane h3 {font-size:24px;}
#imperion-frontdoor .fd-upcoming-pane > p {font-size:13px;}
#imperion-frontdoor .fd-upcoming-event strong {font-size:15px;line-height:1.34;}
#imperion-frontdoor .fd-upcoming-type {font-size:11px;}
#imperion-frontdoor .fd-upcoming-foot {font-size:12.5px;}
#imperion-frontdoor .fd-day-time {font-size:11px;letter-spacing:0;}
#imperion-frontdoor .fd-cal-note {font-size:13px;line-height:1.5;}
#imperion-frontdoor .fd-payment-body p {font-size:14px;}
#imperion-frontdoor .fd-payment-terms summary {font-size:15px;}
#imperion-frontdoor .fd-detail-pane.fd-modal {
  display:grid;
  grid-template-columns:minmax(270px,39%) minmax(0,61%);
  align-items:stretch;
  top:50%;left:50%;right:auto;bottom:auto;
  transform:translate(-50%,-50%);
  width:min(920px,calc(100vw - 68px));
  max-width:920px;
  height:min(700px,calc(100dvh - 72px));
  max-height:calc(100dvh - 72px);
  padding:0;
  overflow:hidden;
  border-radius:20px;
}
#imperion-frontdoor .fd-detail-pane.fd-modal .fd-photo {
  grid-column:1;grid-row:1;
  width:100%;height:100%;min-height:100%;
  max-height:none;align-self:stretch;
  border-radius:0;
}
#imperion-frontdoor .fd-detail-pane.fd-modal .fd-photo img {
  width:100%;height:100%;object-fit:cover;object-position:center;
}
#imperion-frontdoor .fd-detail-pane.fd-modal .fd-detail-content {
  grid-column:2;grid-row:1;
  display:flex;flex-direction:column;
  min-width:0;min-height:0;max-height:100%;
  padding:33px 30px 22px;
  overflow-y:auto;overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
#imperion-frontdoor .fd-detail-pane.fd-modal .fd-detail-content h3 {
  font-size:clamp(29px,2.75vw,39px);line-height:1.15;
}
#imperion-frontdoor .fd-detail-pane.fd-modal .fd-description {font-size:16px;line-height:1.63;}
#imperion-frontdoor .fd-detail-pane.fd-modal .fd-facts {font-size:15px;line-height:1.48;}
#imperion-frontdoor .fd-detail-pane.fd-modal .fd-event-variants button {font-size:14px;min-height:43px;}
#imperion-frontdoor .fd-detail-pane.fd-modal .fd-actions {
  margin-top:auto;flex-shrink:0;min-height:64px;
  position:sticky;bottom:-22px;z-index:1;
  background:linear-gradient(180deg,#102b2ee8,#102b2e 14%);
}
#imperion-frontdoor .fd-detail-pane.fd-modal .fd-modal-close {
  position:absolute;top:14px;right:14px;z-index:4;
  width:45px;height:45px;box-shadow:0 2px 12px #0008;
}
@media(max-width:1010px) and (min-width:701px){
  #imperion-frontdoor .fd-detail-pane.fd-modal {
    display:flex;flex-direction:column;
    width:min(720px,calc(100vw - 45px));max-width:720px;
    height:auto;max-height:calc(100dvh - 60px);
    overflow-y:auto;
  }
  #imperion-frontdoor .fd-detail-pane.fd-modal .fd-photo {
    height:200px;min-height:200px;max-height:200px;flex:0 0 200px;
  }
  #imperion-frontdoor .fd-detail-pane.fd-modal .fd-detail-content {
    max-height:none;overflow:visible;padding:24px 28px;
  }
}
@media(max-width:700px){
  #imperion-frontdoor .fd-hero-cta-copy strong {font-size:20px;}
  #imperion-frontdoor .fd-hero-cta-copy small {font-size:12px;}
  #imperion-frontdoor .fd-academy-copy strong {font-size:18px;}
  #imperion-frontdoor .fd-nav a {font-size:12px;}
  #imperion-frontdoor .fd-filters button {font-size:13px;}
  #imperion-frontdoor .fd-day-time {font-size:9px;}
  #imperion-frontdoor .fd-detail-pane.fd-modal {
    display:flex;flex-direction:column;
    width:100%;max-width:none;min-height:0;height:auto;
    max-height:min(88dvh,780px);
    top:auto;bottom:0;left:0;right:0;transform:none;
    overflow-y:auto;border-radius:20px 20px 0 0;
  }
  #imperion-frontdoor .fd-detail-pane.fd-modal .fd-photo {
    width:100%;height:155px;min-height:155px;max-height:155px;flex:0 0 155px;
  }
  #imperion-frontdoor .fd-detail-pane.fd-modal .fd-detail-content {
    padding:20px 19px 25px;max-height:none;overflow:visible;
  }
  #imperion-frontdoor .fd-detail-pane.fd-modal .fd-detail-content h3 {font-size:28px;}
  #imperion-frontdoor .fd-detail-pane.fd-modal .fd-description {font-size:15px;}
  #imperion-frontdoor .fd-detail-pane.fd-modal .fd-facts {font-size:14px;}
  #imperion-frontdoor .fd-detail-pane.fd-modal .fd-actions {position:sticky;bottom:-25px;}
}
@supports not (height:100dvh){
  #imperion-frontdoor .fd-detail-pane.fd-modal {height:min(700px,calc(100vh - 72px));max-height:calc(100vh - 72px);}
  @media(max-width:700px){#imperion-frontdoor .fd-detail-pane.fd-modal {height:auto;max-height:88vh;}}
}

/* User-requested alternative to the calendar: full chronological picture list.
   Rows use only the same verified public catalogue as the calendar. */
#imperion-frontdoor .fd-all-section {
  margin-top:34px;padding-top:27px;border-top:1px solid #7497877a;
}
#imperion-frontdoor .fd-all-head {
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  margin-bottom:19px;
}
#imperion-frontdoor .fd-all-head h3 {
  margin:0;color:#fff0d6;font:600 clamp(24px,2.5vw,34px)/1.2 Georgia,serif;
}
#imperion-frontdoor .fd-all-head p {
  color:#cbdbd3;max-width:440px;margin:0;font-size:14px;line-height:1.5;
}
#imperion-frontdoor .fd-all-list {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;
}
#imperion-frontdoor .fd-all-item {min-width:0;}
#imperion-frontdoor .fd-all-event {
  display:flex;align-items:center;gap:15px;width:100%;min-height:109px;
  padding:12px;text-align:left;color:#f6f4ed;cursor:pointer;
  background:linear-gradient(140deg,#17383b,#102c32);
  border:1px solid #668a7e;border-radius:13px;
  transition:transform .15s,background .15s;
}
#imperion-frontdoor .fd-all-event:hover {
  background:#245047;transform:translateY(-1px);
}
#imperion-frontdoor .fd-all-photo {
  width:118px;height:84px;flex:0 0 118px;object-fit:cover;
  background:#24444a;border:1px solid #789182;border-radius:8px;
}
#imperion-frontdoor .fd-all-copy {
  display:flex;flex-direction:column;gap:5px;min-width:0;flex:1;
}
#imperion-frontdoor .fd-all-meta {
  display:flex;gap:8px;flex-wrap:wrap;color:#eed295;
  font-size:12px;font-weight:750;line-height:1.35;
}
#imperion-frontdoor .fd-all-copy strong {
  color:#fff6e5;font-size:17px;line-height:1.3;overflow-wrap:anywhere;
}
#imperion-frontdoor .fd-all-foot {
  color:#cce0d9;font-size:13px;line-height:1.4;overflow-wrap:anywhere;
}
#imperion-frontdoor .fd-all-arrow {
  color:#f4d28b;font-size:27px;font-weight:750;line-height:1;flex:0 0 auto;
}
#imperion-frontdoor .fd-all-empty {
  color:#d2e0d5;margin:8px 2px;font-size:14px;line-height:1.5;
  grid-column:1/-1;
}
@media(max-width:850px){
  #imperion-frontdoor .fd-all-list {grid-template-columns:1fr;}
  #imperion-frontdoor .fd-all-head {align-items:flex-start;flex-direction:column;gap:7px;}
}
@media(max-width:440px){
  #imperion-frontdoor .fd-all-event {gap:10px;padding:9px;min-height:95px;}
  #imperion-frontdoor .fd-all-photo {width:91px;height:77px;flex-basis:91px;}
  #imperion-frontdoor .fd-all-meta {font-size:11px;gap:5px;}
  #imperion-frontdoor .fd-all-copy strong {font-size:15px;}
  #imperion-frontdoor .fd-all-foot {font-size:12px;}
  #imperion-frontdoor .fd-all-arrow {font-size:22px;}
}
@media(prefers-reduced-motion:reduce){
  #imperion-frontdoor .fd-all-event {transition:none;}
}

/* All first-level pages share one sticky header rhythm and palette. */
#imperion-frontdoor .fd-header{position:sticky;top:0;z-index:5;min-height:83px;height:auto;background:linear-gradient(110deg,#0c2327f7,#091c21f7 68%,#101c20f7);border-bottom:1px solid #cfa96b67;box-shadow:0 4px 26px #010d1380;backdrop-filter:blur(14px)}
#imperion-frontdoor .fd-header-inner{width:min(1320px,calc(100% - 48px))}
#imperion-frontdoor .fd-hero{min-height:calc(100svh - 83px);height:auto}
#imperion-frontdoor .fd-nav a:focus-visible,#imperion-frontdoor .fd-languages button:focus-visible{outline:3px solid #f5d58d;outline-offset:3px}
@media(max-width:630px){#imperion-frontdoor .fd-header{min-height:99px}#imperion-frontdoor .fd-header-inner{width:calc(100% - 25px)}}

/* Event overlays must cover the header and remain keyboard/pointer accessible. */
#imperion-frontdoor .fd-modal-backdrop{z-index:225}
#imperion-frontdoor .fd-detail-pane.fd-modal{z-index:226}
