.masters-page { min-height: 100vh; background: #0d090b; color: #f0e2ca; }
.masters-main { overflow: hidden; }
.masters-hero { position: relative; background: #0d090b; }
.masters-hero__inner { position: relative; display: flex; flex-direction: column; width: min(100% - 32px, 1260px); margin: auto; }
.masters-hero__scene, .masters-hero__scene img { display: block; width: 100%; height: auto; }
.masters-hero__scene { max-width: 620px; margin: 0 auto; }
.masters-hero__copy { position: relative; z-index: 1; width: 100%; max-width: 620px; padding: 18px 0 26px; }
.masters-eyebrow { color: #e0ac70; font: 800 .8rem/1.25 var(--font-display); letter-spacing: .16em; text-transform: uppercase; }
.masters-hero h1 { max-width: 8ch; margin: 15px 0 18px; color: #fff0d4; font: 800 clamp(3.6rem, 13vw, 6.3rem)/.86 var(--font-display); letter-spacing: -.045em; text-transform: uppercase; }
.masters-hero h1 span { color: #d7a75b; }
.masters-hero p { max-width: 570px; margin: 0; color: #f0ddc5; font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.5; text-wrap: pretty; }
.masters-hero__link { display: inline-flex; gap: 12px; align-items: center; margin-top: 29px; padding: 12px 0; border-bottom: 1px solid #d9a967; color: #ffe5b5; font: 800 1rem/1.2 var(--font-display); letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.masters-hero__link:hover, .masters-hero__link:focus-visible { color: #fff; border-color: #fff; }
.masters-content { width: min(100% - 32px, 1260px); margin: 18px auto 0; padding-bottom: 90px; position: relative; z-index: 2; }
.masters-status { position: relative; display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr) auto; padding: clamp(27px, 4vw, 48px); border: 1px solid #ae8050; background-image: linear-gradient(130deg, rgba(36, 17, 20, .95), rgba(15, 11, 13, .97)), var(--brocade); background-size: auto, 620px 620px; box-shadow: inset 0 0 0 5px rgba(8, 5, 8, .45), 0 20px 50px rgba(0, 0, 0, .35); }
.masters-status__lead { min-width: 0; }
.masters-invite-notice { max-width: 650px; margin: 14px 0 18px; padding: 12px 16px; border-left: 3px solid #e0ac70; background: rgba(215, 167, 91, .11); color: #ffe5b8; font-size: 1rem; line-height: 1.5; }
.masters-status h2, .masters-details h2 { margin: 9px 0 14px; color: #fff0d4; font: 800 clamp(2.5rem, 5.3vw, 4.8rem)/.95 var(--font-display); letter-spacing: -.025em; }
.masters-status__lead > p:not(.masters-status__reference):not(.masters-invite-notice) { max-width: 650px; margin: 0; color: #dfcfbc; font-size: clamp(1.03rem, 2vw, 1.18rem); line-height: 1.55; }
.masters-status__reference { margin: 17px 0 0; color: #f0d49e; font: 700 .95rem/1.4 var(--font-display); overflow-wrap: anywhere; }
.masters-status__seal { display: grid; align-content: center; justify-items: center; align-self: start; width: 148px; height: 148px; border: 1px solid #a37744; border-radius: 50%; background: radial-gradient(circle, #6c351f, #281316 65%, #140d0e); box-shadow: 0 0 0 5px rgba(191, 134, 61, .13), inset 0 0 20px rgba(248, 188, 91, .18); color: #ffe0a5; font: 800 .85rem/1 var(--font-display); letter-spacing: .17em; }
.masters-status__seal strong { font-size: 1.55rem; letter-spacing: .03em; }
.masters-status__seal small { font-size: .77rem; }
.masters-status__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 17px; margin-top: 25px; }
.masters-status button, .masters-details__rules { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 11px 20px; border: 1px solid #dfb776; border-radius: 2px; background: linear-gradient(#714528, #3d241c); color: #fff1d0; font: 800 .95rem/1.2 var(--font-display); letter-spacing: .045em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.masters-status button:hover:not(:disabled), .masters-details__rules:hover { border-color: #ffe1a1; background: linear-gradient(#86532e, #4d2a1e); }
.masters-status button:disabled { opacity: .65; cursor: wait; }
.masters-text-link, .masters-payment a { color: #f2c685; font-weight: 700; text-underline-offset: 4px; }
.masters-registration, .masters-payment, .masters-reference-form { grid-column: 1 / -1; padding-top: 23px; border-top: 1px solid rgba(213, 165, 100, .35); }
.masters-registration > p:first-child { max-width: 800px; margin: 0 0 17px; color: #ead8bf; line-height: 1.55; }
.masters-registration__rules-snapshot { max-width: 850px; margin: 0 0 19px; border: 1px solid #8a6441; background: #1c1113; }
.masters-registration__rules-snapshot summary { padding: 13px 16px; color: #f7dcab; font: 800 1.05rem var(--font-display); cursor: pointer; }
.masters-registration__rules-snapshot p { margin: 0; padding: 4px 16px 17px; color: #ead8bf; line-height: 1.55; white-space: pre-line; }
.masters-registration__consent { display: flex; align-items: flex-start; gap: 12px; max-width: 760px; line-height: 1.5; }
.masters-registration__consent input { width: 20px; height: 20px; flex: none; margin: 2px 0 0; accent-color: #d7a75b; }
.masters-registration__consent label { cursor: pointer; }
.masters-registration__rules { display: inline-block; margin: 8px 0 0 32px; color: #f2c685; text-underline-offset: 3px; }
.masters-registration button { margin-top: 20px; }
.masters-registration__note { max-width: 760px; margin: 11px 0 0; color: #baa995; font-size: .89rem; line-height: 1.45; }
.masters-payment h3 { margin: 0 0 8px; color: #f8dfb7; font: 800 1.5rem var(--font-display); }
.masters-payment p { max-width: 780px; margin: 0 0 13px; line-height: 1.55; white-space: pre-line; }
.masters-pix { display: grid; justify-items: start; gap: 10px; max-width: 840px; margin: 17px 0; }
.masters-pix > span { color: #e6bf84; font: 800 .82rem var(--font-display); letter-spacing: .1em; text-transform: uppercase; }
.masters-pix__body { display: flex; align-items: flex-start; gap: 20px; width: 100%; }
.masters-pix__qr { flex: none; width: 200px; padding: 8px; border: 1px solid #7f5c39; background: #fff; }
.masters-pix__qr svg { display: block; width: 100%; height: auto; }
.masters-pix__copy { display: grid; justify-items: start; gap: 10px; min-width: 0; flex: 1; }
.masters-pix__copy strong { color: #f6dfb7; font: 800 1rem var(--font-display); }
.masters-pix code { display: block; width: 100%; padding: 13px; border: 1px solid #7f5c39; background: #130d0f; color: #f5e5c9; overflow-wrap: anywhere; font: .86rem/1.5 ui-monospace, Consolas, monospace; }
.masters-reference-form label { display: block; margin-bottom: 6px; color: #f6dfb7; font: 800 1.15rem var(--font-display); }
.masters-reference-form p { max-width: 760px; margin: 0 0 14px; color: #dfcfbc; line-height: 1.5; }
.masters-reference-form input { display: block; width: min(100%, 760px); min-height: 48px; padding: 11px 13px; border: 1px solid #ac8257; border-radius: 2px; background: #f1dfbf; color: #241617; font: 500 1rem Arial, sans-serif; }
.masters-reference-form button { margin-top: 16px; }
.masters-error { grid-column: 1 / -1; margin: 0; padding: 12px 15px; border-left: 3px solid #ef9381; background: #3b1b1c; color: #ffd5cc; }
.masters-how { margin-top: 64px; }
.masters-how h2 { margin: 9px 0 23px; color: #fff0d4; font: 800 clamp(2.5rem, 5.3vw, 4.8rem)/.95 var(--font-display); letter-spacing: -.025em; }
.masters-how ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.masters-how li { min-width: 0; display: flex; gap: 13px; padding: 20px 17px; border-top: 2px solid #b78047; background: #1e1316; }
.masters-how li > span { flex: none; color: #dfac6e; font: 800 1.65rem/1 var(--font-display); }
.masters-how h3 { margin: 0 0 7px; color: #ffe7c2; font: 800 1.3rem/1.1 var(--font-display); }
.masters-how p { margin: 0; color: #d7c5b2; font-size: .94rem; line-height: 1.5; }
.masters-details { margin-top: 64px; }
.masters-details__heading > p { max-width: 610px; margin: 0; color: #cdbba8; line-height: 1.55; }
.masters-details__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 25px 0 22px; }
.masters-details__grid > div { min-width: 0; padding: 22px 23px; border: 1px solid #6f4c31; background: linear-gradient(135deg, #261719, #130e10); }
.masters-details dt { margin-bottom: 7px; color: #d9a967; font: 800 .8rem/1.2 var(--font-display); letter-spacing: .11em; text-transform: uppercase; }
.masters-details dd { margin: 0; color: #f0e2ca; font-size: 1.05rem; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-line; }
.masters-details__origin { margin: 12px 0 0; color: #cdbba8; font-size: .92rem; line-height: 1.5; }
.masters-details__rules { gap: 12px; width: fit-content; }
.masters-return { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 66px; padding-top: 24px; border-top: 1px solid #604634; }
.masters-return a { color: #e5c999; font: 800 1rem/1.25 var(--font-display); text-decoration: none; text-transform: uppercase; }
.masters-return a:hover { color: #fff; }
.masters-page :is(button, a, input):focus-visible { outline: 2px solid #ffe0a5; outline-offset: 3px; }
@media (min-width: 960px) {
  .masters-hero__inner { display: block; }
  .masters-hero__scene { max-width: none; }
  .masters-hero__copy { position: absolute; top: 50%; left: 52%; width: 42%; max-width: none; padding: 0; transform: translateY(-50%); }
  .masters-hero .masters-eyebrow { font-size: .7rem; }
  .masters-hero h1 { max-width: none; margin: 12px 0 14px; font-size: clamp(3rem, 6.1vw, 5.8rem); line-height: .86; text-shadow: none; }
  .masters-hero p { max-width: 36ch; font-size: clamp(.94rem, 1.2vw, 1.12rem); line-height: 1.4; }
  .masters-hero__link { margin-top: 15px; padding: 8px 0; font-size: .86rem; }
}
@media (max-width: 980px) { .masters-how ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 960px) { .masters-status { grid-template-columns: 1fr; } .masters-status__seal { display: none; } }
@media (max-width: 620px) { .masters-hero h1 { font-size: clamp(3.6rem, 15vw, 5.4rem); } .masters-content { width: min(100% - 32px, 1260px); } .masters-status { padding: 28px 22px; } .masters-status__actions, .masters-status__actions button, .masters-registration button, .masters-reference-form button { width: 100%; } .masters-pix__body { flex-direction: column; } .masters-pix__qr { width: min(200px, 100%); } .masters-how, .masters-details { margin-top: 51px; } .masters-how ol, .masters-details__grid { grid-template-columns: 1fr; } .masters-return { flex-direction: column; gap: 18px; } }
@media (prefers-reduced-motion: reduce) { .masters-page * { scroll-behavior: auto; } }
