/* ==========================================================================
   Gosprnjavor — page components
   Homepage sections and the shared news card. Same rules as the chrome:
   hairlines, no shadows, one card treatment, one button pair.
   ========================================================================== */

/* Section rhythm: 88px bands, 1120px column. */
.gos-section { padding:5.5rem var(--gutter); }
.gos-section--tint { background:var(--bg-app); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.gos-section--flush { padding-bottom:0; }

/* ---------- Hero ---------- */
.gos-hero {
  background:var(--bg-app); border-bottom:1px solid var(--border);
  padding:4.75rem var(--gutter) 5.25rem;
}
.gos-hero__inner {
  max-width:760px; margin:0 auto;
  display:flex; flex-direction:column; align-items:center; gap:1.375rem; text-align:center;
}
.gos-hero h1 { font-size:2.875rem; line-height:1.15; }
.gos-hero p { margin:0; max-width:62ch; font-size:1.0625rem; line-height:1.7; color:var(--fg-2); }

/* Decorative braille row. aria-hidden — it spells nothing and must not be
   announced as if it did. */
.gos-braille { display:flex; gap:.875rem; align-items:center; opacity:.5; }
.gos-braille__cell { display:grid; grid-template-columns:repeat(2,5px); gap:4px; }
.gos-braille__dot { width:5px; height:5px; border-radius:50%; background:var(--zinc-300); }
.gos-braille__dot.on { background:var(--zinc-950); }

/* ---------- News card (homepage + Novosti list) ---------- */
.gos-grid3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.gos-ncard {
  display:flex; flex-direction:column;
  border:1px solid var(--border); border-radius:1rem; background:#fff; overflow:hidden;
  transition:border-color 160ms var(--ease);
}
.gos-ncard:hover { border-color:var(--border-strong); }
.gos-ncard__media { height:11.875rem; border-bottom:1px solid var(--border); overflow:hidden; }
.gos-ncard__media img { width:100%; height:100%; object-fit:cover; display:block; }
.gos-ncard__body { flex:1; display:flex; flex-direction:column; gap:.75rem; padding:1.375rem; }
.gos-ncard__date { font:500 .875rem var(--font-sans); color:var(--fg-3); }
.gos-ncard h3 { font-size:1.1875rem; line-height:1.35; }
.gos-ncard h3 a { color:var(--fg-1); text-decoration:none; }
.gos-ncard h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.gos-ncard p { margin:0; flex:1; font-size:1rem; line-height:1.65; color:var(--fg-2); }
.gos-ncard .gos-link { align-self:flex-start; }

/* ---------- Mission band ---------- */
.gos-mission { display:grid; grid-template-columns:1fr 1.35fr; gap:4rem; align-items:start; }
.gos-mission h2 { font-size:2rem; margin:.625rem 0 1.5rem; }
.gos-mission__art { height:13.75rem; border:1px solid var(--border); border-radius:1rem; }
.gos-mission__body { display:flex; flex-direction:column; gap:2rem; }
.gos-mission__body > p { margin:0; font-size:1.0625rem; line-height:1.75; color:var(--fg-2); }
.gos-mission__facts {
  display:grid; grid-template-columns:1fr 1fr; gap:2rem;
  padding-top:2rem; border-top:1px solid var(--border);
}
.gos-mission__fact { display:flex; flex-direction:column; gap:.625rem; }
.gos-mission__fact strong { font:600 1.0625rem var(--font-sans); color:var(--fg-1); }
.gos-mission__fact span { font-size:1rem; line-height:1.65; color:var(--fg-2); }
.gos-mission .gos-btn { align-self:flex-start; }

/* ---------- Wide event card ---------- */
.gos-evwide { display:flex; border:1px solid var(--border); border-radius:1rem; background:#fff; overflow:hidden; }
.gos-evwide__media { flex:none; width:26.25rem; border-right:1px solid var(--border); overflow:hidden; }
.gos-evwide__media img { width:100%; height:100%; object-fit:cover; display:block; }
.gos-evwide__body { flex:1; display:flex; gap:2rem; align-items:flex-start; padding:2rem; }
.gos-datebox {
  flex:none; width:6.5rem; text-align:center;
  border:1px solid var(--border); border-radius:1rem; padding:.875rem 0;
}
.gos-datebox__day { font-family:var(--font-serif); font-weight:700; font-size:2.375rem; line-height:1; color:var(--fg-1); }
.gos-evwide__main { flex:1; display:flex; flex-direction:column; gap:.875rem; min-width:0; }
.gos-evwide h3 { font-size:1.375rem; line-height:1.35; }
.gos-evwide h3 a { color:var(--fg-1); text-decoration:none; }
.gos-evwide h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.gos-evmeta { display:flex; flex-direction:column; gap:.5rem; font-size:1rem; color:var(--fg-2); }
.gos-evmeta span { display:flex; align-items:center; gap:.625rem; }
.gos-evmeta i { font-size:.875rem; color:var(--fg-3); }
.gos-evwide__actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:.25rem; }

/* ---------- Services cards ---------- */
.gos-svc { display:flex; flex-direction:column; gap:.75rem; padding:1.75rem; border:1px solid var(--border); border-radius:1rem; background:#fff; }
.gos-svc i { font-size:1.375rem; color:var(--brand); }
html.gos-hc .gos-svc i { color:var(--fg-1); }
.gos-svc strong { font:600 1.1875rem var(--font-sans); color:var(--fg-1); }
.gos-svc span { font-size:1rem; line-height:1.65; color:var(--fg-2); }

/* ---------- Empty state (house pattern) ---------- */
.gos-empty {
  background:var(--bg-app); border:1px solid var(--border); border-radius:1rem;
  padding:3rem 2rem; display:flex; flex-direction:column; align-items:center; gap:.75rem; text-align:center;
}
.gos-empty i { font-size:1.375rem; color:var(--fg-4); }
.gos-empty strong { font:600 1.0625rem var(--font-sans); color:var(--fg-1); }
.gos-empty span { font-size:1rem; line-height:1.65; color:var(--fg-2); max-width:52ch; }

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .gos-grid3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px){
  .gos-mission { grid-template-columns:minmax(0,1fr); gap:2.5rem; }
  .gos-evwide { flex-direction:column; }
  .gos-evwide__media { width:100%; height:14rem; border-right:0; border-bottom:1px solid var(--border); }
  .gos-section { padding:3.5rem var(--gutter); }
}
@media (max-width:760px){
  .gos-grid3 { grid-template-columns:minmax(0,1fr); }
  .gos-hero { padding:2.5rem var(--gutter) 3rem; }
  .gos-hero h1 { font-size:1.875rem; }
  .gos-mission__facts { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
  .gos-evwide__body { flex-direction:column; gap:1.25rem; padding:1.5rem; }
  .gos-datebox { width:100%; display:flex; align-items:baseline; justify-content:center; gap:.5rem; }
}

/* Inline illustration: fills its slot, keeps the card's hairline and radius. */
.gos-illus { background:var(--bg-surface); display:block; overflow:hidden; }
.gos-illus svg { display:block; width:100%; height:100%; }

/* ---------- Filter chips + pagination ---------- */
.gos-filterbar { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; padding-bottom:1.75rem; border-bottom:1px solid var(--border); margin-bottom:2rem; }
.gos-chip { display:inline-flex; align-items:center; min-height:2.5rem; padding:.375rem 1rem; border-radius:.5rem; background:var(--bg-surface); border:1px solid var(--border); color:var(--fg-2); font:500 .9375rem/1.3 var(--font-sans); text-decoration:none; transition:background-color 160ms var(--ease), border-color 160ms var(--ease); }
.gos-chip:hover { background:var(--bg-hover); color:var(--fg-1); }
.gos-chip.is-active { background:var(--brand); border-color:var(--brand); color:var(--on-brand); font-weight:600; }

.gos-listfoot { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; margin-top:2.5rem; padding-top:1.75rem; border-top:1px solid var(--border); }
.gos-listfoot__count { font-size:.9375rem; color:var(--fg-3); }
.gos-pager { display:flex; gap:.5rem; flex-wrap:wrap; }
.gos-pager a, .gos-pager span { min-width:2.75rem; min-height:2.75rem; padding:.25rem .5rem; display:grid; place-items:center; border-radius:.625rem; border:1px solid var(--border); background:var(--bg-surface); font:500 .9375rem var(--font-sans); color:var(--fg-2); text-decoration:none; transition:background-color 160ms var(--ease); }
.gos-pager a:hover { background:var(--bg-hover); color:var(--fg-1); }
.gos-pager .current { background:var(--brand); border-color:var(--brand); color:var(--on-brand); font-weight:600; }
.gos-pager .dots { border-color:transparent; background:transparent; color:var(--fg-4); }

@media (max-width:760px){ .gos-listfoot { flex-direction:column; align-items:flex-start; gap:1rem; } }

/* ---------- Single article ---------- */
.gos-article-grid { padding-top:3.5rem; padding-bottom:4.5rem; }
.gos-article-inner { display:grid; grid-template-columns:minmax(0,1fr) 20rem; gap:3.5rem; align-items:start; }
.gos-article__meta { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-bottom:1.125rem; font-size:.875rem; color:var(--fg-3); }
.gos-badge { display:inline-flex; align-items:center; padding:.3125rem .5625rem; border-radius:.375rem; background:var(--brand); color:var(--on-brand); font:600 .6875rem/1 var(--font-sans); text-transform:uppercase; letter-spacing:.04em; text-decoration:none; }
.gos-badge:hover { background:var(--brand-hover); color:var(--on-brand); }
.gos-article h1 { font-size:2.375rem; max-width:30ch; margin-bottom:1.5rem; }
.gos-article__figure { margin:0 0 2rem; border-radius:1rem; overflow:hidden; border:1px solid var(--border); }
.gos-article__figure img { width:100%; height:auto; display:block; }
.gos-article__figure--ph { height:22.5rem; }

/* Audio player: above the article, not in the sidebar. */
.gos-player { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; padding:.875rem 1.125rem; border:1px solid var(--border); border-radius:.875rem; background:var(--bg-surface); margin-bottom:1.75rem; }
.gos-player__btn { flex:none; width:2.75rem; height:2.75rem; display:grid; place-items:center; border-radius:.75rem; border:1px solid var(--brand); background:var(--brand); color:var(--on-brand); cursor:pointer; transition:background-color 160ms var(--ease); }
.gos-player__btn:hover { background:var(--brand-hover); }
.gos-player__mid { flex:1; min-width:9rem; display:flex; flex-direction:column; gap:.5rem; }
.gos-player__lab { font:600 .9375rem var(--font-sans); color:var(--fg-1); }
.gos-player__track { height:4px; border-radius:2px; background:var(--zinc-200); position:relative; overflow:hidden; }
.gos-player__fill { position:absolute; inset:0 auto 0 0; width:0; background:var(--brand); border-radius:2px; }
.gos-player__time { font:400 .875rem var(--font-mono); color:var(--fg-3); }
.gos-player__native { flex-basis:100%; width:100%; margin-top:.5rem; }

/* Article prose: 19px lead, 17px body. */
.gos-prose { font-size:1.0625rem; line-height:1.75; color:var(--fg-2); }
.gos-prose > * { max-width:70ch; }
.gos-prose p { margin:0 0 1.25rem; }
.gos-prose > p:first-of-type { font-size:1.1875rem; line-height:1.7; color:var(--fg-1); }
.gos-prose h2 { font-size:1.625rem; margin:2.25rem 0 .875rem; }
.gos-prose h3 { font-size:1.25rem; font-family:var(--font-sans); font-weight:600; margin:1.75rem 0 .75rem; }
.gos-prose a { color:var(--fg-1); text-decoration:underline; text-underline-offset:3px; }
.gos-prose ul, .gos-prose ol { margin:0 0 1.25rem; padding-left:1.5rem; }
.gos-prose li { margin-bottom:.5rem; }
.gos-prose img { max-width:100%; height:auto; border-radius:1rem; border:1px solid var(--border); }
.gos-prose blockquote { margin:0 0 1.25rem; padding:1.375rem 1.625rem; border:1px solid var(--border); border-radius:1rem; background:var(--bg-surface); font-family:var(--font-serif); font-size:1.3125rem; line-height:1.6; color:var(--fg-1); }

.gos-share { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-top:2.25rem; padding-top:1.75rem; border-top:1px solid var(--border); }
.gos-share__lab { font:500 .9375rem var(--font-sans); color:var(--fg-3); }

/* ---------- Aside ---------- */
.gos-aside { display:flex; flex-direction:column; gap:1.5rem; position:sticky; top:1.25rem; }
.gos-aside__card { border:1px solid var(--border); border-radius:1rem; background:var(--bg-surface); padding:1.375rem; }
.gos-aside__card .gos-eyebrow { display:block; margin-bottom:.875rem; }
.gos-toc { display:flex; flex-direction:column; gap:.75rem; }
.gos-toc a { font:500 .9375rem var(--font-sans); color:var(--fg-2); text-decoration:none; }
.gos-toc a:hover { color:var(--fg-1); text-decoration:underline; text-underline-offset:3px; }
.gos-toc a.is-sub { padding-left:.875rem; font-weight:400; font-size:.875rem; }
.gos-rel { display:flex; flex-direction:column; gap:1rem; }
.gos-rel a { text-decoration:none; display:block; }
.gos-rel__date { display:block; font-size:.75rem; color:var(--fg-3); margin-bottom:.25rem; }
.gos-rel__t { font:600 1rem/1.4 var(--font-sans); color:var(--fg-1); }
.gos-rel a:hover .gos-rel__t { text-decoration:underline; text-underline-offset:3px; }
.gos-rel__sep { height:1px; background:var(--border); }
.gos-aside__card--help { background:var(--bg-app); border-color:var(--border-strong); display:flex; flex-direction:column; gap:.75rem; }
.gos-aside__card--help > i { font-size:1.25rem; color:var(--brand); }
html.gos-hc .gos-aside__card--help > i { color:var(--fg-1); }
.gos-help__t { font-family:var(--font-serif); font-weight:700; font-size:1.1875rem; line-height:1.3; color:var(--fg-1); }
.gos-help__s { font-size:.9375rem; line-height:1.6; color:var(--fg-2); }
.gos-help__tel { font:600 1.125rem var(--font-sans); color:var(--fg-1); text-decoration:underline; text-underline-offset:3px; }

@media (max-width:900px){
  .gos-article-inner { grid-template-columns:minmax(0,1fr); gap:2.5rem; }
  .gos-aside { position:static; }
  .gos-article h1 { font-size:1.75rem; }
  .gos-article__figure--ph { height:14rem; }
}

/* ---------- Events ---------- */
.gos-two { display:grid; grid-template-columns:minmax(0,1fr) 20rem; gap:3.5rem; align-items:start; }
.gos-h2 { font-family:var(--font-serif); font-weight:700; font-size:2rem; color:var(--fg-1); margin:0 0 1.5rem; }
.gos-h2--spaced { margin-top:3.5rem; }
.gos-h2--tight { font-size:1.75rem; margin:2rem 0 .875rem; }
.gos-evlist { display:flex; flex-direction:column; gap:1.5rem; }

.gos-evcard { display:flex; border:1px solid var(--border); border-radius:1rem; background:var(--bg-surface); overflow:hidden; }
.gos-evcard__media { flex:none; width:18.75rem; border-right:1px solid var(--border); overflow:hidden; align-self:stretch; }
.gos-evcard__media img { width:100%; height:100%; object-fit:cover; display:block; }
.gos-evcard__body { flex:1; display:flex; gap:1.75rem; align-items:flex-start; padding:1.75rem; min-width:0; }
.gos-evcard__main { flex:1; display:flex; flex-direction:column; gap:.75rem; min-width:0; }
.gos-evcard__main .gos-badge { align-self:flex-start; }
.gos-evcard h3 { font-family:var(--font-sans); font-weight:600; font-size:1.3125rem; line-height:1.35; }
.gos-evcard h3 a { color:var(--fg-1); text-decoration:none; }
.gos-evcard h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.gos-evcard__actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:.25rem; }

.gos-datebox { flex:none; width:6rem; text-align:center; border:1px solid var(--border); border-radius:1rem; padding:.75rem 0; display:flex; flex-direction:column; gap:.25rem; }
.gos-datebox__day { font-family:var(--font-serif); font-weight:700; font-size:2.125rem; line-height:1; color:var(--fg-1); }
.gos-datebox--lg { width:7rem; padding:1rem 0; }
.gos-datebox--lg .gos-datebox__day { font-size:2.75rem; }

.gos-pastlist { border:1px solid var(--border); border-radius:1rem; background:var(--bg-surface); overflow:hidden; }
.gos-pastlist a { display:flex; align-items:center; gap:1.25rem; padding:1.125rem 1.375rem; border-bottom:1px solid var(--border); text-decoration:none; transition:background-color 160ms var(--ease); }
.gos-pastlist a:last-child { border-bottom:0; }
.gos-pastlist a:hover { background:var(--bg-hover); }
.gos-pastlist__d { flex:none; width:6rem; font:500 .9375rem var(--font-mono); color:var(--fg-3); }
.gos-pastlist__t { flex:1; font:600 1.0625rem var(--font-sans); color:var(--fg-1); }

/* Mini calendar */
.gos-calcard { padding:1.375rem; }
.gos-calcard .gos-eyebrow { margin-bottom:.875rem; }
.gos-cal { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; text-align:center; }
.gos-cal__wd { font:600 .75rem var(--font-sans); color:var(--fg-3); padding:.375rem 0; }
.gos-cal__d { display:block; font-size:.875rem; color:var(--fg-2); padding:.4375rem 0; border-radius:.5rem; text-decoration:none; }
.gos-cal__d.is-out { color:var(--fg-4); }
a.gos-cal__d { font-weight:600; }
.gos-cal__d.is-next { background:var(--brand); color:var(--on-brand); }
.gos-cal__d.is-next:hover { background:var(--brand-hover); }
.gos-cal__d.is-event { background:var(--zinc-100); color:var(--fg-1); }
.gos-cal__d.is-event:hover { background:var(--bg-hover); }
html.gos-hc .gos-cal__d.is-event { border:1px solid var(--fg-1); }

/* Reminder card */
.gos-remind { display:flex; flex-direction:column; gap:.75rem; padding:1.375rem; border:1px solid var(--border-strong); border-radius:1rem; background:var(--bg-app); }
.gos-remind > i { font-size:1.25rem; color:var(--brand); }
html.gos-hc .gos-remind > i { color:var(--fg-1); }
.gos-remind__t { font-family:var(--font-serif); font-weight:700; font-size:1.1875rem; color:var(--fg-1); }
.gos-remind__s { font-size:1rem; line-height:1.65; color:var(--fg-2); }
.gos-remind input { min-height:3rem; padding:.5rem .875rem; border:1px solid var(--border-strong); border-radius:.75rem; background:var(--bg-surface); font:400 1rem var(--font-sans); color:var(--fg-1); }
.gos-remind input::placeholder { color:var(--fg-4); }

/* Single event */
.gos-evhead { background:var(--bg-app); border-bottom:1px solid var(--border); padding:3.25rem var(--edge); }
.gos-evhead__inner { display:flex; gap:2rem; align-items:flex-start; }
.gos-evhead__main { flex:1; min-width:0; }
.gos-evhead .gos-badge { display:inline-flex; margin-bottom:.875rem; }
.gos-evhead h1 { font-size:2.375rem; line-height:1.2; max-width:34ch; margin:0 0 1.5rem; }
.gos-evhead__actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1.5rem; }
.gos-facts { display:grid; grid-template-columns:repeat(3,auto); gap:2.5rem; justify-content:start; padding:1.25rem 1.5rem; border:1px solid var(--border); border-radius:1rem; background:var(--bg-surface); }
.gos-fact { display:flex; flex-direction:column; gap:.25rem; }
.gos-fact__v { font:600 1rem var(--font-sans); color:var(--fg-1); }
.gos-fact__s { font-size:1rem; color:var(--fg-2); }

.gos-evfigure { margin:0; border:1px solid var(--border); border-radius:.75rem; overflow:hidden; }
.gos-evfigure img { width:100%; height:auto; display:block; }
.gos-evfigure--ph { height:21.25rem; }

.gos-sched { border:1px solid var(--border); border-radius:1rem; background:var(--bg-surface); overflow:hidden; }
.gos-sched__row { display:flex; gap:1.5rem; align-items:baseline; padding:1.125rem 1.375rem; border-bottom:1px solid var(--border); }
.gos-sched__row:last-child { border-bottom:0; }
.gos-sched__time { flex:none; width:4rem; font:400 1rem var(--font-mono); color:var(--fg-1); }
.gos-sched__what { flex:1; font:600 1.0625rem var(--font-sans); color:var(--fg-1); }
.gos-sched__where { flex:none; font-size:.9375rem; color:var(--fg-3); }

.gos-mapcard { padding:1.375rem; display:flex; flex-direction:column; gap:.625rem; }
.gos-mapcard iframe { width:100%; height:10rem; border:1px solid var(--border); border-radius:.75rem; }
.gos-accesscard { padding:1.375rem; }
.gos-accesscard ul { list-style:none; margin:.625rem 0 0; padding:0; display:flex; flex-direction:column; gap:.625rem; }
.gos-accesscard li { display:flex; align-items:center; gap:.625rem; font-size:1rem; color:var(--fg-2); }
.gos-accesscard li i { font-size:.8125rem; color:var(--brand); }
html.gos-hc .gos-accesscard li i { color:var(--fg-1); }

@media (max-width:900px){
  .gos-two { grid-template-columns:minmax(0,1fr); gap:2.5rem; }
  .gos-evcard { flex-direction:column; }
  .gos-evcard__media { width:100%; height:12rem; border-right:0; border-bottom:1px solid var(--border); }
  .gos-facts { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
  .gos-evhead h1 { font-size:1.75rem; }
}
@media (max-width:760px){
  .gos-evcard__body { flex-direction:column; gap:1.25rem; padding:1.25rem; }
  .gos-datebox { width:100%; flex-direction:row; align-items:baseline; justify-content:center; gap:.5rem; }
  .gos-evhead__inner { flex-direction:column; }
  .gos-sched__row { flex-wrap:wrap; gap:.5rem 1rem; }
  .gos-pastlist__d { width:100%; }
}

/* ---------- Resources ---------- */
.gos-res { display:grid; grid-template-columns:16.25rem minmax(0,1fr); gap:3rem; align-items:start; }
.gos-resrail { display:flex; flex-direction:column; gap:1.75rem; }
.gos-resrail .gos-eyebrow { margin-bottom:.75rem; }
.gos-resrail__list { display:flex; flex-direction:column; gap:2px; }
.gos-resrail__list a { min-height:2.5rem; display:flex; align-items:center; padding:.375rem .75rem; border-radius:.5rem; font:400 1rem var(--font-sans); color:var(--fg-2); text-decoration:none; transition:background-color 160ms var(--ease); }
.gos-resrail__list a:hover { background:var(--bg-hover); color:var(--fg-1); }
.gos-resrail__list a.is-active { background:var(--zinc-100); font-weight:600; color:var(--fg-1); }
html.gos-hc .gos-resrail__list a.is-active { border:1px solid var(--fg-1); }
.gos-resfmt { display:flex; flex-direction:column; gap:.75rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.gos-resfmt label { display:flex; align-items:center; gap:.625rem; font-size:1rem; color:var(--fg-2); cursor:pointer; min-height:2rem; }
.gos-resfmt input { position:absolute; opacity:0; width:1px; height:1px; }
.gos-box { flex:none; width:1.25rem; height:1.25rem; border-radius:.3125rem; border:1px solid var(--border-strong); background:var(--bg-surface); display:grid; place-items:center; color:transparent; font-size:.6875rem; }
.gos-resfmt input:checked + .gos-box { background:var(--brand); border-color:var(--brand); color:var(--on-brand); }
.gos-resfmt input:focus-visible + .gos-box { outline:2px solid var(--zinc-950); outline-offset:2px; }
.gos-resfmt .gos-btn { margin-top:.375rem; }

.gos-doclist { border:1px solid var(--border); border-radius:1rem; background:var(--bg-surface); overflow:hidden; }
.gos-doc { display:flex; align-items:center; gap:1.25rem; padding:1.25rem 1.375rem; border-bottom:1px solid var(--border); flex-wrap:wrap; }
.gos-doc:last-child { border-bottom:0; }
.gos-doc__icon { flex:none; width:2.75rem; height:2.75rem; display:grid; place-items:center; border:1px solid var(--border); border-radius:.75rem; background:var(--bg-app); color:var(--fg-2); }
.gos-doc__body { flex:1; min-width:12rem; display:flex; flex-direction:column; gap:.375rem; }
.gos-doc__t { font:600 1.0625rem var(--font-sans); color:var(--fg-1); }
.gos-doc__meta { display:flex; gap:.875rem; flex-wrap:wrap; font-size:.875rem; color:var(--fg-3); }
.gos-doc__meta span { display:flex; align-items:center; gap:.375rem; }
.gos-doc .gos-btn { flex:none; min-height:2.75rem; }

.gos-ask { display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; margin-top:2.5rem; padding:1.75rem 2rem; border:1px solid var(--border-strong); border-radius:1rem; background:var(--bg-app); }
.gos-ask__t { display:block; font:600 1.125rem var(--font-sans); color:var(--fg-1); margin-bottom:.375rem; }
.gos-ask__s { display:block; font-size:1rem; line-height:1.65; color:var(--fg-2); }

/* ---------- About ---------- */
.gos-mission2 { display:grid; grid-template-columns:1.3fr 1fr; gap:3.5rem; align-items:start; }
.gos-mission2__art { width:100%; height:15rem; object-fit:cover; border:1px solid var(--border); border-radius:.75rem; }
.gos-lede { margin:0 0 1.25rem; font-size:1.0625rem; line-height:1.75; color:var(--fg-2); }
.gos-lede:last-child { margin-bottom:0; }
.gos-rule { margin-top:3.5rem; padding-top:3rem; border-top:1px solid var(--border); }
.gos-people { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; }
.gos-person { display:flex; flex-direction:column; gap:.875rem; }
.gos-person__ph { width:100%; height:12.5rem; object-fit:cover; border:1px solid var(--border); border-radius:.75rem; }
.gos-person__meta { display:flex; flex-direction:column; gap:.25rem; }
.gos-person__n { font:600 1.0625rem var(--font-sans); color:var(--fg-1); }
.gos-person__r { font-size:.9375rem; color:var(--fg-3); }
.gos-registry { margin-top:3.5rem; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; padding:2rem; border:1px solid var(--border); border-radius:1rem; background:var(--bg-app); }
.gos-registry__v { font-size:1.0625rem; color:var(--fg-1); }

/* ---------- Contact ---------- */
.gos-contact { display:grid; grid-template-columns:minmax(0,1fr) 21.25rem; gap:3.5rem; align-items:start; }
.gos-form { display:flex; flex-direction:column; gap:1.25rem; max-width:35rem; }
.gos-field { display:flex; flex-direction:column; gap:.5rem; }
.gos-label { font:600 .9375rem var(--font-sans); color:var(--fg-1); }
.gos-form input, .gos-form textarea { width:100%; min-height:3rem; padding:.75rem .875rem; border:1px solid var(--border-strong); border-radius:.75rem; background:var(--bg-surface); font:400 1rem var(--font-sans); color:var(--fg-1); }
.gos-form textarea { min-height:8.25rem; line-height:1.6; resize:vertical; }
.gos-form ::placeholder { color:var(--fg-4); }
.gos-form :is(input,textarea)[aria-invalid="true"] { border-color:var(--red); }
.gos-err { font-size:.875rem; font-weight:500; color:var(--red); }
.gos-form__foot { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; margin-top:.25rem; }
.gos-form__help { font-size:.9375rem; color:var(--fg-3); }
.gos-hp { position:absolute; left:-9999px; }
.gos-notice { padding:1rem 1.25rem; border-radius:.75rem; margin-bottom:1.25rem; border:1px solid var(--border); background:var(--bg-app); font-size:1rem; }
.gos-notice--ok { border-color:var(--brand); }
.gos-notice--bad { border-color:var(--red); color:var(--red); }
.gos-infocard { padding:1.375rem; display:flex; flex-direction:column; gap:.625rem; font-size:1rem; line-height:1.7; color:var(--fg-2); }
.gos-infocard a { color:var(--fg-1); text-decoration:underline; text-underline-offset:3px; }
.gos-hours { display:flex; justify-content:space-between; gap:1rem; font-size:1rem; color:var(--fg-2); }
.gos-hours strong { color:var(--fg-1); font-weight:600; }
.gos-fasttel { display:flex; align-items:center; gap:.75rem; font:600 1.3125rem var(--font-sans); color:var(--fg-1); text-decoration:underline; text-underline-offset:4px; }
.gos-fasttel i { font-size:1.0625rem; color:var(--brand); }
html.gos-hc .gos-fasttel i { color:var(--fg-1); }

@media (max-width:900px){
  .gos-res, .gos-mission2, .gos-contact { grid-template-columns:minmax(0,1fr); gap:2.5rem; }
  .gos-people { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gos-registry { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
}
@media (max-width:760px){
  .gos-people { grid-template-columns:minmax(0,1fr); }
  .gos-doc { gap:1rem; }
  .gos-doc .gos-btn { width:100%; }
}
