/* Shared visual system for every website page. */
[hidden] { display: none !important; }
.site-page { --ink:#122b39; --teal:#007c72; --muted:#536875; --line:#dce5e8; background:#f5f8f9; color:var(--ink); }
.site-page .container { max-width:1240px; padding-left:36px; padding-right:36px; }
.site-page p { color:var(--muted); }
.site-page h1,.site-page h2,.site-page h3 { color:var(--ink); letter-spacing:-.035em; }
.site-page button,.site-page input,.site-page select { font-family:inherit; }
.site-page button,.site-page a { -webkit-tap-highlight-color:transparent; }
.site-page :focus-visible { outline:3px solid #009f91; outline-offset:4px; }
.site-page fieldset { border:0; min-width:0; }
.site-page fieldset:disabled { opacity:.55; }
.skip-link { position:absolute; left:16px; top:-80px; z-index:100; padding:12px; background:white; }
.skip-link:focus { top:12px; }
.preview-notice { background:#fdf0cf; color:#684f14; text-align:center; padding:8px 16px; font-size:12px; }
.site-page .site-header { position:relative; box-shadow:none; padding:23px 0; border-color:var(--line); background:#fff; }
.home-header { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.home-brand { display:flex; align-items:center; gap:12px; font-size:17px; letter-spacing:-.03em; color:var(--ink); white-space:nowrap; }
.home-brand:hover { color:var(--ink); text-decoration:none; }
.home-brand img { background:#edf3f5; border-radius:8px; padding:6px; }
.home-brand span { display:flex; flex-direction:column; line-height:1.16; }
.home-brand strong { font-weight:750; }
.home-header nav { display:flex; align-items:center; gap:29px; margin:0; }
.home-header nav a { margin:0; font-size:14px; color:var(--muted); font-weight:600; }
.home-header nav a[aria-current] { color:var(--teal); }
.home-header nav .nav-submit { padding:10px 15px; border:1px solid var(--line); border-radius:6px; color:var(--ink); }
.home-header .nav-submit span { margin-left:12px; }
.site-page .coffee-support { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; max-width:100%; padding:11px 16px; border:1px solid #e3c600; border-radius:6px; background:#ffdd00; color:#122b39; font-size:14px; font-weight:750; text-decoration:none; }
.site-page .coffee-support:hover { background:#f0cf00; color:#122b39; text-decoration:none; }
.coffee-support svg { flex-shrink:0; }
.site-page .text-link { color:var(--teal); font-size:13px; font-weight:650; }
.text-link span { padding-left:9px; }
.button-primary,.button-secondary { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:45px; padding:11px 20px; font-weight:650; font-size:14px; border:1px solid transparent; border-radius:6px; cursor:pointer; line-height:1.4; text-decoration:none; }
.site-page .button-primary { background:var(--teal); color:white; }
.button-primary:hover { background:#00685f; color:white; text-decoration:none; }
.site-page .button-secondary { background:white; border-color:#ccd8dd; color:var(--ink); }
.button-secondary:hover { background:#edf5f4; }
button:disabled { cursor:wait; opacity:.6; }
.site-page .home-footer { background:#122b39; color:#afc2cb; padding:35px 0; }
.footer-top,.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-top { padding-bottom:24px; border-bottom:1px solid #324957; }
.site-page .footer-brand { font-size:17px; font-weight:650; color:#fff; }
.home-footer a { color:#c5d8df; font-size:12px; }
.footer-top > div,.footer-bottom > span:last-child { display:flex; gap:24px; }
.footer-bottom { padding-top:20px; font-size:11px; }
.footer-bottom a { font-size:11px; }

.site-page { --surface:#fff; --page-background:#f5f8f9; }
.site-page a { color:var(--teal); }
.site-page .home-brand,.site-page .home-brand:hover { color:var(--ink); }
.site-page .home-footer a { color:#c5d8df; }
.site-page .home-footer .footer-brand { color:#fff; }
.site-page .home-footer a:hover { color:#fff; }
.site-page .home-header nav a { color:var(--muted); }
.site-page .home-header nav a[aria-current="page"] { color:var(--teal); }
.site-page .home-header nav .nav-submit { color:var(--ink); }
.site-page .home-header nav .nav-submit[aria-current="page"] { color:var(--teal); border-color:var(--teal); }
.site-page textarea { font:inherit; }
.page-main { flex:1; padding-bottom:64px; }
.page-intro { padding:40px 0 32px; max-width:800px; }
.site-page .page-kicker { color:var(--teal); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.13em; margin-bottom:12px; }
.page-intro h1 { font-size:48px; line-height:1.1; letter-spacing:-.045em; margin-bottom:16px; }
.site-page .page-lead { font-size:17px; line-height:1.65; max-width:690px; margin-bottom:0; }
.content-panel { background:#fff; border:1px solid var(--line); border-radius:12px; padding:30px; }
.page-main :where(p,li,a,h1,h2,h3) { overflow-wrap:break-word; }
.site-page .text-link { font-weight:650; }
.site-page .button-primary:hover { background:#00685f; color:#fff; }
.site-page .button-secondary:hover { background:#edf5f4; }
.site-page .coffee-support { color:#122b39; }
.page-intro .text-link { display:inline-block; margin-top:16px; }
.page-date { font-size:12px; margin-top:18px; }
.legal-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:40px; align-items:start; }
.legal-nav { padding-top:24px; }
.legal-nav h2 { font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:14px; }
.legal-nav ol { list-style:none; padding:0; display:grid; gap:12px; }
.legal-nav a { font-size:13px; }
.legal-content { max-width:820px; padding:34px 40px; }
.legal-content section { padding:26px 0; border-bottom:1px solid var(--line); scroll-margin-top:24px; }
.legal-content section:first-of-type { padding-top:0; }
.legal-content section:last-child { padding-bottom:0; border-bottom:0; }
.legal-content h2 { font-size:22px; margin-bottom:13px; }
.legal-content h3 { font-size:16px; margin-top:20px; }
.legal-content p,.legal-content li { font-size:14px; line-height:1.8; color:var(--muted); }
.legal-content p:last-child { margin-bottom:0; }
.legal-content ul { padding-left:20px; margin:12px 0; }
.legal-content li { padding-left:3px; margin:7px 0; }
.legal-content a { text-decoration:underline; text-underline-offset:3px; }
.legal-summary { padding:20px 24px; background:#e6f0ee; border:1px solid #cddfda; border-radius:8px; margin-bottom:24px; }
.legal-summary p { margin:0; font-size:14px; }
.review-note { padding:18px 22px; border:1px solid #e8d29b; border-radius:8px; background:#fdf5df; margin-bottom:24px; }
.review-note p { margin:5px 0 0; font-size:13px; color:#684f14; }
.admin-panel { max-width:800px; }
.admin-login { display:flex; align-items:end; flex-wrap:wrap; gap:12px; }
.admin-login label { display:block; font-size:12px; font-weight:650; margin-bottom:6px; }
.admin-login input { min-height:45px; border:1px solid #ccd8dd; border-radius:5px; padding:9px 12px; width:100%; }
.admin-panel #adminArea { margin-top:30px; }
.admin-panel hr { border:0; border-top:1px solid var(--line); margin:24px 0; }
.admin-panel h2 { font-size:23px; }
.admin-panel .pending-item { border-bottom:1px solid var(--line); padding:16px 0; }
.admin-panel .pending-item button { padding:8px 12px; border:0; border-radius:5px; background:var(--teal); color:white; margin:8px; }
@media(max-width:1050px) {
  .site-page .container { padding-left:24px; padding-right:24px; }
  .home-header nav { gap:18px; }
  .legal-layout { grid-template-columns:180px minmax(0,1fr); gap:24px; }
  .legal-content { padding:28px; }
}
@media(max-width:780px) {
  .site-page .container { padding-left:20px; padding-right:20px; }
  .site-page .site-header { padding:17px 0; }
  .home-header { flex-wrap:wrap; justify-content:center; gap:18px; }
  .home-header nav { justify-content:center; gap:20px; }
  .home-header nav a { font-size:12px; }
  .home-header nav .nav-submit { padding:8px 10px; }
  .page-intro { padding:28px 0; }
  .page-intro h1 { font-size:38px; }
  .site-page .page-lead { font-size:16px; }
  .page-main { padding-bottom:44px; }
  .footer-top,.footer-bottom { flex-direction:column; align-items:flex-start; }
  .footer-bottom>span:last-child { flex-wrap:wrap; }
  .preview-notice { font-size:10px; }
  .legal-layout { grid-template-columns:1fr; gap:24px; }
  .legal-nav { padding-top:0; }
  .legal-nav ol { display:flex; flex-wrap:wrap; gap:10px 20px; }
  .legal-content { max-width:none; padding:24px; }
}
@media(max-width:420px) {
  .site-page .container { padding-left:15px; padding-right:15px; }
  .home-header nav { gap:14px; flex-wrap:wrap; }
  .footer-top>div { flex-wrap:wrap; gap:15px; }
  .page-intro h1 { font-size:33px; }
  .legal-content,.content-panel { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .site-page * { scroll-behavior:auto!important; transition:none!important; } }
