/* «Я впервые в Шарье»: расширенный гид (2026-10-17) */
.fp-hero{--a:#ffb347;--b:#19baff;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.65fr);gap:clamp(16px,3vw,36px);align-items:end;min-height:clamp(420px,52vw,560px);margin:0 0 18px;padding:clamp(22px,4vw,48px);border-radius:32px;border:1px solid color-mix(in srgb,var(--b) 30%,transparent);background:#0b1220;color:#fff;box-shadow:0 30px 80px -40px #000}
.fp-hero__bg{position:absolute;inset:0;overflow:hidden}
.fp-hero__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform .5s ease-out;animation:fp-ken 26s ease-in-out infinite alternate}
.fp-hero__veil{position:absolute;inset:0;background:linear-gradient(95deg,#060d1cf2 0,#060d1cb8 42%,#060d1c40 72%,#060d1c1a 100%),linear-gradient(0deg,#060d1cd9,transparent 45%)}
.fp-hero__txt,.fp-live{position:relative;z-index:1}
.fp-hero .eyebrow{color:var(--a)}
.fp-hero h1{margin:10px 0 14px;font:900 clamp(34px,6.4vw,70px)/1.02 var(--font-display,inherit);letter-spacing:-.04em;text-shadow:0 6px 30px #000a}
.fp-hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--a),#ff6d8a);-webkit-background-clip:text;background-clip:text;color:transparent}
.fp-hero .pp-lead{max-width:60ch;color:#e6eefc}
.fp-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 6px}
.fp-hero .pp-btn--ghost{background:#ffffff1c;border-color:#ffffff55;color:#fff;backdrop-filter:blur(6px)}
.fp-hero .cp-hero__tags span{background:#ffffff1a;border:1px solid #ffffff33;color:#fff;backdrop-filter:blur(6px)}
.fp-hero__cap{position:absolute;right:16px;bottom:8px;z-index:1;margin:0;font-size:11px;color:#ffffff99}

.fp-live{display:grid;gap:6px;padding:18px;border-radius:24px;border:1px solid #ffffff38;background:#0a1426b3;backdrop-filter:blur(14px);box-shadow:0 18px 50px -24px #000}
.fp-live__tag{display:inline-flex;align-items:center;gap:8px;font:700 11px/1 var(--font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:#7be0ff}
.fp-live__tag i{width:8px;height:8px;border-radius:50%;background:#4fe3a3;animation:fp-pulse 1.8s infinite}
.fp-live__t{font:900 clamp(36px,5vw,54px)/1 var(--font-display,inherit);letter-spacing:-.04em}
.fp-live__x{font-size:15px;color:#d8e6fb}
.fp-live__clock{font:700 13px/1 var(--font-mono,monospace);color:#9fb3cf}
.fp-live__dress{margin:6px 0 0;padding-top:10px;border-top:1px solid #ffffff22;font-size:14px;line-height:1.5}
.fp-live small{font-size:12px;color:#9fb3cf;line-height:1.4}

.fp-sec{margin-top:var(--gap,28px)}

/* сценарии дня */
.fp-personas{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0 0 14px}
.fp-persona{appearance:none;cursor:pointer;text-align:left;display:grid;gap:6px;padding:16px;border-radius:20px;border:1px solid var(--line,#263449);background:var(--surface,#101a2b);color:var(--ink,#edf3fa);font:inherit;transition:transform .22s,border-color .22s,box-shadow .22s,background .22s}
.fp-persona:hover{transform:translateY(-4px);border-color:#19baff;box-shadow:0 18px 38px -24px #19baff}
.fp-persona.is-on{border-color:#ffb347;background:linear-gradient(145deg,#ffb34724,#19baff12);box-shadow:0 18px 38px -22px #ffb347}
.fp-persona__ico{font-size:30px;line-height:1}
.fp-persona b{font:800 16px/1.25 var(--font-display,inherit)}
.fp-persona small{font-size:13px;line-height:1.45;color:var(--muted,#8b9bb0)}
.fp-persona:focus-visible{outline:2px solid #fff;outline-offset:3px}
.fp-start{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px}
.fp-start>span{margin-right:6px;font-size:14px;color:var(--muted,#8b9bb0)}
.fp-plan{padding:clamp(16px,2.4vw,26px)}
.fp-plan__head{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.fp-plan__ico{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#ffb34733,#19baff2a);font-size:30px}
.fp-plan__head h3{margin:0 0 3px;font:800 20px/1.2 var(--font-display,inherit)}
.fp-plan__sum{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 16px;font-size:13.5px;color:var(--muted,#8b9bb0)}
.fp-plan__sum span{padding:7px 12px;border-radius:99px;background:color-mix(in srgb,var(--ink,#fff) 7%,transparent)}
.fp-plan__sum b{color:var(--ink,#edf3fa)}
.fp-tl{list-style:none;margin:0 0 16px;padding:0;position:relative;display:grid;gap:14px}
.fp-tl:before{content:"";position:absolute;left:35px;top:10px;bottom:10px;width:2px;background:linear-gradient(#ffb347,#19baff);opacity:.5;border-radius:2px}
.fp-tl li{display:grid;grid-template-columns:70px 1fr;gap:14px;align-items:start;animation:fp-in .5s both;animation-delay:calc(var(--i,0)*90ms)}
.fp-tl time{position:relative;z-index:1;justify-self:start;padding:8px 10px;border-radius:12px;background:#ffb347;color:#1b1200;font:800 14px/1 var(--font-mono,monospace)}
.fp-tl__c{padding:14px 16px;border-radius:18px;border:1px solid var(--line,#263449);background:color-mix(in srgb,var(--ink,#fff) 4%,transparent);transition:border-color .2s,transform .2s}
.fp-tl__c:hover{border-color:#19baff;transform:translateX(4px)}
.fp-tl__h{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fp-tl__ico{font-size:22px}
.fp-tl__h b{font:800 16px/1.25 var(--font-display,inherit)}
.fp-tl__c small{display:block;margin-top:4px;color:var(--muted,#8b9bb0);font-size:13px}
.fp-tl__c p{margin:8px 0 0;font-size:14px;line-height:1.55}
.fp-tl__c em{display:inline-block;margin-top:8px;padding:4px 10px;border-radius:99px;font:600 12px/1.3 var(--font-display,inherit);font-style:normal}
.fp-tl__c em.is-ok{background:#19c37d22;color:#4fe3a3}.fp-tl__c em.is-warn{background:#ffb02022;color:#ffc766}
.fp-tl__acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fp-tl__acts .pp-btn{padding:9px 13px;font-size:13px}
.fp-plan__acts{display:flex;flex-wrap:wrap;gap:10px}
.fp-plan__note{margin:12px 0 0;font-size:12.5px}

/* схема города */
.fp-map{padding:clamp(14px,2vw,22px);border-radius:26px;border:1px solid var(--line,#263449);background:var(--surface,#101a2b)}
.fp-map__legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.fp-map__body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);gap:16px}
.fp-map__stage{position:relative;aspect-ratio:1000/560;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 20% 80%,#19baff14,transparent 50%),radial-gradient(ellipse at 80% 10%,#ffb34714,transparent 50%),#0a1322;color:#9fb3cf;border:1px solid var(--line,#263449)}
.fp-svg{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none!important}
.fp-link{stroke:#19baff;stroke-opacity:.45;stroke-width:2;stroke-dasharray:6 8;animation:fp-dash 2.4s linear infinite}
.fp-link__t{fill:#7be0ff;font:600 12px var(--font-mono,monospace)}
.fp-zone{fill:none;stroke:#19baff;stroke-opacity:.2;stroke-dasharray:3 6}
.fp-zone__t{fill:#cfe0f5;font:800 15px var(--font-display,system-ui,sans-serif);letter-spacing:.04em;opacity:.85}
.fp-pin{transform-box:fill-box;transform-origin:center;cursor:pointer;outline:0;animation:fp-pop .5s both;animation-delay:var(--d,0ms);transition:opacity .25s}
.fp-pin__bg{fill:#0b1526;stroke-width:3;transition:r .2s,fill .2s,stroke .2s;filter:drop-shadow(0 4px 8px #000a)}
.fp-pin:hover .fp-pin__bg,.fp-pin:focus-visible .fp-pin__bg,.fp-pin.is-cur .fp-pin__bg{fill:#14233b;stroke:#fff}
.fp-pin:focus-visible .fp-pin__bg{stroke-width:4}
.fp-pin__e{font-size:19px;pointer-events:none}
.fp-pin__l{fill:#cfe0f5;font:600 12px var(--font-display,system-ui,sans-serif);opacity:0;transition:opacity .2s;pointer-events:none;paint-order:stroke;stroke:#0a1322;stroke-width:4px}
.fp-pin:hover .fp-pin__l,.fp-pin:focus-visible .fp-pin__l,.fp-pin.is-cur .fp-pin__l,.fp-pin.is-step .fp-pin__l{opacity:1}
.fp-pin__top{font-size:13px;pointer-events:none}
.fp-pin__ok{fill:#4fe3a3;font:800 14px sans-serif;opacity:0;pointer-events:none}
.fp-pin.is-visited .fp-pin__bg{fill:#103a2c;stroke:#4fe3a3}.fp-pin.is-visited .fp-pin__ok{opacity:1}
.fp-pin.is-off{opacity:.12;pointer-events:none}
.fp-pin__n{fill:#1b1200;font:800 12px var(--font-mono,monospace);paint-order:stroke;stroke:#ffb347;stroke-width:9px;stroke-linejoin:round;pointer-events:none}
.fp-pin.is-step .fp-pin__bg{stroke:#ffb347;stroke-width:4}
.fp-path__l{fill:none;stroke:#ffb347;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:10 8;animation:fp-dash 1.4s linear infinite;filter:drop-shadow(0 0 6px #ffb347aa)}
.fp-map__card{padding:18px;border-radius:20px;border:1px solid var(--line,#263449);background:color-mix(in srgb,var(--ink,#fff) 4%,transparent);align-self:start;position:sticky;top:90px}
.fp-card__h{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.fp-card__h>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#19baff1f;font-size:26px}
.fp-card__h h3{margin:0 0 3px;font:800 17px/1.25 var(--font-display,inherit)}
.fp-card__h small{color:var(--muted,#8b9bb0);font-size:12.5px}
.fp-map__card p{margin:0 0 10px;font-size:14px;line-height:1.55}
.fp-card__acts{display:flex;flex-wrap:wrap;gap:8px}
.fp-card__acts .pp-btn{padding:9px 13px;font-size:13px}

/* достижения */
.fp-ach{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:var(--gap,16px) 0 0}
.fp-ach__i{position:relative;display:grid;gap:3px;padding:14px 16px 14px 56px;border-radius:18px;border:1px dashed var(--line,#263449);background:color-mix(in srgb,var(--ink,#fff) 3%,transparent);opacity:.75;transition:opacity .3s,border-color .3s,background .3s,transform .3s}
.fp-ach__i>span{position:absolute;left:14px;top:14px;font-size:28px;filter:grayscale(1)}
.fp-ach__i b{font:800 14px/1.25 var(--font-display,inherit)}
.fp-ach__i small{font-size:12px;color:var(--muted,#8b9bb0)}
.fp-ach__i i{font:700 11px/1 var(--font-mono,monospace);font-style:normal;color:#7be0ff}
.fp-ach__i.is-done{opacity:1;border:1px solid #ffb347;background:linear-gradient(135deg,#ffb34724,#19baff14);transform:translateY(-2px)}
.fp-ach__i.is-done>span{filter:none;animation:fp-wiggle 1.2s ease-in-out 1}
.fp-ach__i.is-done i{color:#ffc766}

/* карточки организаций */
.fp-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:0 0 18px}
.fp-org{--pa:#19baff;display:grid;grid-template-rows:auto 1fr;overflow:hidden;border-radius:24px;border:1px solid color-mix(in srgb,var(--pa) 38%,transparent);background:var(--surface,#101a2b);transition:transform .25s,box-shadow .25s}
.fp-org:hover{transform:translateY(-5px);box-shadow:0 26px 54px -30px var(--pa)}
.fp-org img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;transition:transform .6s}
.fp-org:hover img{transform:scale(1.05)}
.fp-org{overflow:hidden}
.fp-org__body{display:grid;gap:10px;align-content:start;padding:18px}
.fp-org__body h3{margin:0;font:800 20px/1.25 var(--font-display,inherit)}
.fp-org__body p{margin:0;font-size:14.5px;line-height:1.6;color:var(--muted,#8b9bb0)}
.fp-org__acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.fp-open{justify-self:start;padding:6px 12px;border-radius:99px;font:700 12px/1.2 var(--font-mono,monospace);background:color-mix(in srgb,var(--ink,#fff) 8%,transparent);color:var(--muted,#8b9bb0)}
.fp-open.is-open{background:#19c37d26;color:#4fe3a3}.fp-open.is-closed{background:#ff5d5d1f;color:#ff8f8f}
.fp-style__note{margin:-4px 0 0;font-size:13px}

/* подбор заказа */
.fp-pick h3{margin:0 0 14px;font:800 19px/1.25 var(--font-display,inherit)}
.fp-pick__ctl{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0 0 16px}
.fp-pick__ctl label{display:grid;gap:8px;font-weight:700;font-size:14px}
.fp-pick__ctl .pp-stepper{display:flex;align-items:center;gap:12px}
.fp-pick__ctl output{font:800 20px/1 var(--font-display,inherit);color:#ffb347}
.fp-pick__ctl input[type=range]{width:100%;accent-color:#ffb347}
.fp-pick__out{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.fp-pick__r{padding:14px 16px;border-radius:16px;border:1px solid var(--line,#263449);background:color-mix(in srgb,var(--ink,#fff) 4%,transparent);animation:fp-in .35s both}
.fp-pick__r b{display:block;margin-bottom:5px;font:800 15px var(--font-display,inherit)}
.fp-pick__r p{margin:0 0 6px;font-size:14px;line-height:1.5}
.fp-pick__r small{display:block;color:var(--muted,#8b9bb0);font-size:12.5px;line-height:1.45}
.fp-pick__r.is-no{border-color:#ffb02066}
.fp-pick__note{margin:12px 0 0;font-size:12.5px}

/* за городом */
.fp-park{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(16px,3vw,32px);align-items:center;margin:0 0 18px;padding:clamp(14px,2vw,22px);border-radius:28px;border:1px solid #2fbf7155;background:radial-gradient(ellipse at 100% 0,#2fbf711f,transparent 55%),var(--surface,#101a2b)}
.fp-park__img{position:relative;margin:0;overflow:hidden;border-radius:22px}
.fp-park__img img{display:block;width:100%;height:auto;transition:transform .8s}
.fp-park:hover .fp-park__img img{transform:scale(1.04)}
.fp-park__img figcaption{position:absolute;left:10px;bottom:8px;font-size:11px;color:#ffffffcc;text-shadow:0 1px 6px #000}
.fp-park__txt h2{margin:8px 0 10px;font:800 clamp(26px,3.6vw,40px)/1.1 var(--font-display,inherit);letter-spacing:-.03em}
.fp-park__acts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 8px}
.fp-ptabs{padding:clamp(14px,2vw,22px);border-radius:24px;border:1px solid var(--line,#263449);background:var(--surface,#101a2b);margin:0 0 16px}
.fp-ptabs__bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}
.fp-ptab{appearance:none;cursor:pointer;flex:none;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:99px;border:1px solid var(--line,#263449);background:transparent;color:var(--ink,#edf3fa);font:700 14px/1 var(--font-display,inherit);transition:background .2s,border-color .2s,transform .2s}
.fp-ptab:hover{transform:translateY(-2px);border-color:#2fbf71}
.fp-ptab.is-on{background:linear-gradient(120deg,#2fbf71,#ffcf5a);border-color:transparent;color:#06101f}
.fp-ptabs__tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}
.fp-ptabs__tags>span{font-size:13px;color:var(--muted,#8b9bb0)}
.fp-plist{display:none;list-style:none;margin:0;padding:0;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.fp-plist.is-on{display:grid}
.fp-plist li{padding:13px 16px;border-radius:14px;border:1px solid var(--line,#263449);background:color-mix(in srgb,var(--ink,#fff) 4%,transparent);font-size:14.5px;line-height:1.45;animation:fp-in .35s both;transition:opacity .25s,border-color .25s,background .25s,transform .25s}
.fp-plist li.is-hl{border-color:#2fbf71;background:#2fbf7124;transform:translateY(-2px)}
.fp-plist li.is-dim{opacity:.35}
.fp-contacts{padding:clamp(14px,2vw,22px);border-radius:24px;border:1px solid var(--line,#263449);background:var(--surface,#101a2b)}
.fp-contacts h3{margin:0 0 12px;font:800 18px var(--font-display,inherit)}
.fp-contacts ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.fp-contacts li{display:grid;gap:3px;padding:12px 14px;border-radius:14px;border:1px solid var(--line,#263449)}
.fp-contacts li span{font:600 11px/1.3 var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#8b9bb0)}
.fp-contacts a{font:700 16px/1.3 var(--font-display,inherit);color:var(--link-ink,#64cfff);text-decoration:none;border-bottom:1px solid transparent;width:max-content;max-width:100%}
.fp-contacts a:hover{border-bottom-color:currentColor}

@keyframes fp-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes fp-pop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@keyframes fp-dash{to{stroke-dashoffset:-28}}
@keyframes fp-pulse{0%{box-shadow:0 0 0 0 #4fe3a399}70%{box-shadow:0 0 0 9px #4fe3a300}100%{box-shadow:0 0 0 0 #4fe3a300}}
@keyframes fp-ken{from{transform:scale(1.06) translate(0,0)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
@keyframes fp-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg) scale(1.15)}75%{transform:rotate(12deg) scale(1.15)}}

@media(max-width:900px){
  .fp-hero{grid-template-columns:1fr;align-items:start}
  .fp-live{max-width:420px}
  .fp-map__body{grid-template-columns:1fr}
  .fp-map__card{position:static}
  .fp-park{grid-template-columns:1fr}
}
@media(max-width:560px){
  .fp-hero{border-radius:24px;min-height:0}
  .fp-hero__veil{background:linear-gradient(0deg,#060d1cf0,#060d1cc4 60%,#060d1c70)}
  .fp-tl li{grid-template-columns:58px 1fr;gap:10px}
  .fp-tl:before{left:29px}
  .fp-tl time{padding:7px 8px;font-size:13px}
  .fp-pin__l{display:none}
}
@media(prefers-reduced-motion:reduce){
  .fp-hero__bg img,.fp-link,.fp-path__l,.fp-live__tag i{animation:none}
  .fp-pin,.fp-tl li,.fp-plist li,.fp-pick__r{animation:none}
}
