/* День факультета культуры — шаблон «День факультета» СПбГУП.
   Все правила внутри .fd. Шрифты Merriweather и SF Pro Display подключены шаблоном сайта. */
:root { color-scheme: light; }
.fd { --blue: #1383c6; --link: #0b76b6; --deep: #0a5f93; --tint: #eef6fb; --red: #8b0e04; --red-dark: #6e0b03; --ink: #282e32; --text: #3a4248; --muted: #5f6870; --line: #e2e7eb; --soft: #f5f7f9; --night: #0a1a2c; --night-2: #10284a; --c-ad: #8b0e04; --c-journ: #1383c6; --c-psy: #0a3f66; --c-ling: #5fb0e0; --c-skd: #3d6f94; --c-all: #0a5f93; --t-ad: #8b0e04; --t-journ: #0b76b6; --t-psy: #0a3f66; --t-ling: #1f6f9f; --t-skd: #2f5f84; --t-all: #0a5f93; --l-ad: #f7eceb; --l-journ: #e8f3fb; --l-psy: #e4ebf2; --l-ling: #eef7fd; --l-skd: #e9f0f6; --l-all: #f5f7f9; --serif: Merriweather,Georgia,serif; --sans: SFProDisplay,"SF Pro Display",Roboto,Arial,sans-serif; --max: 1200px; --sy: 88px; font: 16px/1.55 var(--sans); color: var(--text); background: rgb(255, 255, 255); }
.fd *, .fd ::before, .fd ::after { box-sizing: border-box; }
.fd :where(h1, h2, h3, p, ul, ol, dl, dd, figure, fieldset) { margin: 0px; padding: 0px; border: 0px; }
.fd img { display: block; max-width: 100%; }
.fd :where(a) { text-decoration: none; color: var(--link); }
.fd :focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.fd [hidden] { display: none !important; }
.fd-wrap { max-width: var(--max); margin: 0px auto; padding-left: max(24px,env(safe-area-inset-left,0px)); padding-right: max(24px,env(safe-area-inset-right,0px)); }
.fd-sec { padding-block: var(--sy); }
.fd-h1 { font: 900 54px/1.1 var(--serif); color: var(--ink); text-wrap: balance; letter-spacing: -0.01em;   margin-bottom: 0 !important;}
.fd-h2 { font: 700 32px/1.25 var(--serif); color: var(--ink); text-wrap: balance;   margin-bottom: 0 !important;   text-align: left !important;}
.fd .day .fd-h3 { font: 700 18px/1.35 var(--serif); color: var(--ink);   margin-bottom: 0 !important;   text-align: left !important;}
.fd-lead { font-size: 18px; line-height: 1.55; max-width: 620px; }
.fd-eyebrow { font: 700 13px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--link); }
.fd-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
.fd-head .fd-lead { margin-top: 10px; font-size: 16px; color: var(--muted); }
.fd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 14px 30px; font: 700 15px/1.2 var(--sans); letter-spacing: 0.04em; text-transform: uppercase; border: 2px solid transparent; border-radius: 0px; cursor: pointer; transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.2s; }
.fd-btn--red { background: var(--red); color: rgb(255, 255, 255); }
.fd-btn--red:hover { background: var(--red-dark); }
.fd-btn--line { background: transparent; color: var(--link); border-color: var(--blue); }
.fd-btn--line:hover { background: var(--blue); color: rgb(255, 255, 255); }
.fd-btn--ghost:hover { background: rgb(255, 255, 255); color: var(--night); }
.fd-btn__arrow { transition: transform 0.2s; }
.fd-btn:hover .fd-btn__arrow { transform: translateX(4px); }
.fd-note { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); }
.fd-note::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--red); flex: 0 0 auto; }
.fd-timer { display: flex; align-items: stretch; font-variant-numeric: tabular-nums; }
.fd-timer__u { display: flex; flex-direction: column; justify-content: center; padding: 0px 22px; border-left: 1px solid rgb(207, 224, 236); }
.fd-timer__u:first-child { padding-left: 0px; border-left: 0px; }
.fd-timer__n { font: 300 46px/1 Roboto,var(--sans); color: var(--deep); letter-spacing: -0.01em; }
.fd-timer__l { margin-top: 6px; font: 500 12px/1.2 var(--sans); color: var(--muted); }
.fd-timer__sep { display: none; }
.fd-timer-cap { display: flex; align-items: center; gap: 10px; font: 700 12px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--link); margin-bottom: 14px; }
.fd-timer-cap::after { content: ""; flex: 1 1 0%; height: 1px; background: rgb(207, 224, 236); }
.fd-timer-today { font: 700 26px/1.25 var(--serif); color: var(--red); }
.h1v { display: grid; grid-template-columns: minmax(0px, 1.1fr) minmax(0px, 1fr); background: rgb(255, 255, 255); }
.h1v__text { display: flex; flex-direction: column; justify-content: center; gap: 24px; padding: 56px 56px 56px max(24px,calc(50vw - var(--max)/2 + 24px)); }
.h1v__meta { display: flex; flex-wrap: wrap; gap: 6px 0px; font: 700 17px/1.35 var(--serif); color: var(--ink); }
.h1v__meta span + span::before { content: ""; display: inline-block; width: 5px; height: 5px; margin: 0px 14px 3px; border-radius: 50%; background: var(--blue); }
.h1v__meta span:first-child { color: var(--red); }
.h1v__photo { position: relative; min-height: 600px; overflow: hidden; background: rgb(223, 233, 241); }
.h1v__photo img { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
.h1v__photo::after { content: ""; position: absolute; inset: auto 0px 0px; height: 6px; background: linear-gradient(90deg,var(--c-ad) 0 25%,var(--c-journ) 25% 50%,var(--c-psy) 50% 75%,var(--c-ling) 75%); }
.lineup a:hover { background: var(--tint); }
.hC__mosaic figure:hover img { transform: scale(1.04); }
.role { font: 700 22px/1.35 var(--serif); color: var(--ink); height: 2.7em; margin: 0px; }
.role__line { display: inline-block; white-space: nowrap; }
.role__w { color: var(--tc); border-bottom: 3px solid; }
.role__caret { display: inline-block; width: 2px; height: 1em; margin-left: 3px; vertical-align: -0.12em; background: var(--ink); animation: 1s steps(1) 0s infinite normal none running fdCaret; }
@keyframes fdCaret { 
  50% { opacity: 0; }
}
.stage img { opacity: 0; transform: scale(1.04); transition: opacity 0.9s, transform 6s; }
.stage img.is-on { opacity: 1; transform: scale(1); }
.stage::before { content: ""; position: absolute; inset: auto 0px 0px; height: 46%; z-index: 1; background: linear-gradient(rgba(8, 24, 40, 0) 0%, rgba(8, 24, 40, 0.55) 55%, rgba(8, 24, 40, 0.82) 100%); pointer-events: none; }
.stage__cap { position: absolute; z-index: 2; left: 36px; right: 36px; bottom: 30px; display: flex; flex-direction: column; gap: 6px; margin: 0px; color: rgb(255, 255, 255); }
.stage__cap::before { content: ""; width: 40px; height: 3px; margin-bottom: 6px; background: var(--c); transition: background-color 0.4s; }
.stage__cap b { font: 700 12px/1.3 var(--sans); letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.85); }
.stage__cap span { max-width: 440px; font: 700 21px/1.35 var(--serif); color: rgb(255, 255, 255); text-wrap: balance; }
.stage__cap.is-swap { animation: 0.6s ease 0s 1 normal none running fdCap; }
@keyframes fdCap { 
  0% { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: none; }
}
.h1v__photo.stage::after { display: none; }
.dchips { background: rgb(255, 255, 255); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.dchips__in { display: flex; align-items: center; gap: 20px; padding-block: 16px; }
.dchips__cap { flex: 0 0 auto; font: 700 12px/1.4 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--link); }
.dchips__row { display: flex; flex-wrap: nowrap; gap: 6px; min-width: 0px; }
.dchips a { position: relative; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; font: 500 13px/1.2 var(--sans); white-space: nowrap; color: var(--ink); background: rgb(255, 255, 255); border: 1px solid var(--c); overflow: hidden; transition: color 0.3s; }
.dchips a::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--c); flex: 0 0 auto; transition: background-color 0.3s; }
.dchips a::after { content: ""; position: absolute; inset: 0px; z-index: -1; background: var(--c); transform: scaleX(0); transform-origin: left center; transition: transform 0.45s; }
.dchips a { isolation: isolate; }
.dchips a.is-on, .dchips a:hover { color: rgb(255, 255, 255); }
.dchips a.is-on::after, .dchips a:hover::after { transform: scaleX(1); }
.dchips a.is-on::before, .dchips a:hover::before { background: rgb(255, 255, 255); }
.dchips a[style*="c-ling"].is-on, .dchips a[style*="c-ling"]:hover { color: var(--ink); }
.dchips a[style*="c-ling"].is-on::before, .dchips a[style*="c-ling"]:hover::before { background: var(--ink); }
@media (max-width: 767px){
  .role { font-size: 18px; }
  .stage__cap { left: 16px; right: 16px; bottom: 14px; gap: 3px; }
  .stage__cap::before { width: 28px; margin-bottom: 3px; }
  .stage__cap span { font-size: 15px; }
  .stage::before { height: 60%; }
  .dchips__in { flex-direction: column; align-items: stretch; gap: 10px; padding-block: 14px; }
  .dchips__row { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(-1*max(16px,env(safe-area-inset-right,0px))); padding-right: 16px; scrollbar-width: none; }
  .dchips__row::-webkit-scrollbar { display: none; }
  .dchips a { flex: 0 0 auto; font-size: 13px; padding: 8px 12px; }
}
@media (prefers-reduced-motion: reduce){
  .role__caret { display: none; }
  .stage img { transition: opacity 0.3s; }
}
.rt { background: var(--tint); }
.rt__steps { display: flex; gap: 6px; margin: -8px 0px 28px; counter-reset: none; }
.rt__steps li { display: flex; align-items: center; gap: 10px; flex: 1 1 0%; padding: 12px 14px; background: rgb(255, 255, 255); color: var(--muted); font: 500 14px/1.2 var(--sans); border-bottom: 3px solid var(--line); transition: color 0.3s, border-color 0.3s; }
.rt__steps i { width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--tint); font: normal 700 13px/1 var(--serif); color: var(--deep); flex: 0 0 auto; transition: background-color 0.3s, color 0.3s; }
.rt__steps li.is-on { color: var(--ink); border-color: var(--blue); }
.rt__steps li.is-on i { background: var(--blue); color: rgb(255, 255, 255); }
.rt__steps li.is-done { color: var(--ink); border-color: var(--deep); }
.rt__steps li.is-done i { background: var(--deep); color: rgb(255, 255, 255); }
.rt__panel { animation: 0.45s ease 0s 1 normal none running rtIn; }
@keyframes rtIn { 
  0% { opacity: 0; transform: translateY(12px); }
  100% { opacity: 1; transform: none; }
}
.rt__q { font: 700 20px/1.35 var(--serif); color: var(--ink); margin-bottom: 18px; }
.rt__dirs { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 12px; }
.rd { position: relative; display: flex; flex-direction: column; gap: 10px; min-height: 190px; padding: 20px 18px 16px; text-align: left; background: rgb(255, 255, 255); border: 1px solid var(--line); color: var(--ink); cursor: pointer; font-family: var(--sans); overflow: hidden; isolation: isolate; transition: color 0.35s, border-color 0.35s, box-shadow 0.35s; }
.rd::before { content: ""; position: absolute; inset: 0px; z-index: -1; background: var(--c); transform: translateY(101%); transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1); }
.rd:hover { border-color: var(--c); box-shadow: rgba(10, 60, 100, 0.6) 0px 18px 36px -28px; }
.rd[aria-pressed="true"] { color: rgb(255, 255, 255); border-color: var(--c); }
.rd[aria-pressed="true"]::before { transform: none; }
.rd[style*="c-ling"][aria-pressed="true"] { color: var(--ink); }
.rd__ic { width: 44px; height: 44px; color: var(--tc); transition: color 0.35s; }
.rd[aria-pressed="true"] .rd__ic { color: currentcolor; }
.rd__ic svg .k { fill: currentcolor; }
.rd__ic svg { width: 100%; height: 100%; fill: none; stroke: currentcolor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.rd__t { font: 700 17px/1.3 var(--serif); }
.rd__d { flex: 1 1 0%; font-size: 14px; line-height: 1.45; opacity: 0.85; }
.rd__f { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 13px; }
.rd__f a { color: inherit; text-decoration: underline; text-underline-offset: 3px; opacity: 0.8; }
.rd__chk { width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid; display: flex; align-items: center; justify-content: center; opacity: 0.5; }
.rd[aria-pressed="true"] .rd__chk { opacity: 1; background: rgb(255, 255, 255); border-color: rgb(255, 255, 255); }
.rd[aria-pressed="true"] .rd__chk::after { content: ""; width: 6px; height: 11px; border-top-color: ; border-top-style: ; border-right-color: ; border-right-style: ; border-bottom-color: ; border-bottom-style: ; border-left-color: ; border-left-style: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-width: 0px 2px 2px 0px; transform: translateY(-1px) rotate(45deg); }
.rd--unknown { border-style: dashed; border-color: rgb(159, 191, 214); }
.rd:hover .a-mask, .rd[aria-pressed="true"] .a-mask { transform: rotate(-12deg); }
.rd:hover .a-clap, .rd[aria-pressed="true"] .a-clap { transform: rotate(-18deg); }
.rd:hover .a-k1, .rd[aria-pressed="true"] .a-k1 { transform: translateY(8px); }
.rd:hover .a-k2, .rd[aria-pressed="true"] .a-k2 { transform: translateY(-8px); }
.rd:hover .a-k3, .rd[aria-pressed="true"] .a-k3 { transform: translateY(5px); }
.rd:hover .a-chair, .rd[aria-pressed="true"] .a-chair { transform: translateY(-3px); }
.rd:hover .a-shoe, .rd[aria-pressed="true"] .a-shoe { transform: rotate(-10deg) translateY(-2px); }
.rd:hover .a-page, .rd[aria-pressed="true"] .a-page { transform: rotate(-5deg) translateY(-1px); }
.rd .a-j { transform-origin: 18px 41px; transition: transform 0.5s cubic-bezier(0.3, 1.6, 0.5, 1); }
.rd:hover .a-j, .rd[aria-pressed="true"] .a-j { transform: rotate(-10deg); }
.rd .a-ad { opacity: 0.35; transform: translateX(-3px); transition: opacity 0.35s, transform 0.45s; }
.rd:hover .a-ad, .rd[aria-pressed="true"] .a-ad { opacity: 1; transform: translateX(1.5px); }
.rd .a-psy { transform-origin: 21.5px 20px; transition: transform 0.5s cubic-bezier(0.3, 1.6, 0.5, 1); }
.rd:hover .a-psy, .rd[aria-pressed="true"] .a-psy { transform: translateY(-1.5px) scale(1.12); }
.rd .a-ling { transform-origin: 38px 41px; transition: transform 0.5s cubic-bezier(0.3, 1.6, 0.5, 1); }
.rd:hover .a-ling, .rd[aria-pressed="true"] .a-ling { transform: rotate(-6deg); }
.rd .a-skd { transform-origin: 33px 37px; transition: transform 0.5s cubic-bezier(0.3, 1.6, 0.5, 1); }
.rd:hover .a-skd, .rd[aria-pressed="true"] .a-skd { transform: translateX(1px) rotate(10deg); }
.rd .a-needle { transform-origin: 24px 24px; transition: transform 0.9s cubic-bezier(0.3, 1.4, 0.5, 1); }
.rd:hover .a-needle { transform: rotate(200deg); }
.rt__bar { display: flex; align-items: center; justify-content: flex-end; gap: 16px; flex-wrap: wrap; margin-top: 22px; }
.rt__hint { font-size: 14px; color: var(--muted); }
.rt__bar .fd-btn[disabled] { opacity: 0.45; pointer-events: none; }
.fd-btn--ghost2 { background: transparent; color: var(--link); border-color: transparent; padding-inline: 8px; }
.fd-btn--ghost2:hover { color: var(--deep); }
.qz { max-width: 760px; }
.qz__n { font: 700 12px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--link); margin-bottom: 8px; }
.qz__opts { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px; }
.qz__opts button { padding: 16px 18px; text-align: left; background: rgb(255, 255, 255); border: 1px solid var(--line); font: 500 15px/1.4 var(--sans); color: var(--ink); cursor: pointer; transition: border-color 0.2s, background-color 0.2s; }
.qz__opts button:hover { border-color: var(--blue); background: rgb(247, 251, 254); }
.qz__res { padding: 26px 28px; background: rgb(255, 255, 255); border-left: 4px solid var(--blue); }
.qz__res h3 { font: 700 22px/1.3 var(--serif); color: var(--ink); margin-bottom: 8px; }
.qz__res p { font-size: 15px; }
.qz__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0px 4px; }
.qz__chips span { padding: 6px 12px; background: var(--c); color: rgb(255, 255, 255); font: 500 14px/1.2 var(--sans); }
.rt__prog { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.rt__prog-b { flex: 1 1 0%; height: 6px; background: rgb(255, 255, 255); overflow: hidden; }
.rt__prog-b i { display: block; height: 100%; background: var(--blue); transition: width 0.4s; }
.rt__prog span { font: 500 14px/1.2 var(--sans); color: var(--ink); white-space: nowrap; }
.rs { display: grid; grid-template-columns: 130px minmax(0px, 1fr); gap: 20px; padding: 14px 0px; border-top: 1px solid rgb(213, 228, 239); }
.rs__t { font: 700 16px/1.3 var(--serif); color: var(--ink); padding-top: 12px; }
.rs__t small { display: block; margin-top: 4px; font: 700 10px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.rs__items { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
.ri { display: grid; grid-template-columns: minmax(0px, 1fr) 26px; gap: 10px; align-items: center; padding: 12px 14px; text-align: left; background: rgb(255, 255, 255); border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: none; border-left: 4px solid var(--c); cursor: pointer; font-family: var(--sans); color: var(--ink); transition: background-color 0.2s, box-shadow 0.2s; }
.ri:hover { box-shadow: rgba(10, 60, 100, 0.6) 0px 10px 24px -18px; }
.ri b { display: block; font: 700 15px/1.35 var(--serif); }
.ri small { display: block; margin-bottom: 3px; font: 700 10px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--tc); }
.ri[aria-pressed="true"] { background: var(--cl); }
.ri[aria-pressed="true"] .mark { background: var(--c); border-color: var(--c); }
.ri[aria-pressed="true"] .mark::after { border-color: rgb(255, 255, 255); }
.rc { display: grid; grid-template-columns: minmax(0px, 1.2fr) minmax(0px, 0.8fr); gap: 28px; align-items: start; }
.rc__card { background: rgb(255, 255, 255); padding: 30px 32px; box-shadow: rgba(10, 60, 100, 0.6) 0px 30px 60px -40px; border-top: 4px solid transparent; border-image: linear-gradient(90deg,var(--c-ad),var(--c-journ),var(--c-psy),var(--c-ling)) 1; }
.rc__k { font: 700 12px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--link); }
.rc__h { font: 700 26px/1.25 var(--serif); color: var(--ink); margin: 6px 0px 18px; }
.rc__list { display: grid; gap: 0px; }
.rc__list li { display: grid; grid-template-columns: 96px 4px minmax(0px, 1fr); gap: 14px; padding: 11px 0px; border-top: 1px solid var(--line); font-size: 15px; color: var(--ink); animation: 0.4s ease 0s 1 normal both running rtIn; }
.rc__list li::before { content: ""; grid-area: 1 / 2; background: var(--c); }
.rc__list span { grid-area: 1 / 1; color: var(--muted); font-variant-numeric: tabular-nums; }
.rc__list b { grid-area: 1 / 3; font: 700 15px/1.35 var(--serif); }
.rc__meta { margin-top: 16px; font-size: 14px; color: var(--muted); }
.rc__acts { display: flex; flex-direction: column; gap: 10px; }
.rc__acts .fd-btn { width: 100%; }
.rc__acts p { font-size: 14px; color: var(--muted); margin-top: 4px; }
@media (max-width: 1023px){
  .rt__dirs { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .rc { grid-template-columns: 1fr; }
}
@media (max-width: 767px){
  .rt__steps { margin: -4px 0px 20px; }
  .rt__steps li { padding: 10px 8px; font-size: 12px; gap: 6px; }
  .rt__steps i { width: 22px; height: 22px; font-size: 12px; }
  .rt__q { font-size: 17px; }
  .rd { min-height: 0px; padding: 14px 12px 12px; gap: 6px; }
  .rd__ic { width: 34px; height: 34px; }
  .rd__t { font-size: 15px; }
  .rd__d { font-size: 13px; }
  .rd__f a { display: none; }
  .rd__f { justify-content: flex-end; }
  .qz__opts { grid-template-columns: 1fr; }
  .rt__bar { flex-direction: column-reverse; align-items: stretch; gap: 8px; }
  .rt__bar .fd-btn { width: 100%; }
  .rt__hint { width: 100%; text-align: center; }
  .rs { grid-template-columns: 1fr; gap: 8px; padding: 12px 0px; }
  .rs__t { padding-top: 0px; }
  .rs__items { grid-template-columns: 1fr; }
  .rc__card { padding: 22px 18px; }
  .rc__h { font-size: 22px; }
  .rc__list li { grid-template-columns: 96px 4px minmax(0px, 1fr); gap: 10px; font-size: 13px; }
  .rc__list span { white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce){
  .rt__panel, .rc__list li { animation: auto ease 0s 1 normal none running none; }
}
.pnav { position: sticky; top: env(safe-area-inset-top,0px); z-index: 9; background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.pnav__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; }
.pnav__links { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; min-width: 0px; }
.pnav__links::-webkit-scrollbar { display: none; }
.pnav__links a { flex: 0 0 auto; position: relative; padding: 18px 12px; font: 500 14px/1.2 var(--sans); color: var(--text); white-space: nowrap; transition: color 0.2s; }
.pnav__links a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0px; height: 3px; background: var(--blue); transform: scaleX(0); transition: transform 0.25s; }
.pnav__links a:hover, .pnav__links a.is-on { color: var(--ink); }
.pnav__links a.is-on::after { transform: scaleX(1); }
.pnav__links a.pnav__hl { margin: 10px 6px; padding: 8px 14px; background: rgb(247, 236, 235); color: var(--red); font-weight: 700; box-shadow: rgba(139, 14, 4, 0.25) 0px 0px 0px 1px inset; }
.pnav__links a.pnav__hl::after { display: none; }
.pnav__links a.pnav__hl:hover, .pnav__links a.pnav__hl.is-on { background: rgb(241, 220, 218); color: var(--red-dark); }
.pnav__cta { flex: 0 0 auto; min-height: 42px; padding: 10px 18px; font-size: 13px; }
.fd [id] { scroll-margin-top: 72px; }
.fd-head .rt__group { align-self: flex-end; display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; background: rgb(255, 255, 255); border: 1px solid var(--line); font: 500 14px/1.3 var(--sans); color: var(--link); transition: border-color 0.2s; }
.rt__group span { color: var(--muted); }
.rt__group:hover { border-color: var(--blue); }
.rt__group i { font-style: normal; transition: transform 0.2s; }
.rt__group:hover i { transform: translateX(3px); }
.qz__help { display: flex; flex-direction: column; gap: 6px; margin-top: 20px; padding: 18px 20px; background: var(--tint); }
.qz__help b { font: 700 16px/1.35 var(--serif); color: var(--ink); }
.qz__help span { font-size: 14px; color: var(--text); }
.qz__help .fd-btn { align-self: flex-start; margin-top: 8px; min-height: 44px; padding: 10px 18px; font-size: 13px; }
.prog.fd-sec { padding-block: 40px; }
.acc { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 22px 26px; background: rgb(255, 255, 255); border: 1px solid var(--line); cursor: pointer; text-align: left; font-family: var(--sans); transition: border-color 0.2s, box-shadow 0.2s; }
.acc:hover { border-color: var(--blue); box-shadow: rgba(10, 60, 100, 0.6) 0px 18px 36px -30px; }
.acc__t { display: flex; flex-direction: column; gap: 4px; }
.acc__t b { font: 700 24px/1.3 var(--serif); color: var(--ink); }
.acc__d { font-size: 14px; color: var(--muted); }
.acc__i { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--blue); position: relative; transition: transform 0.3s, background-color 0.2s; }
.acc__i::before, .acc__i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 2px; margin: -1px 0px 0px -8px; background: var(--blue); transition: transform 0.3s; }
.acc__i::after { transform: rotate(90deg); }
.acc[aria-expanded="true"] .acc__i::after { transform: rotate(0deg); }
.acc[aria-expanded="true"] { border-bottom-color: transparent; }
#prog-body { padding-top: 24px; animation: 0.4s ease 0s 1 normal none running rtIn; }
.crs2 { background: var(--deep); color: rgb(255, 255, 255); position: relative; overflow: hidden; }
.crs2::before { content: ""; position: absolute; inset: 0px 0px auto; height: 6px; background: linear-gradient(90deg,var(--c-ad) 0 20%,var(--c-journ) 20% 40%,var(--c-psy) 40% 60%,var(--c-ling) 60% 80%,#9fd0ef 80%); }
.crs2__in { display: grid; grid-template-columns: minmax(0px, 1.1fr) minmax(0px, 0.9fr); gap: 56px; align-items: center; padding-block: 72px; }
.crs2__text { display: flex; flex-direction: column; gap: 18px; }
.crs2__k { font: 700 12px/1.3 var(--sans); letter-spacing: 0.12em; text-transform: uppercase; color: rgb(159, 208, 239); }
.crs2__h { font: 700 34px/1.2 var(--serif); color: rgb(255, 255, 255) !important; text-wrap: balance;   margin-bottom: 0 !important;
  text-align: left !important;
  line-height: 1.2 !important;}
.crs2__lead { font-size: 17px; line-height: 1.55; color: rgba(255, 255, 255, 0.85); max-width: 560px; }
.crs2__pts { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 16px; margin: 6px 0px 4px; }
.crs2__pts li { display: flex; flex-direction: column; gap: 4px; padding-top: 12px; border-top: 2px solid rgba(255, 255, 255, 0.3); }
.crs2__pts b { font: 700 15px/1.3 var(--serif); }
.crs2__pts span { font-size: 13px; line-height: 1.45; color: rgba(255, 255, 255, 0.75); }
.crs2__btn { align-self: flex-start; background: rgb(255, 255, 255); color: var(--red); }
.crs2__btn:hover { background: var(--tint); }
.crs2__list { display: grid; gap: 8px; }
.crs2__list li { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 2px 16px; align-items: center; padding: 16px 18px; background: rgba(255, 255, 255, 0.08); border-left: 4px solid var(--c); }
.crs2__list b { font: 700 16px/1.3 var(--serif); }
.crs2__list span { font-size: 13px; color: rgba(255, 255, 255, 0.7); }
.crs2__list i { grid-area: 1 / 2 / span 2; font: normal 700 11px/1.3 var(--sans); letter-spacing: 0.08em; text-transform: uppercase; color: rgb(159, 208, 239); white-space: nowrap; }
@media (max-width: 1023px){
  .crs2__in { grid-template-columns: 1fr; gap: 28px; padding-block: 52px; }
  .pnav__cta { display: none; }
}
@media (max-width: 767px){
  .pnav__in { min-height: 50px; }
  .pnav__links { margin: 0 calc(-1*max(16px,env(safe-area-inset-left,0px))); padding: 0px 16px; }
  .pnav__links a { padding: 15px 10px; font-size: 13px; }
  .pnav__links a.pnav__hl { margin: 8px 4px; padding: 7px 12px; }
  .fd [id] { scroll-margin-top: 60px; }
  .fd-head .rt__group { align-self: stretch; justify-content: space-between; font-size: 13px; }
  .acc { padding: 16px; }
  .acc__t b { font-size: 19px; }
  .acc__i { width: 38px; height: 38px; }
  .crs2__h { font-size: 25px; }
  .crs2__lead { font-size: 15px; }
  .crs2__pts { grid-template-columns: 1fr; gap: 10px; }
  .crs2__btn { align-self: stretch; }
  .crs2__list li { padding: 12px 14px; }
}
.prog { background: var(--tint); position: relative; }
.prog::before { content: ""; position: absolute; inset: 0px 0px auto; height: 6px; background: linear-gradient(90deg,var(--c-ad) 0 25%,var(--c-journ) 25% 50%,var(--c-psy) 50% 75%,var(--c-ling) 75%); }
.dirs-pick { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.dirs-pick button { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 10px 18px; font: 500 15px/1.2 var(--sans); color: var(--ink); background: rgb(255, 255, 255); border: 1px solid rgb(207, 216, 222); cursor: pointer; transition: background-color 0.2s, border-color 0.2s, color 0.2s; }
.dirs-pick button::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.dirs-pick button:hover { border-color: var(--c); }
.dirs-pick button[aria-pressed="true"] { background: var(--c); border-color: var(--c); color: rgb(255, 255, 255); }
.dirs-pick button[aria-pressed="true"]::before { background: rgb(255, 255, 255); }
.dirs-pick button[data-f=""] { --c: var(--deep); }
.prog-count { font-size: 14px; color: var(--muted); margin: -8px 0px 22px; }
.p1 { border-top: 1px solid var(--line); }
.p1__slot { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 16px 0px; border-bottom: 1px solid var(--line); }
.p1__time { display: flex; align-items: baseline; gap: 10px; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-east-asian: ; font-variant-alternates: ; font-variant-position: ; font-variant-emoji: ; font-weight: ; font-stretch: ; font-size: ; line-height: ; font-family: ; font-optical-sizing: ; font-size-adjust: ; font-kerning: ; font-feature-settings: ; font-variation-settings: ; font-language-override: ; color: var(--ink); font-variant-numeric: tabular-nums; }
.p1__time small { font: 700 10px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.p1__items { display: grid; gap: 6px; }
.p1__it { display: grid; grid-template-columns: minmax(0px, 1fr) 28px; gap: 12px; align-items: center; width: 100%; padding: 12px 14px 12px 16px; text-align: left; background: rgb(255, 255, 255); border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: none; border-left: 4px solid var(--c); box-shadow: 0 0 0 1px var(--line) inset; cursor: pointer; font-family: var(--sans); color: var(--ink); transition: background-color 0.2s; }
.p1__kind { display: block; font: 700 10px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--tc); margin-bottom: 3px; }
.p1__title { display: block; font: 700 16px/1.35 var(--serif); }
.p1__who { display: block; margin-top: 3px; font: italic 400 13px/1.35 var(--serif); color: var(--muted); }
.mark { width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid rgb(185, 201, 214); display: flex; align-items: center; justify-content: center; transition: background-color 0.2s, border-color 0.2s; }
.mark::after { content: ""; width: 6px; height: 11px; border-style: solid; border-color: transparent; border-image: none; border-width: 0px 2px 2px 0px; transform: translateY(-1px) rotate(45deg); }
[aria-pressed="true"] .mark { background: var(--c); border-color: var(--c); }
[aria-pressed="true"] .mark::after { border-color: rgb(255, 255, 255); }
.p1__it[aria-pressed="true"] { background: var(--cl); }
.tl { position: relative; }
.tl__slot { position: relative; display: grid; grid-template-columns: 150px minmax(0px, 1fr); gap: 28px; padding-bottom: 28px; }
.tl__slot::before { content: ""; position: absolute; left: 5px; top: 12px; bottom: -4px; width: 2px; background: rgb(188, 216, 234); }
.tl__slot:last-child::before { display: none; }
.tl__time { position: relative; padding-left: 28px; }
.tl__time::before { content: ""; position: absolute; left: 0px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: rgb(255, 255, 255); border: 3px solid var(--blue); }
.tl__time b { display: block; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-east-asian: ; font-variant-alternates: ; font-variant-position: ; font-variant-emoji: ; font-weight: ; font-stretch: ; font-size: ; line-height: ; font-family: ; font-optical-sizing: ; font-size-adjust: ; font-kerning: ; font-feature-settings: ; font-variation-settings: ; font-language-override: ; color: var(--ink); font-variant-numeric: tabular-nums; }
.tl__time small { display: block; margin-top: 6px; font: 700 10px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.tl__cards { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 14px; }
.tl__card { position: relative; display: flex; flex-direction: column; width: 100%; padding: 0px; text-align: left; background: rgb(255, 255, 255); border: 0px; cursor: pointer; font-family: var(--sans); color: var(--text); box-shadow: rgba(10, 60, 100, 0.08) 0px 1px 2px, rgba(10, 60, 100, 0.6) 0px 14px 30px -26px; transition: transform 0.2s, box-shadow 0.2s; }
.tl__card:hover { transform: translateY(-3px); box-shadow: rgba(10, 60, 100, 0.08) 0px 1px 2px, rgba(10, 60, 100, 0.6) 0px 22px 40px -24px; }
.tl__card--wide { grid-column: span 2; }
.tl__band { display: flex; justify-content: space-between; gap: 8px; padding: 9px 16px; background: var(--c); color: rgb(255, 255, 255); font: 700 10px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; }
.tl__body { flex: 1 1 0%; display: flex; flex-direction: column; gap: 6px; padding: 16px 16px 10px; }
.tl__title { font: 700 17px/1.35 var(--serif); color: var(--ink); }
.tl__who { font: italic 400 13px/1.4 var(--serif); color: var(--muted); }
.tl__d { font-size: 14px; line-height: 1.5; }
.tl__foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 16px 14px; font-size: 12px; color: var(--muted); }
.tl__card[style*="c-ling"] .tl__band, .dirs-pick button[style*="c-ling"][aria-pressed="true"] { color: var(--c-psy); }
.tl__card[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--c),0 22px 40px -24px rgba(10,60,100,.6); }
.tl__card[aria-pressed="true"] .tl__body { background: var(--cl); }
.prog-mob { display: none; }
.plan { position: sticky; bottom: 0px; z-index: 30; margin-top: 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 14px 20px; background: rgb(255, 255, 255); color: var(--ink); border-top: 3px solid var(--blue); box-shadow: rgba(10, 60, 100, 0.5) 0px -16px 30px -22px; }
.plan__n { font: 700 16px/1.35 var(--serif); }
.plan__dots { display: flex; gap: 4px; margin-top: 6px; }
.plan__dots i { width: 18px; height: 5px; background: var(--c); }
.plan .fd-btn { min-height: 46px; padding: 10px 22px; }
.dir:hover { box-shadow: rgba(10, 60, 100, 0.5) 0px 24px 40px -30px; }
.dir:hover .dir__pic img { transform: scale(1.04); }
.gal { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 24px; }
.gal figure { display: flex; flex-direction: column; gap: 12px; }
.gal__img { height: 340px; overflow: hidden; background: var(--night); }
.gal__img img { width: 100%; height: 100%; object-fit: cover; }
.gal figcaption { font: italic 400 15px/1.45 var(--serif); color: var(--muted); padding-left: 14px; border-left: 3px solid var(--c,var(--line)); }
.who { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; }
.who__card { display: flex; flex-direction: column; gap: 16px; padding: 32px; background: rgb(255, 255, 255); border-top: 4px solid var(--blue); box-shadow: rgba(10, 60, 100, 0.5) 0px 20px 40px -34px; }
.who__card .fd-h3 { font-size: 22px; }
.who__steps { display: grid; gap: 12px; counter-reset: st 0; }
.who__steps li { display: grid; grid-template-columns: 30px minmax(0px, 1fr); gap: 12px; font-size: 15px; counter-increment: st 1; }
.who__steps li::before { content: counter(st); width: 30px; height: 30px; border-radius: 50%; background: var(--tint); color: var(--deep); font: 700 14px/30px var(--serif); text-align: center; }
.who__list { display: grid; gap: 10px; font-size: 15px; }
.who__list li { display: flex; gap: 12px; }
.who__list li::before { content: ""; width: 8px; height: 8px; margin-top: 8px; border-radius: 50%; background: var(--blue); flex: 0 0 auto; }
.who__lim { padding: 14px 16px; background: var(--soft); font-size: 14px; color: var(--text); }
.who__lim b { display: block; margin-bottom: 4px; font: 700 11px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.who__card .fd-btn { margin-top: auto; align-self: flex-start; }
.visit { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); margin-top: 14px; background: rgb(255, 255, 255); border: 1px solid var(--line); }
.visit li { display: flex; flex-direction: column; gap: 6px; padding: 22px 24px; border-left: 1px solid var(--line); }
.visit li:first-child { border-left: 0px; }
.visit b { font: 700 17px/1.3 var(--serif); color: var(--ink); }
.visit span { font-size: 14px; line-height: 1.5; color: var(--text); }
.visit__cap { font: 700 12px/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--link); margin-top: 40px; }
.tl__add { font: 700 12px/1 var(--sans); letter-spacing: 0.04em; color: var(--tc); }
.tl__add .b, .tl__card[aria-pressed="true"] .tl__add .a { display: none; }
.tl__card[aria-pressed="true"] .tl__add .b { display: inline; }
.reg { background: var(--soft); }
.reg__in { display: grid; grid-template-columns: minmax(0px, 0.85fr) minmax(0px, 1.15fr); gap: 64px; align-items: start; }
.reg__side { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 64px; }
.reg__side .fd-timer { --tsize: 44px; }
.reg__list { display: grid; gap: 10px; font-size: 15px; }
.reg__list li { display: flex; gap: 12px; }
.reg__list li::before { content: ""; width: 8px; height: 8px; margin-top: 8px; border-radius: 50%; background: var(--blue); flex: 0 0 auto; }
.form { background: rgb(255, 255, 255); padding: 36px; display: flex; flex-direction: column; gap: 16px; box-shadow: rgba(10, 40, 70, 0.45) 0px 30px 60px -40px; border-top: 6px solid transparent; border-image: linear-gradient(90deg,var(--c-ad),var(--c-journ),var(--c-psy),var(--c-ling)) 1; }
.form__title { font: 700 22px/1.3 var(--serif); color: var(--ink); }
.seg { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); border: 2px solid var(--blue); }
.seg label { position: relative; cursor: pointer; }
.seg input { position: absolute; opacity: 0; inset: 0px; }
.seg span { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 8px 6px; text-align: center; font: 700 12px/1.25 var(--sans); letter-spacing: 0.04em; text-transform: uppercase; color: var(--link); }
.seg input:checked + span { background: var(--deep); color: rgb(255, 255, 255); }
.seg input:focus-visible + span { outline: 2px solid var(--deep); outline-offset: -5px; }
.row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--muted); min-width: 0px; }
.field input, .field select { width: 100%; min-height: 50px; padding: 12px 14px; font: 400 16px var(--sans); color: var(--ink); background: rgb(255, 255, 255); border: 1px solid rgb(207, 216, 222); border-radius: 0px; }
.field input:focus, .field select:focus { outline: none; border-color: var(--blue); }
.field [aria-invalid="true"] { border-color: var(--red); }
.req { color: var(--red); }
.picked { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; background: var(--soft); font-size: 14px; }
.picked b { font: 700 11px var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.picked ul { display: grid; gap: 6px; }
.picked li { display: grid; grid-template-columns: 4px 92px minmax(0px, 1fr); gap: 10px; color: var(--ink); }
.picked li::before { content: ""; background: var(--c); }
.picked li span { color: var(--muted); font-variant-numeric: tabular-nums; }
.picked a { font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.45; color: var(--muted); }
.consent input { margin-top: 2px; accent-color: var(--deep); }
.consent a { text-decoration: underline; }
.err { font-size: 13px; color: var(--red); }
.done { display: flex; flex-direction: column; gap: 14px; }
.done .fd-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.done .fd-btn { min-height: 46px; padding: 10px 18px; font-size: 13px; }
.form.is-sent > :not(.done) { display: none; }
.msg { margin-top: 10px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 12px; }
.msg__t { font-size: 15px; color: var(--muted); }
.msg__row { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 10px; }
.msg__b { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: rgb(255, 255, 255); border: 1px solid var(--line); font: 700 15px/1.2 var(--sans); color: var(--ink); transition: border-color 0.2s, background-color 0.2s; }
.msg__b:hover { border-color: var(--blue); background: var(--tint); }
.msg__b i { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font: normal 700 10px/1 var(--sans); color: rgb(255, 255, 255); }
@media (max-width: 767px){
  .msg__row { grid-template-columns: 1fr; }
}
.two { display: grid; grid-template-columns: minmax(0px, 1.2fr) minmax(0px, 1fr); gap: 56px; align-items: start; }
.faq { margin-top: 28px; }
.faq details { border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; padding: 20px 0px; font: 700 17px/1.4 var(--serif); color: var(--ink); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font: 400 28px/1 var(--sans); color: var(--blue); flex: 0 0 auto; }
.faq details[open] summary::after { content: "–"; }
.faq details p { padding: 0px 40px 20px 0px; font-size: 16px; }
.way { background: rgb(255, 255, 255); border: 1px solid var(--line); }
.way img { width: 100%; height: 210px; object-fit: cover; }
.way__body { padding: 26px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.way__body span { color: var(--muted); }
.days { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 16px; }
.day { display: flex; flex-direction: column; gap: 8px; padding: 24px; background: rgb(255, 255, 255); border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 4px solid var(--c,var(--blue)); }
.day__date { font: 900 28px/1 var(--serif); color: var(--ink); }
.day__date small { font: 700 13px var(--sans); color: var(--muted); margin-left: 6px; }
.day__st { align-self: flex-start; padding: 3px 8px; font: 700 11px/1.4 var(--sans); letter-spacing: 0.06em; text-transform: uppercase; }
.day__st--open { background: var(--tint); color: var(--deep); }
.day__st--now { background: var(--red); color: rgb(255, 255, 255); }
.day__st--past { background: rgb(236, 239, 241); color: var(--muted); }
.day a { margin-top: auto; padding-top: 8px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.day.is-past { opacity: 0.7; }
.final { background: var(--tint); }
.final__in { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-block: 56px; }
.final p { color: var(--muted); margin-top: 10px; }
.sticky { display: none; }
@media (max-width: 1180px){
  .dchips__row { overflow-x: auto; scrollbar-width: none; }
  .tl__cards { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
@media (max-width: 1023px){
  .gal { grid-template-columns: 1fr 1fr; }
  .tl__cards { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .tl__slot { grid-template-columns: 120px minmax(0px, 1fr); gap: 18px; }
  .fd { --sy: 64px; }
  .fd-h1 { font-size: 42px; }
  .h1v__text { padding: 40px 32px 40px max(24px,env(safe-area-inset-left,0px)); }
  .h1v__photo { min-height: 520px; }
  .reg__in, .two { grid-template-columns: 1fr; gap: 40px; }
  .reg__side { position: static; }
  .who { grid-template-columns: 1fr; }
  .visit { grid-template-columns: 1fr; }
  .visit li { border-left: 0px; border-top: 1px solid var(--line); }
  .visit li:first-child { border-top: 0px; }
  .days { grid-template-columns: 1fr; }
  .final__in { flex-direction: column; align-items: flex-start; gap: 24px; }
}
@media (max-width: 767px){
  .fd { --sy: 52px; font-size: 15px; padding-bottom: 78px; }
  .fd-wrap { padding-left: max(16px,env(safe-area-inset-left,0px)); padding-right: max(16px,env(safe-area-inset-right,0px)); }
  .fd-h1 { font-size: 32px; }
  .fd-h2 { font-size: 24px; }
  .fd-lead { font-size: 16px; }
  .fd-btn { width: 100%; min-height: 50px; padding: 12px 16px; font-size: 14px; }
  .fd-head { margin-bottom: 24px; }
  .h1v { grid-template-columns: 1fr; }
  .h1v__text { padding: 28px max(16px,env(safe-area-inset-right,0px)) 28px max(16px,env(safe-area-inset-left,0px)); gap: 18px; }
  .fd-timer__u { padding: 0px 14px; }
  .fd-timer__n { font-size: 34px; }
  .fd-timer__l { font-size: 11px; }
  .h1v__photo { min-height: 0px; height: 300px; }
  .h1v__photo img { object-position: 50% 6%; }
  .h1v__meta { font-size: 15px; flex-direction: column; gap: 2px; }
  .h1v__meta span + span::before { display: none; }
  .dirs-pick { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1*max(16px,env(safe-area-inset-left,0px))) 20px; padding: 0 max(16px,env(safe-area-inset-left,0px)) 4px; }
  .dirs-pick button { flex: 0 0 auto; }
  .p1__slot { grid-template-columns: 1fr; gap: 10px; padding: 16px 0px; }
  .plan { display: none !important; }
  .plan .fd-btn { width: auto; }
  .prog-desk { display: none; }
  .prog-mob { display: block; }
  .dirs-pick button { min-height: 42px; padding: 8px 14px; font-size: 14px; }
  .gal { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin-right: calc(-1*max(16px,env(safe-area-inset-right,0px))); }
  .gal figure { flex: 0 0 84%; scroll-snap-align: start; }
  .gal__img { height: 230px; }
  .form { padding: 24px 16px; }
  .row { grid-template-columns: 1fr; }
  .seg span { font-size: 11px; }
  .faq summary { font-size: 15px; }
  .faq details p { padding-right: 0px; font-size: 15px; }
  .sticky { display: grid; grid-template-columns: 1fr auto; gap: 8px; position: fixed; left: 0px; right: 0px; bottom: 0px; z-index: 900; padding: 10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px)); background: rgb(255, 255, 255); border-top: 1px solid var(--line); box-shadow: rgba(0, 0, 0, 0.25) 0px -8px 20px -12px; }
  .sticky .fd-btn { min-height: 48px; font-size: 14px; padding: 10px 14px; }
  .sticky .fd-btn--line { width: auto; }
  .sticky { transform: translateY(110%); transition: transform 0.25s; }
  .sticky.is-on { transform: none; }
  .who__card { padding: 24px 18px; }
  .dirs-pick { mask-image: linear-gradient(90deg, rgb(0, 0, 0) 80%, transparent); padding-right: 48px; }
}
@media (max-width: 767px){
  .p1__items, .dirs, .who, .visit, .days { overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; margin-right: calc(-1*max(16px,env(safe-area-inset-right,0px))); padding-right: max(16px,env(safe-area-inset-right,0px)); padding-bottom: 4px; scrollbar-width: none; display: flex !important; }
  .p1__items::-webkit-scrollbar, .dirs::-webkit-scrollbar, .who::-webkit-scrollbar, .visit::-webkit-scrollbar, .days::-webkit-scrollbar { display: none; }
  .p1__items > *, .dirs > *, .who > *, .visit > *, .days > * { scroll-snap-align: start; }
  .h1v__photo { order: -1; height: 210px; }
  .h1v__text { gap: 14px; padding-top: 20px; }
  .h1v .fd-eyebrow { display: none; }
  .h1v .fd-h1 { font-size: 28px; }
  .h1v .fd-lead { font-size: 15px; line-height: 1.5; }
  .h1v__meta { flex-wrap: wrap; font-size: 14px; flex-direction: row !important; gap: 2px 0px !important; }
  .h1v__meta span + span::before { margin: 0px 8px 3px; display: inline-block !important; }
  .h1v__timer .fd-timer-cap { margin-bottom: 8px; }
  .h1v .fd-timer__n { font-size: 28px; }
  .h1v .fd-timer__u { padding: 0px 12px; }
  .h1v .fd-note { display: none; }
  .p1__slot { padding: 12px 0px; gap: 8px; }
  .p1__items > * { flex: 0 0 78%; }
  .p1__it { padding: 10px 12px 10px 14px; }
  .p1__title { font-size: 15px; }
  .who > * { flex: 0 0 88%; }
  .who__card { gap: 12px; }
  .who__card .fd-h3 { font-size: 19px; }
  .who__steps li, .who__list li { font-size: 14px; }
  .visit__cap { margin-top: 24px; }
  .visit { border: 0px; background: transparent; }
  .visit li, .visit li:first-child { flex: 0 0 70%; background: rgb(255, 255, 255); padding: 14px 16px; border: 1px solid var(--line) !important; }
  .way img { display: none; }
  .way__body { padding: 18px; }
  .days > * { flex: 0 0 72%; }
  .day { padding: 16px; }
}
@media (prefers-reduced-motion: reduce){
  .fd *, .fd ::before, .fd ::after { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
}
