/* Preserve official artwork; give each identity its own clear space. */
header { border-bottom: 1px solid #dedbd2; padding-top: 22px; padding-bottom: 22px; }
.partner { position: relative; display: grid; justify-items: center; gap: 10px; min-width: 194px; padding: 17px 22px 14px; border: 1px solid #d9d3c4; border-radius: 3px; background: #fffefa; box-shadow: 0 5px 18px #403c3110; }
.partner::before,.partner::after { content: ''; width: 24px; height: 2px; background: #a59067; position: absolute; top: -1px; }
.partner::before { left: 18px; }.partner::after { right: 18px; }
.brand-caption { font: 9px/1.2 Arial,sans-serif; letter-spacing: 2.8px; color: #646153; }
header .partner img { width: 150px; height: 56px; object-fit: contain; }
.partner small { font-size: 8px; letter-spacing: 1.5px; border-top: 1px solid #e1dccf; padding-top: 8px; }
.header-link { border: 1px solid #c7cabe; padding: 11px 16px; border-radius: 5px; text-decoration: none; }
.hero-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 27px 0 23px; }
.hero-actions > a { display:inline-flex; align-items:center; justify-content:center; padding:12px 13px; min-height:50px; font:700 13px/1.4 Arial,sans-serif; white-space:nowrap; }
.secondary { font-size: 14px; font-weight: bold; }
.application-cta { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:50px; padding:13px 21px; border:1px solid #98283e; border-radius:6px; background:#98283e; color:#fff; font-size:14px; font-weight:700; line-height:1.4; text-decoration:none; box-shadow:0 5px 14px #60243422; transition:background .16s,box-shadow .16s,transform .16s; }
.application-cta:hover { background:#7d2033; border-color:#7d2033; box-shadow:0 7px 18px #60243430; transform:translateY(-1px); }
.application-cta:focus-visible { outline:3px solid #233b42; outline-offset:4px; }
.payment-cta { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 17px; border:2px solid #2c646c; border-radius:4px; color:#24545b; text-decoration:none; background:#fafdfc; }
.payment-cta:hover { background:#eaf5f2; }
.payment-cta:focus-visible { outline:3px solid #2c646c; outline-offset:4px; }
.application-follow { position:fixed; z-index:20; right:max(18px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); width:max-content; max-width:calc(100% - 32px); }
.application-follow .application-cta { min-height:46px; padding:11px 17px; font-size:13px; box-shadow:0 4px 16px #60243426; }
body:has(.application-follow:not([hidden])) { padding-bottom:82px; }
body:has(dialog[open]) .application-follow { display:none; }
@media(max-width:760px) {
 .application-follow { right:max(12px,env(safe-area-inset-right)); bottom:max(12px,env(safe-area-inset-bottom)); }
 .header-link.application-cta { width:100%; margin-left:0; }
 body:has(input:focus,select:focus,textarea:focus) .application-follow { display:none; }
}
@media(prefers-reduced-motion:reduce) { .application-cta { transition:none; }.application-cta:hover { transform:none; } }
@media print { .application-follow { display:none!important; }body:has(.application-follow:not([hidden])) { padding-bottom:0; } }
.community-visual { position: relative; padding: 0 0 47px; }
.community-visual .home-art { display: block; border-radius: 110px 110px 12px 12px; max-height: 350px; }
.community-signature { position: absolute; bottom: 0; left: 22px; right: 22px; display: grid; justify-items: center; gap: 14px; padding: 23px 17px 19px; background: #34473c; border: 1px solid #a99369; box-shadow: 0 8px 20px #26342b24; }
.community-signature::before { content: ''; position: absolute; inset: 5px; border: 1px solid #c4b48f65; pointer-events: none; }
.community-signature img { max-width: 100%; width: 240px; height: 50px; object-fit: contain; }
.community-signature span { font: 9px/1.2 Arial,sans-serif; letter-spacing: 3px; color: #e4dac4; }
@media(max-width:760px) {
  header { gap: 13px; padding-top: 16px; padding-bottom: 17px; }
  .partner { min-width: 0; padding: 12px 13px; gap: 8px; }
  header .partner img { width: 119px; height: 44px; }
  .brand-caption { font-size: 8px; letter-spacing: 2px; }
  .partner small { font-size: 7px; letter-spacing: .9px; }
  .header-link { width: auto; margin-top: 2px; }
  .community-visual { max-width: 420px; width: 100%; margin: auto; padding-bottom: 42px; }
  .community-visual .home-art { max-height: 260px; }
  .community-signature { left: 14px; right: 14px; padding: 19px 16px 16px; gap: 11px; }
  .community-signature img { width: 210px; height: 44px; }
}
@media print { .brand-caption { color: #333; } header { box-shadow: none; } }
