/* Shared public pages: restrained surfaces, clear reading order, no spotlight layers. */
.public-site { background: linear-gradient(160deg, #111b2a 0%, #090e18 52%, #070b13 100%); background-attachment: fixed; }
.public-shell { min-height: 100svh; display: flex; flex-direction: column; }
.public-shell > main { flex: 1; position: relative; z-index: 1; }
.public-site .container { width: min(calc(100% - 64px), 1120px); max-width: none; }
.public-site .bg-grid, .public-site .smoke-layer { display: none; }
.public-site .bg-glow { opacity: .1; animation: none; }
.public-site #starfield { opacity: .15; }
.public-site .star { animation: none; }
.public-header { position: relative; z-index: 10; border-bottom: 1px solid var(--border); background: #080d16b3; }
.public-header-inner { display: flex; align-items: center; min-height: 80px; gap: 34px; }
.public-header .brand { white-space: nowrap; }
.public-nav { display: flex; gap: 26px; margin-left: auto; align-items: center; }
.public-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .86rem; color: var(--muted); position: relative; }
.public-nav a:hover, .public-nav a[aria-current=page] { color: var(--accent); }
.public-nav a[aria-current=page]::after { content: ''; position: absolute; bottom: 0; height: 2px; background: var(--accent); width: 20px; border-radius: 3px; left: calc(50% - 10px); }
.public-header-actions { display: flex; align-items: center; gap: 18px; }
.public-header-actions .btn { font-size: .8rem; padding: 11px 16px; min-height: 44px; }
.public-header-actions .lang-switch { padding: 0; }
.public-skip { position: fixed; left: 16px; top: 12px; transform: translateY(-150%); padding: 12px 20px; background: var(--accent); color: #071510; z-index: 100; border-radius: 10px; }
.public-skip:focus { transform: none; }
.public-site a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; border-radius: 4px; }
.public-page { padding-top: clamp(36px, 5vw, 68px); padding-bottom: 50px; }
.public-intro { max-width: 800px; margin-bottom: 36px; }
.public-kicker { font-size: .69rem; font-weight: 600; line-height: 1.6; letter-spacing: .13em; text-transform: uppercase; color: var(--accent); margin: 0 0 15px; }
.public-kicker .bi { font-size: 1rem; margin-right: 8px; }
.public-intro h1 { font-size: clamp(2.15rem, 4.5vw, 3.5rem); line-height: 1.09; letter-spacing: -.055em; font-weight: 650; margin: 0 0 20px; text-wrap: balance; }
.public-lead { color: var(--muted); font-size: 1rem; line-height: 1.75; max-width: 650px; margin: 0; }
.telegram-destinations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.destination-card, .journal-feature, .journal-card { border: 1px solid #c9d9ef24; border-radius: 24px; background: linear-gradient(140deg, #1b2835ed, #151b2bea); box-shadow: 0 14px 44px #0002; min-width: 0; }
.destination-card { display: flex; flex-direction: column; padding: 30px; }
.destination-card h2 { font-size: 1.45rem; line-height: 1.25; letter-spacing: -.035em; margin: 0 0 12px; font-weight: 600; }
.destination-card p:not(.public-kicker) { color: var(--muted); line-height: 1.7; font-size: .94rem; margin: 0 0 22px; max-width: 55ch; }
.destination-bot { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); align-items: center; padding: 40px; gap: 35px; background: linear-gradient(115deg, #203935dd, #20263cdb 85%); overflow: hidden; }
.destination-bot h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); max-width: 16ch; }
.destination-copy { position: relative; z-index: 1; min-width: 0; }
.destination-features { list-style: none; padding: 0; margin: 0 0 26px; display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: .78rem; color: #dbe6ec; }
.destination-features li { display: flex; align-items: center; gap: 8px; }
.destination-features .bi { color: var(--accent); font-size: 1rem; }
.public-site .btn-primary { color: #0a1b19; background: linear-gradient(100deg, #98ecb4, #acc9ef); border: 1px solid #c3f8d066; box-shadow: none; }
.public-site .btn { gap: 12px; min-height: 46px; font-size: .86rem; }
.public-site .btn-primary::before, .public-site .btn-primary::after { display: none; }
.destination-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 24px; }
.destination-top .public-kicker { margin: 0; font-size: .65rem; color: var(--muted); }
.destination-icon { width: 50px; height: 50px; border-radius: 16px; display: grid; place-items: center; font-size: 24px; border: 1px solid #ffffff10; }
.destination-icon.mint { color: #a3edc2; background: #7fe7ba12; }
.destination-icon.violet { color: #bdaaff; background: #a588ff18; }
.destination-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 44px; font-size: .85rem; color: #b2f1cd; margin-top: auto; font-weight: 500; }
.destination-link:hover { color: white; }
.destination-link .bi { flex-shrink: 0; }
.telegram-art { position: relative; width: min(100%, 270px); aspect-ratio: 1; display: grid; place-items: center; justify-self: center; }
.telegram-art > .bi { display: grid; place-items: center; width: 128px; height: 128px; font-size: 91px; border-radius: 35px; background: linear-gradient(145deg, #aadfd626, #b5a0ff2b); border: 1px solid #c9f7ed40; color: #b4e3e0; transform: rotate(-9deg); box-shadow: 0 24px 42px #080d204a, inset 0 1px 0 #ffffff40; }
.telegram-orbit { position: absolute; inset: 0; border: 1px solid #bce1e425; border-radius: 50%; }
.orbit-two { inset: 25px; border-style: dashed; border-color: #b9abef30; }
.art-dot { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #a5eec7; top: 22%; right: 5%; box-shadow: 0 0 0 8px #a5eec70a; }
.official-note { display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--muted); font-size: .73rem; margin: 19px 0 0; }
.official-note .bi { color: var(--accent); }
.public-callout { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 28px 0; border-top: 1px solid var(--border); margin-top: 38px; }
.public-callout h2 { margin: 0 0 8px; font-size: 1.13rem; font-weight: 550; }
.public-callout p { margin: 0; font-size: .87rem; line-height: 1.65; color: var(--muted); }
.public-callout .destination-link { margin: 0; flex-shrink: 0; }
.public-footer { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; padding: 25px 0 90px; border-top: 1px solid var(--border); font-size: .7rem; color: var(--muted); position: relative; z-index: 1; }
.public-footer > span { white-space: nowrap; padding-top: 12px; }
.public-footer nav { display: flex; flex-wrap: wrap; gap: 0 22px; justify-content: flex-end; }
.public-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.public-footer a:hover { color: var(--accent); }
.journal-feature { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); overflow: hidden; }
.journal-feature-copy { padding: 38px; }
.journal-feature h2 { font-size: clamp(1.65rem, 3vw, 2.3rem); letter-spacing: -.04em; line-height: 1.18; margin: 0 0 18px; font-weight: 600; }
.journal-feature-copy > p:not(.public-kicker), .journal-card-copy > p:not(.public-kicker) { line-height: 1.7; font-size: .9rem; color: var(--muted); margin: 0 0 25px; }
.journal-feature-copy h2 a:hover, .journal-card-copy h3 a:hover { color: var(--accent-3); }
.journal-feature .public-kicker span { color: #617575; margin: 0 9px; }
.journal-diagram { background: radial-gradient(ellipse at 50% 40%, #73c6b027, #8291dc0c 70%); border-left: 1px solid var(--border); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 35px; min-height: 300px; }
.diagram-shield { width: 125px; height: 125px; border-radius: 38px; display: grid; place-items: center; border: 1px solid #a5edc84d; background: linear-gradient(150deg, #7fd5ae26, #ac92ef21); box-shadow: 0 0 0 18px #a6e3c605, 0 0 0 38px #a6e3c603; color: #abe9ca; font-size: 65px; }
.diagram-label { color: #9ee6bd; font-size: .67rem; letter-spacing: .03em; margin-top: 25px; }
.diagram-route { display: flex; align-items: center; width: 100%; margin-top: 24px; gap: 12px; }
.diagram-route > span:not(.diagram-line) { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: .68rem; color: var(--muted); }
.diagram-route .bi { font-size: 27px; color: #d8e5ee; }
.diagram-line { height: 1px; flex: 1; background: linear-gradient(90deg, #adf2c236, #adf2c2aa, #adf2c236); }
.journal-section-heading { display: flex; align-items: center; justify-content: space-between; margin: 40px 0 20px; gap: 18px; }
.journal-section-heading h2 { font-weight: 550; font-size: 1.2rem; margin: 0; }
.journal-section-heading > span { font-size: .65rem; letter-spacing: .15em; color: #7d8b9e; }
.journal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.journal-card { display: flex; flex-direction: column; overflow: hidden; }
.journal-card-art { height: 165px; display: grid; place-items: center; position: relative; border-bottom: 1px solid var(--border); overflow: hidden; }
.journal-card-art > .bi { font-size: 70px; position: relative; z-index: 1; }
.journal-art-privacy { background: linear-gradient(125deg, #34405566, #4b3d6755); color: #bdacf6; }
.journal-art-tech { background: linear-gradient(125deg, #2b494255, #2e424d55); color: #a4ddc5; }
.journal-art-ring { border: 1px solid currentColor; opacity: .17; width: 220px; height: 220px; position: absolute; border-radius: 50%; }
.journal-art-ring::after { content: ''; position: absolute; inset: 25px; border-radius: 50%; border: 1px dashed currentColor; }
.journal-card-copy { padding: 28px; display: flex; flex-direction: column; flex: 1; }
.journal-card h3 { margin: 0 0 13px; font-size: 1.4rem; line-height: 1.3; letter-spacing: -.03em; font-weight: 550; }
.public-site .blog-article-page { padding: 35px 0 60px; }
.public-site .blog-article { max-width: 800px; margin: 0 auto; }
.public-site .blog-back-link { min-height: 44px; display: inline-flex; align-items: center; }
.public-site .blog-article-header { padding: 28px 0; border-bottom: 1px solid var(--border); margin-bottom: 35px; }
.public-site .blog-article-header h1 { font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.04em; line-height: 1.17; }
.public-site .blog-article-meta { flex-wrap: wrap; }
.public-site .blog-article-content { font-size: 1rem; line-height: 1.9; overflow-wrap: anywhere; }
.public-site .blog-article-content h2 { margin-top: 2em; font-size: 1.65rem; line-height: 1.3; letter-spacing: -.025em; }
.public-site .blog-article-content h3 { line-height: 1.4; }
.public-site .blog-article-content a { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 960px) {
  .public-header-inner { gap: 18px; flex-wrap: wrap; padding-top: 14px; }
  .public-header-actions { margin-left: auto; }
  .public-nav { order: 3; width: 100%; justify-content: center; border-top: 1px solid var(--border); gap: 32px; }
  .public-nav a { min-height: 46px; }
}
@media (max-width: 640px) {
  .public-site .container { width: calc(100% - 32px); }
  .public-header .brand { font-size: .7rem; letter-spacing: .11em; gap: 8px; }
  .public-header .brand-mark { width: 13px; height: 13px; }
  .public-header-inner { gap: 8px; }
  .public-header-actions { gap: 8px; }
  .public-header-actions .btn { font-size: .7rem; padding: 9px 10px; }
  .public-header-actions .lang-btn { padding: 5px; font-size: .65rem; }
  .public-page { padding-top: 32px; padding-bottom: 12px; }
  .public-intro { margin-bottom: 25px; }
  .public-intro h1 { font-size: 2.2rem; }
  .public-lead { font-size: .9rem; line-height: 1.65; }
  .telegram-destinations, .journal-grid, .journal-feature { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .destination-card, .journal-feature-copy, .journal-card-copy { padding: 24px; }
  .destination-bot { grid-template-columns: minmax(0, 1fr); position: relative; }
  .destination-bot h2 { max-width: 17ch; }
  .telegram-art { display: none; }
  .destination-bot .btn { width: 100%; }
  .destination-features { gap: 10px 16px; font-size: .73rem; }
  .destination-top { margin-bottom: 18px; }
  .public-callout { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 28px; padding: 25px 0; }
  .public-footer { flex-direction: column; gap: 8px; padding: 18px 0 100px; }
  .public-footer nav { justify-content: flex-start; gap: 0 18px; }
  .journal-feature { gap: 0; }
  .journal-diagram { min-height: 250px; border-left: 0; border-top: 1px solid var(--border); padding: 28px 40px; }
  .diagram-shield { width: 90px; height: 90px; font-size: 48px; border-radius: 28px; }
  .diagram-route { max-width: 290px; }
  .journal-card-art { height: 140px; }
  .journal-section-heading { margin-top: 28px; }
  .public-site .blog-article-content { font-size: .95rem; }
}
@media (max-width: 380px) {
  .public-header-inner { justify-content: center; }
  .public-header-actions { margin-left: 0; }
  .public-header .brand { flex: 1 0 100%; justify-content: center; padding-bottom: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .public-site *, .public-site *::before, .public-site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
