/* v18: ANO75 redesign, contacts page, direction tabs, multi-photo news carousel */
:root {
  --bg: #faf6fb;
  --paper: #ffffff;
  --ink: #0b0b0b;
  --muted: #6a5b68;
  --line: rgba(77, 24, 74, .12);
  --orange: #b01590;
  --orange-2: #dc6ccb;
  --orange-soft: #f8e6f5;
  --orange-dark: #7f115f;
  --black: #030303;
  --radius-lg: 30px;
  --radius-md: 20px;
  --shadow: 0 24px 70px rgba(17, 17, 17, .11);
  --shadow-orange: 0 20px 60px rgba(176, 21, 144, .28);
  --max: 1200px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Arial, Helvetica, sans-serif; color:var(--ink); background:var(--bg); line-height:1.55; }
a { color:inherit; }
img { max-width:100%; display:block; }
.container { width:min(var(--max), calc(100% - 40px)); margin:0 auto; }
.skip-link { position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus { left:16px; top:16px; width:auto; height:auto; padding:10px 14px; background:var(--orange); color:#111; z-index:60; border-radius:14px; font-weight:900; }
.site-header { position:sticky; top:0; z-index:30; background:#09050a; border-bottom:1px solid rgba(176,21,144,.32); box-shadow:0 12px 30px rgba(0,0,0,.28); }
.header-grid { min-height:94px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:14px; text-decoration:none; }
.brand-logo { width:68px; height:68px; object-fit:contain; object-position:center; filter:drop-shadow(0 14px 24px rgba(176,21,144,.22)); flex:0 0 auto; }
.brand-copy { display:flex; flex-direction:column; gap:2px; }
.brand-title { color:#fff; font-weight:950; font-size:22px; line-height:1; letter-spacing:-.02em; }
.brand-subtitle { color:rgba(255,255,255,.72); font-size:13px; font-weight:700; line-height:1.2; }
.main-nav { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.main-nav a { color:rgba(255,255,255,.88); text-decoration:none; font-weight:950; font-size:15px; padding:10px 14px; border:1px solid transparent; border-radius:999px; transition:.18s ease; }
.main-nav a:hover,.main-nav a:focus-visible,.main-nav a.is-active { color:#111; background:linear-gradient(135deg,var(--orange),var(--orange-2)); transform:translateY(-2px); box-shadow:0 14px 34px rgba(176,21,144,.32); outline:none; }
.nav-admin { border-color:rgba(255,255,255,.22)!important; background:rgba(255,255,255,.08); }
.nav-admin:hover { background:#fff!important; color:#111!important; box-shadow:0 16px 36px rgba(255,255,255,.14)!important; }
.hero-main { position:relative; overflow:hidden; color:#fff; background:radial-gradient(circle at 82% 40%, rgba(176,21,144,.34), rgba(176,21,144,.12) 25%, transparent 45%), linear-gradient(135deg,#050305 0%,#0d0811 56%,#2a0d25 100%); padding:90px 0 118px; isolation:isolate; }
.hero-main::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.02),rgba(0,0,0,.48) 60%,rgba(0,0,0,.06)); z-index:-2; }
.hero-cinema { position:absolute; inset:0; pointer-events:none; z-index:-1; opacity:.55; }
.reel-one { position:absolute; right:-90px; top:58px; width:390px; height:390px; border-radius:50%; background:radial-gradient(circle at center,transparent 0 45px,rgba(176,21,144,.36) 47px 52px,transparent 55px),radial-gradient(circle at 50% 18%,transparent 0 32px,rgba(176,21,144,.30) 34px 39px,transparent 42px),radial-gradient(circle at 82% 50%,transparent 0 32px,rgba(176,21,144,.30) 34px 39px,transparent 42px),radial-gradient(circle at 50% 82%,transparent 0 32px,rgba(176,21,144,.30) 34px 39px,transparent 42px),radial-gradient(circle at 18% 50%,transparent 0 32px,rgba(176,21,144,.30) 34px 39px,transparent 42px),conic-gradient(from 18deg,rgba(176,21,144,.18),rgba(220,108,203,.06),rgba(176,21,144,.22),rgba(220,108,203,.06),rgba(176,21,144,.18)); transform:rotate(-12deg); }
.film-line { position:absolute; right:-60px; bottom:70px; width:540px; height:105px; border-radius:60px; border:18px solid rgba(176,21,144,.18); transform:rotate(-17deg); }
.hero-content { max-width:850px; position:relative; z-index:1; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:18px; color:var(--orange-2); font-size:13px; line-height:1; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.eyebrow::before { content:""; width:34px; height:3px; border-radius:999px; background:currentColor; }
.eyebrow-dark { color:var(--orange-dark); }
h1,h2,h3 { margin:0; letter-spacing:-.045em; line-height:.98; }
.hero-content h1 { max-width:880px; font-size:clamp(48px,6.2vw,88px); font-weight:950; color:#fff; text-wrap:balance; }
.hero-content p { max-width:700px; margin:26px 0 0; color:rgba(255,255,255,.86); font-size:clamp(18px,2vw,23px); }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:36px; align-items:center; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:14px 23px; border-radius:16px; text-decoration:none; border:2px solid transparent; cursor:pointer; font-weight:950; font-size:15px; transition:.18s ease; }
.btn-primary,.btn { background:linear-gradient(135deg,#a90d88,#dc6ccb); color:#0b0b0b; box-shadow:0 18px 38px rgba(176,21,144,.40), inset 0 1px 0 rgba(255,255,255,.44); }
.btn:hover,.btn:focus-visible { transform:translateY(-4px); box-shadow:0 28px 62px rgba(176,21,144,.48); outline:none; }
.btn-ghost,.btn-social { background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.52); box-shadow:0 10px 26px rgba(0,0,0,.18); }
.btn-ghost:hover,.btn-social:hover { background:#fff; color:#111; border-color:#fff; box-shadow:0 22px 46px rgba(255,255,255,.18); }
.btn-disabled { opacity:.65; cursor:not-allowed; }
.btn-dark { background:#050505; color:#fff; box-shadow:0 18px 38px rgba(0,0,0,.22); }
.btn-dark:hover { background:#1a1a1a; color:#fff; box-shadow:0 24px 52px rgba(0,0,0,.30); }
.btn-outline-dark { background:#fff; color:#111; border-color:rgba(17,17,17,.22); box-shadow:none; }
.btn-outline-dark:hover { background:#111; color:#fff; border-color:#111; box-shadow:0 22px 46px rgba(0,0,0,.18); }
.section { padding:76px 0; background:var(--bg); }
.section-soft { background:#fcf8fd; }
.section-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,440px); gap:28px; align-items:end; margin-bottom:34px; }
.news-head-clean { grid-template-columns:1fr auto; align-items:center; }
.section-title { font-size:clamp(36px,5.6vw,72px); font-weight:950; text-transform:uppercase; color:#0b0b0b; }
.section-lead,.lead { margin:0; color:var(--muted); font-size:18px; }
.about-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(28px,6vw,80px); align-items:start; }
.about-text { font-size:20px; color:#38322d; }
.grid { display:grid; gap:20px; }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.card { background:rgba(255,255,255,.96); border:1px solid var(--line); border-radius:var(--radius-lg); padding:28px; box-shadow:0 16px 42px rgba(17,17,17,.06); transition:.18s ease; }
.card:hover { transform:translateY(-5px); border-color:rgba(176,21,144,.44); box-shadow:0 26px 70px rgba(176,21,144,.14); }
.card h3 { font-size:27px; margin-bottom:12px; color:#0b0b0b; }
.card p { color:var(--muted); margin:0; }
.direction-card { min-height:220px; display:flex; flex-direction:column; justify-content:space-between; text-decoration:none; }
.direction-card .num,.big-num { color:var(--orange-dark); font-weight:950; letter-spacing:.08em; }
.page-hero { padding:70px 0; color:#fff; background:linear-gradient(135deg,#050305,#2a0d25); position:relative; overflow:hidden; }
.page-hero::after { content:""; position:absolute; right:-120px; top:-100px; width:360px; height:360px; border-radius:50%; background:rgba(176,21,144,.24); }
.page-hero-light { color:#111; background:linear-gradient(180deg,#fdf3fb,#fbf7fd); }
.page-hero h1 { font-size:clamp(48px,7vw,90px); font-weight:950; max-width:900px; }
.page-hero p { max-width:720px; font-size:20px; color:rgba(255,255,255,.74); }
.page-hero-light p { color:var(--muted); }
.tabs-nav { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.tabs-nav a { text-decoration:none; padding:13px 16px; border-radius:16px; background:#fff; border:1px solid var(--line); color:#111; font-weight:950; display:inline-flex; gap:8px; align-items:center; }
.tabs-nav a span { color:var(--orange-dark); }
.tabs-nav a:hover,.tabs-nav a.is-active { background:#111; color:#fff; border-color:#111; box-shadow:0 20px 42px rgba(0,0,0,.16); }
.direction-detail { display:grid; grid-template-columns:.85fr 1.15fr; gap:28px; background:#fff; border:1px solid var(--line); border-radius:34px; padding:28px; box-shadow:var(--shadow); }
.direction-detail h2 { font-size:clamp(36px,5vw,62px); margin:10px 0 18px; }
.feature-list { margin:22px 0 0; padding:0; list-style:none; display:grid; gap:12px; }
.feature-list li { position:relative; padding-left:30px; color:#3a332d; }
.feature-list li::before { content:""; position:absolute; left:0; top:.55em; width:14px; height:14px; border-radius:50%; background:linear-gradient(135deg,var(--orange),var(--orange-2)); }
.direction-gallery { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.direction-gallery figure { margin:0; overflow:hidden; border-radius:22px; border:1px solid var(--line); background:#fff; align-self:start; }
.direction-gallery figure:first-child { grid-column:1/-1; }
.direction-gallery img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.direction-gallery figcaption { padding:10px 14px; background:#fff; color:var(--muted); font-weight:800; }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.news-card { background:#fff; border:1px solid var(--line); border-radius:28px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 16px 42px rgba(17,17,17,.07); transition:.18s ease; }
.news-card:hover { transform:translateY(-6px); border-color:rgba(176,21,144,.48); box-shadow:0 28px 70px rgba(176,21,144,.16); }
.news-card img { width:100%; aspect-ratio:16/10; object-fit:cover; background:#111; }
.news-card-body { padding:22px; display:flex; flex-direction:column; flex:1; }
.meta { display:flex; gap:8px; align-items:center; flex-wrap:wrap; color:var(--muted); font-weight:800; font-size:13px; margin-bottom:12px; }
.badge { display:inline-flex; border-radius:999px; padding:6px 10px; background:#f8e6f5; color:#7f115f; font-size:12px; font-weight:950; border:1px solid rgba(176,21,144,.22); }
.news-card h3 { font-size:25px; line-height:1.07; }
.news-card p { color:var(--muted); flex:1; }
.read-more { margin-top:14px; color:var(--orange-dark); font-weight:950; text-decoration:none; }
.photo-count { display:inline-flex; margin-top:12px; color:#7f115f; font-weight:950; font-size:13px; }
.news-toolbar { display:flex; gap:14px; flex-wrap:wrap; align-items:center; justify-content:space-between; margin-bottom:24px; }
.news-toolbar form { display:flex; gap:10px; flex-wrap:wrap; }
.input,select,textarea { width:100%; border:1px solid rgba(17,17,17,.16); border-radius:16px; padding:13px 14px; font:inherit; background:#fff; color:var(--ink); transition:.18s ease; }
.input:focus,select:focus,textarea:focus { outline:none; border-color:var(--orange); box-shadow:0 0 0 4px rgba(176,21,144,.18); }
select { width:auto; } textarea { min-height:220px; resize:vertical; }
.article { padding:48px 0 74px; background:var(--bg); }
.article-header { background:#fff; border:1px solid var(--line); border-radius:34px; padding:clamp(26px,5vw,56px); margin-bottom:24px; box-shadow:0 16px 42px rgba(17,17,17,.07); }
.article-header h1 { color:var(--ink); font-size:clamp(36px,6vw,76px); }
.news-carousel { position:relative; border-radius:30px; overflow:hidden; border:1px solid var(--line); box-shadow:0 16px 42px rgba(17,17,17,.08); margin:24px 0; background:#111; }
.carousel-track { position:relative; min-height:360px; }
.carousel-slide { margin:0; display:none; }
.carousel-slide.is-active { display:block; }
.carousel-slide img { width:100%; max-height:650px; min-height:360px; object-fit:cover; }
.carousel-btn { position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; border:1px solid rgba(255,255,255,.46); background:rgba(0,0,0,.54); color:#fff; font-size:36px; cursor:pointer; display:grid; place-items:center; }
.carousel-btn:hover { background:var(--orange); color:#111; }
.carousel-btn.prev { left:18px; } .carousel-btn.next { right:18px; }
.carousel-dots { position:absolute; left:0; right:0; bottom:16px; display:flex; justify-content:center; gap:8px; }
.carousel-dots button { width:12px; height:12px; border-radius:50%; border:0; background:rgba(255,255,255,.55); cursor:pointer; }
.carousel-dots button.is-active { background:var(--orange); transform:scale(1.25); }
.article-content { background:#fff; border:1px solid var(--line); border-radius:28px; padding:clamp(24px,4vw,46px); font-size:19px; box-shadow:0 16px 42px rgba(17,17,17,.07); }
.article-content p:first-child { margin-top:0; }
.partners-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.partner-card { min-height:170px; }
.partner-note { margin-top:24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.contacts-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:20px; }
.contact-card { background:#fff; border:1px solid var(--line); border-radius:28px; padding:30px; box-shadow:0 16px 42px rgba(17,17,17,.07); }
.main-contact { grid-row:span 3; background:linear-gradient(135deg,#fff,#f7e6f5); }
.contact-card h2 { font-size:clamp(36px,5vw,64px); margin-bottom:16px; }
.contact-card h3 { font-size:30px; margin-bottom:14px; }
.contact-card p { color:var(--muted); font-size:18px; }
.contact-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.muted { color:var(--muted); }
.site-footer { padding:52px 0 36px; color:#fff; background:#09050a; border-top:4px solid var(--orange); }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:34px; }
.footer-brand-wrap { display:flex; align-items:center; gap:16px; margin-bottom:14px; }
.footer-logo { width:72px; height:72px; object-fit:contain; flex:0 0 auto; }
.footer-brand-copy { display:flex; flex-direction:column; gap:4px; }
.footer-brand-title { color:#fff; font-weight:950; font-size:24px; line-height:1; }
.footer-brand-subtitle { color:rgba(255,255,255,.68); font-size:14px; font-weight:700; }
.footer-title { color:var(--orange-2); text-transform:uppercase; font-weight:950; margin-bottom:12px; letter-spacing:.02em; }
.footer-edit-title { margin-top:22px; }
.footer-edit-link { display:inline-flex; margin-top:2px; padding:10px 14px; border:1px solid rgba(255,255,255,.24); border-radius:999px; background:rgba(255,255,255,.06); text-decoration:none; }
.footer-edit-link:hover { background:#fff; color:#111; }
.site-footer p { color:rgba(255,255,255,.72); margin:0; }
.site-footer a { color:#fff; font-weight:950; text-decoration-color:rgba(176,21,144,.7); text-underline-offset:4px; }
.footer-bottom { text-align:center; color:rgba(255,255,255,.52); font-size:14px; padding-top:42px; }
.admin-body { background:linear-gradient(180deg,#fdf1fb,#fff); }
.admin-shell { width:min(1080px,calc(100% - 32px)); margin:32px auto; }
.admin-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.admin-top h1 { font-size:42px; }
.admin-card { background:#fff; border:1px solid rgba(17,17,17,.12); border-radius:26px; padding:24px; box-shadow:0 16px 45px rgba(17,17,17,.08); }
.admin-table { width:100%; border-collapse:collapse; }
.admin-table th,.admin-table td { text-align:left; padding:13px 10px; border-bottom:1px solid #eee; vertical-align:top; }
.admin-table th { font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:#777; }
.admin-actions { display:flex; gap:8px; flex-wrap:wrap; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-full { grid-column:1/-1; }
.photo-upload-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.help { color:#777; font-size:14px; margin-top:6px; }
.alert { padding:14px 16px; border-radius:16px; margin-bottom:16px; background:#fdf0fa; border:1px solid rgba(176,21,144,.28); }
.alert-soft { background:#fcf4fb; border-color:rgba(176,21,144,.28); color:#521a47; }
.checkbox { display:flex; align-items:center; gap:10px; font-weight:800; }
.checkbox input { width:18px; height:18px; }
.login-box { width:min(440px,calc(100% - 32px)); margin:8vh auto; }
@media (max-width:1060px) { .brand-logo{width:62px;height:62px}.brand-title{font-size:20px}.brand-subtitle{font-size:12px}.grid-3,.news-grid,.partners-grid{grid-template-columns:1fr 1fr}.about-grid,.section-head,.footer-grid,.direction-detail,.contacts-grid{grid-template-columns:1fr}.main-contact{grid-row:auto}.photo-upload-grid{grid-template-columns:1fr}.partner-note{display:block}.partner-note .btn{margin-top:18px} }
@media (max-width:760px) { .container{width:min(var(--max),calc(100% - 28px))}.header-grid{align-items:flex-start;flex-direction:column;min-height:auto;padding:12px 0 15px}.brand{gap:12px}.brand-logo{width:56px;height:56px}.brand-title{font-size:18px}.brand-subtitle{font-size:11px}.main-nav{justify-content:flex-start}.main-nav a{font-size:14px;padding:9px 12px}.hero-main{padding:58px 0 84px}.hero-content h1{font-size:clamp(40px,12vw,58px)}.hero-actions .btn{width:100%}.section{padding:50px 0}.section-title{font-size:clamp(34px,12vw,52px)}.grid-3,.news-grid,.partners-grid{grid-template-columns:1fr}.news-head-clean{grid-template-columns:1fr}.direction-gallery{grid-template-columns:1fr}.direction-gallery figure:first-child{grid-column:auto}.news-toolbar form,.news-toolbar .btn,select,.news-toolbar .input{width:100%!important}.form-grid{grid-template-columns:1fr}.admin-table{display:block;overflow-x:auto}.footer-grid{grid-template-columns:1fr}.carousel-track,.carousel-slide img{min-height:260px}.carousel-btn{width:44px;height:44px;font-size:30px}.admin-top{align-items:flex-start;flex-direction:column}.contact-actions .btn{width:100%} }
@media (max-width:520px) { .hero-content h1{font-size:38px}.hero-content p,.about-text{font-size:17px}.btn{width:100%}.footer-brand-wrap{align-items:flex-start}.footer-logo{width:64px;height:64px}.footer-brand-title{font-size:20px}.footer-brand-subtitle{font-size:12px} }
/* v21: public documents and partner support updates */
.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.info-card .big-num { display:inline-block; margin-bottom:14px; font-size:18px; color:var(--orange); }
.documents-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.document-card { display:flex; flex-direction:column; align-items:flex-start; min-height:280px; }
.document-card p { flex:1; }
.doc-icon { width:68px; height:68px; border-radius:20px; display:grid; place-items:center; margin-bottom:18px; background:linear-gradient(135deg,var(--orange),var(--orange-2)); color:#fff; font-weight:950; letter-spacing:.06em; box-shadow:0 18px 38px rgba(176,21,144,.25); }
.support-docs-list { display:grid; gap:12px; }
.support-doc-link { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:18px 20px; border-radius:20px; text-decoration:none; background:#fff; border:1px solid var(--line); box-shadow:0 12px 30px rgba(17,17,17,.05); }
.support-doc-link span { font-weight:900; }
.support-doc-link strong { color:var(--orange-dark); white-space:nowrap; }
.support-doc-link:hover { border-color:rgba(176,21,144,.4); transform:translateY(-2px); box-shadow:0 20px 46px rgba(176,21,144,.12); }
.partners-grid-wide { grid-template-columns:repeat(3,1fr); }
.partner-card .read-more { display:inline-block; margin-top:18px; }
@media (max-width:1060px) { .info-grid,.partners-grid-wide { grid-template-columns:1fr 1fr; } }
@media (max-width:760px) { .info-grid,.documents-grid,.partners-grid-wide { grid-template-columns:1fr; } .support-doc-link { align-items:flex-start; flex-direction:column; } .support-doc-link strong { white-space:normal; } }

.partners-names-only { align-items: stretch; }
.partner-name-card { min-height: 130px; display: flex; align-items: center; justify-content: center; text-align: center; }
.partner-name-card h3 { margin: 0; font-size: clamp(22px, 2.4vw, 30px); }

/* v24: show uploaded images in full without cropping */
.news-carousel { background:#f4f4f4; }
.news-carousel .carousel-track { min-height:0 !important; height:auto !important; }
.news-carousel .carousel-slide { height:auto !important; }
.news-carousel .carousel-slide img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#f4f4f4 !important;
}

.direction-gallery img,
.news-card img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}

@media (max-width:760px) {
  .news-carousel .carousel-track,
  .news-carousel .carousel-slide img {
    min-height:0 !important;
    height:auto !important;
  }
}
