@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');

/* Shared public identity; independent sales and private tools retain their styles. */
body.kozo-theme {
  --brand-font: 'Space Grotesk', system-ui, sans-serif;
  --display-font: 'Orbitron', system-ui, sans-serif;
  --paper: #04151d; --bg: #04151d; --white: #effeff; --ink: #effeff;
  --muted: #a4bec6; --olive: #8ce6ed; --panel: #092731;
  --soft: #a4bec6; --faint: #a4bec6; --line: #21434d;
  --accent: #8ce6ed; --blue-button: #a5f4f2;
  background: #04151d; color: #effeff;
}
.kozo-theme > header { background: #04151df5; border-color: #21434d; }
.kozo-theme > header img { filter: invert(1); }
.kozo-theme header nav a { color: #bdd1d6; font-size: 11px; font-weight: 600; }
.kozo-theme header nav a:hover { background: #0c3540; color: #fff; }
.kozo-theme header nav a[aria-current=page] { color: #b0fbf5; box-shadow: inset 0 -1px #8ce6ed; }
.kozo-theme .lang, .kozo-theme .lang.lang-open, .kozo-theme .lang:focus-within { background: #08232d; border-color: #315660; }
.kozo-theme .lang button, .kozo-theme .lang button[aria-pressed=false] { color: #bdd1d6; }
.kozo-theme .lang button[aria-pressed=true], .kozo-theme .lang:focus-within button[aria-pressed=true] { background: #a5f4f2; color: #04212b; }
.kozo-theme header .wa-btn { color: #d4ffff; border: 1px solid #527d85; background: transparent; border-radius: 0 0 15px 15px; }
.kozo-theme header .wa-btn:hover { background: #103d47; }
.kozo-theme .menu-toggle { color: #d4ffff; border-color: #315660; }
.kozo-theme .menu-toggle[aria-expanded=true] { color: #04151d; background: #a5f4f2; }

.kozo-theme .hero.hero-mosaic {
  min-height: min(690px, calc(100svh - 150px)); padding: 48px 48px 32px;
  background: #063540; isolation: isolate;
}
.kozo-theme .hero-mosaic > img { object-position: 76% 32%; opacity: .92; filter: grayscale(1) contrast(1.08); }
.kozo-theme .hero-mosaic::after { content: ''; position: absolute; inset: 0; background: #2099ae; mix-blend-mode: color; pointer-events: none; z-index: 0; }
.kozo-theme .hero-mosaic .veil {
  z-index: 1;
  background: linear-gradient(90deg, #021820f5 0%, #03252edb 28%, #06313f45 62%, #0e698028 100%), linear-gradient(0deg, #031a23ed, transparent 52%);
}
.kozo-theme .hero-mosaic .inner { z-index: 2; display: block; }
.kozo-theme .hero-mosaic .booking-copy { max-width: 650px; }
.kozo-theme .hero-mosaic .lab { color: #a7dce4; font-size: 11px; }
.kozo-theme .hero-mosaic .hero-brand { font-family: var(--display-font) !important; font-size: 80px; line-height: 1.13; font-weight: 700; margin: 22px 0; color: #f0ffff; }
.kozo-theme .hero-mosaic .hero-brand span { display: block; font-family: inherit !important; color: #a5f4f2; }
.kozo-theme .hero-mosaic h1 { font-family: var(--brand-font) !important; font-size: 26px; line-height: 1.3; font-weight: 500; max-width: 470px; text-wrap: balance; }
.kozo-theme .hero-mosaic .booking-lead { color: #bad2d8; font-size: 16px; max-width: 400px; margin: 16px 0 24px; }
.kozo-theme .hero-mosaic .cta .btn { font-size: 14px; padding: 15px 23px; min-height: 50px; }
.kozo-theme .btn-solid, .kozo-theme .btn-accent, .kozo-theme .hero-booking .btn-solid { background: #a5f4f2; color: #04212b; border: 1px solid #a5f4f2; }
.kozo-theme .btn-solid:hover, .kozo-theme .btn-accent:hover { background: #ddffff; color: #04212b; }
.kozo-theme .btn-ghost { background: #041b2470; color: #e6ffff; border-color: #53818b; }
.kozo-theme .btn-ghost:hover { background: #123b47; color: #fff; border-color: #8ce6ed; }
.kozo-theme .hero-mosaic .booking-note { color: #9abdc6; font-size: 12px; margin: 12px 0 22px; }
.kozo-theme .hero-reasons { gap: 22px; }
.kozo-theme .hero-reasons li { border-color: #46707a; color: #b0d2da; font-size: 10px; }

.kozo-theme h2, .kozo-theme .band h3, .kozo-theme .cover h3 { font-size: 36px; line-height: 1.3; font-weight: 600; }
.kozo-theme .sec { background: #04151d; }
.kozo-theme .hero + .sec { padding-top: 40px; }
.kozo-theme .sec-head { padding-bottom: 28px; }
.kozo-theme .rail .pieza { width: 290px; }
.kozo-theme .pieza .ph { background: #0a2832; }
.kozo-theme .pieza .cap { padding-top: 15px; color: #effeff; }
.kozo-theme .pieza .cap span:last-child { color: #97bbc5; }
.kozo-theme .more { color: #a5f4f2; }
.kozo-theme .booking-invite { border-bottom: 1px solid #21434d; margin-block: 32px 0; padding-block: 32px 48px; }
.kozo-theme .booking-invite h2 { font-family: var(--brand-font) !important; font-size: 30px; }
.kozo-theme .band { background: linear-gradient(110deg, #082833, #061c25 70%); border-color: #21434d; }
.kozo-theme .band h3 { font-size: 48px; }
.kozo-theme .band .artist-signature { margin: 12px 0 24px; }
.kozo-theme .artist-signature img { display: block; width: 240px; max-width: 100%; height: auto; filter: invert(1); }
.kozo-theme .stats > div:last-child { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.kozo-theme .booking-invite > div { max-width: 720px; }
.kozo-theme .booking-invite p { line-height: 1.75; }
.kozo-theme .band p:not(.lab) { color: #a4bec6; }
.kozo-theme .stats div { border-color: #31525c; }
.kozo-theme .stats b { color: #b2faf3; font-size: 48px; font-weight: 600; }
.kozo-theme .google-band, .kozo-theme .social-band, .kozo-theme .payment-band { background: #04151d; border-color: #21434d; }
.kozo-theme .review-card { border-color: #31525c; }
.kozo-theme .review-card blockquote { font-family: var(--brand-font) !important; font-size: 19px; color: #d7e9ed; }
.kozo-theme .review-card p { color: #fff; }
.kozo-theme .review-card p span, .kozo-theme .google-stars, .kozo-theme .review-stars { color: #98ebdf; }
.kozo-theme .google-rating strong { font-size: 44px; color: #aff9f1; }
.kozo-theme .social-card { border-color: #21434d; }
.kozo-theme .social-card b { color: #effeff; }
.kozo-theme .social-card:hover { background: #082a34; }
.kozo-theme .payment-methods { border-color: #21434d; }
.kozo-theme .cover .veil { background: linear-gradient(90deg,#03232ce8,#06313fc9); }
.kozo-theme .cover .lab { color: #a5f4f2; }
.kozo-theme .cover h3 { color: #f0ffff; font-size: 48px; max-width: 950px; }
.kozo-theme .cover.gift-art-band { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); align-items: center; gap: 32px; min-height: 0; padding: 64px 40px; background: #04151d; border-top: 1px solid #21434d; overflow: visible; }
.kozo-theme .gift-art-band > .gift-art { position: static; grid-column: 2; grid-row: 1; display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; opacity: 1; filter: none; }
.kozo-theme .gift-art-band .inner { position: static; grid-column: 1; grid-row: 1; width: 100%; min-width: 0; text-align: left; }
.kozo-theme .gift-art-band h3 { font-size: 38px; margin-inline: 0; max-width: 520px; }
.kozo-theme .gift-art-band p:not(.lab) { max-width: 420px; color: #bad2d8; margin-inline: 0; }
.kozo-theme .gift-art-band .btn { margin-top: 24px; }
.kozo-theme > footer { background: #031219; border-color: #21434d; color: #a4bec6; }
.kozo-theme .float { background: #a5f4f2; color: #04212b; box-shadow: 0 6px 24px #0005; }
.kozo-theme .float::before { background: #04212b; }
.kozo-theme .float:hover { background: #ddffff; color: #04212b; }
.kozo-theme:has(.hero > img.motion-in-view) .float { visibility: hidden; }
.kozo-theme :focus-visible { outline-color: #b0fff5; }
.kozo-theme ::selection { background: #a5f4f2; color: #04212b; }

@media(max-width:1100px) {
  .kozo-theme .hero-mosaic .hero-brand { font-size: 64px; }
  .kozo-theme .hero-mosaic .booking-copy { max-width: 520px; }
}
@media(max-width:700px) {
  .kozo-theme .cover.gift-art-band { grid-template-columns: minmax(0,1fr); gap: 28px; padding: 44px 20px 24px; }
  .kozo-theme .gift-art-band .inner { grid-column: 1; grid-row: 1; text-align: center; }
  .kozo-theme .gift-art-band > .gift-art { grid-column: 1; grid-row: 2; max-width: 560px; justify-self: center; }
  .kozo-theme .gift-art-band h3 { font-size: 28px; margin-inline: auto; }
  .kozo-theme .gift-art-band p:not(.lab) { margin-inline: auto; }
  .kozo-theme .hero.hero-mosaic { padding: 160px 20px 28px; min-height: 0; }
  .kozo-theme .hero-mosaic > img { height: 460px; object-position: 70% 24%; }
  .kozo-theme .hero-mosaic .veil { background: linear-gradient(180deg,#031a2310 0%,#04242c25 130px,#04242cb8 260px,#031a23 455px); }
  .kozo-theme .hero-mosaic .hero-brand { font-size: 48px; margin: 14px 0 18px; }
  .kozo-theme .hero-mosaic h1 { font-size: 23px; max-width: 360px; }
  .kozo-theme .hero-mosaic .booking-lead { font-size: 15px; line-height: 1.5; margin: 14px 0 20px; }
  .kozo-theme .hero-mosaic .cta { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kozo-theme .hero-mosaic .cta .btn { font-size: 12px; padding: 12px 10px; }
  .kozo-theme .hero-reasons { gap: 12px; }
  .kozo-theme h2, .kozo-theme .band h3, .kozo-theme .cover h3 { font-size: 28px; }
  .kozo-theme .booking-invite h2 { font-size: 26px; }
  .kozo-theme .stats b { font-size: 32px; }
  .kozo-theme .rail .pieza { width: 248px; }
}
@media(max-width:360px) {
  .kozo-theme .hero-mosaic .hero-brand { font-size: 39px; }
  .kozo-theme .hero.hero-mosaic { padding-top: 130px; }
  .kozo-theme .hero-mosaic h1 { font-size: 21px; }
  .kozo-theme h2, .kozo-theme .band h3, .kozo-theme .cover h3 { font-size: 24px; }
  .kozo-theme .stats b { font-size: 28px; }
}

/* Interior pages share the same surfaces, type scale and interaction colors. */
body.kozo-theme { color-scheme: dark; }
.kozo-theme .page h1 { font-size: 64px; line-height: 1.18; font-weight: 600; }
.kozo-theme .bio-title h1 { font-size: 64px; }
.kozo-theme .bio-portrait {
  position: relative;
  isolation: isolate;
  max-width: 460px;
  aspect-ratio: 4 / 5;
  background: radial-gradient(ellipse at 55% 45%, #145666, #04151d 74%);
}
.kozo-theme .bio-portrait::before {
  content: "";
  position: absolute;
  inset: 7% 10% 10%;
  border: 4px solid #b8ffff;
  border-radius: 50%;
  transform: rotate(-14deg);
  box-shadow: 0 0 18px #66ebef99, inset 0 0 16px #66ebef66;
}
.kozo-theme .bio-portrait::after {
  content: "";
  position: absolute;
  left: 14%;
  right: 1%;
  bottom: 0;
  height: 54%;
  background: url("/fotos/kozo-bio-space-rock.png") center bottom / contain no-repeat;
  filter: brightness(.72);
}
.kozo-theme .bio-portrait img {
  position: absolute;
  z-index: 1;
  width: 115%;
  max-width: none;
  left: -3%;
  bottom: 0;
  aspect-ratio: auto;
  height: auto;
  filter: none;
}
.kozo-theme .bio-copy { gap: 48px; }
.kozo-theme .bio-copy p { color: #b4ccd2; line-height: 1.85; }
.kozo-theme .bio-copy > div:first-child > p:first-child { color: #e0f3f6; }
.kozo-theme .bio a { color: #a5f4f2; border-color: #527d85; }
.kozo-theme .timeline { grid-template-columns: repeat(5,minmax(0,1fr)); background: transparent; gap: 24px; }
.kozo-theme .timeline > div { border-top: 1px solid #315660; background: transparent; padding: 24px 0; min-width: 0; }
.kozo-theme .timeline b { font-size: 32px; color: #a5f4f2; }
.kozo-theme .timeline strong { color: #e0f3f6; }
.kozo-theme .timeline em { color: #a4bec6; }
.kozo-theme .card-cta { border-color: #21434d; }
.kozo-theme .card-cta b { font-size: 30px; line-height: 1.4; color: #e0f3f6; }
.kozo-theme .filters button { color: #b4ccd2; border-color: #315660; background: transparent; }
.kozo-theme .filters button:hover { background: #103d47; border-color: #8ce6ed; }
.kozo-theme .filters button[aria-pressed=true] { background: #a5f4f2; color: #04212b; border-color: #a5f4f2; }
.kozo-theme .pieza .ph, .kozo-theme .pieza.pieza-compacta .ph { background: #092731; }
.kozo-theme .consultation-page #consulta { background: #08232d; border-color: #8ce6ed; padding: 28px; }
.kozo-theme .consultation-page h1 { font-size: 44px; }
.kozo-theme .consultation-page h2 { font-size: 24px; }
.kozo-theme input, .kozo-theme select, .kozo-theme textarea { background: #041b24; color: #effeff; border-color: #45636c; }
.kozo-theme input::placeholder, .kozo-theme textarea::placeholder { color: #8eafb8; }
.kozo-theme label, .kozo-theme legend { color: #d4edf1; }
.kozo-theme .note, .kozo-theme .field-note, .kozo-theme .consult-required,
.kozo-theme .consultation-page .field-help, .kozo-theme .consultation-page .note { color: #adc8d0; }
.kozo-theme .consult-fallback { color: #a5f4f2; }
.kozo-theme .err, .kozo-theme .gc-error { color: #ffb5b2; background: #3a2029; }
.kozo-theme .success { color: #b1efd0; background: #143a32; }
.kozo-theme .pay-option { background: #08232d; color: #effeff; border-color: #315660; }
.kozo-theme .pay-option:hover { background: #103d47; }
.kozo-theme .care-panel h2, .kozo-theme .care-panel .care-selection-title { font-size: 30px; color: #effeff; line-height: 1.35; }
.kozo-theme .care-list b { background: #123b46; border-color: #45636c; color: #b0fff5; }
.kozo-theme .product-stage, .kozo-theme .product-action { background: #a5f4f2; color: #04212b; }
.kozo-theme .product-photo { background: #092731; }
.kozo-theme .product-action:hover { background: #ddffff; color: #04212b; }
.kozo-theme .music-hero h1 { font-size: 80px; }
.kozo-theme .music-btn-primary, .kozo-theme .music-release-new .music-release-actions a { background: #a5f4f2; color: #04212b; }
.kozo-theme .music-release-art > span { background: #a5f4f2; color: #04212b; }
.kozo-theme .music-release-actions a, .kozo-theme .music-single .music-btn-ghost { border-color: #45636c; color: #effeff; }
.kozo-theme .music-release-actions a:hover, .kozo-theme .music-platform-grid > a:hover, .kozo-theme .music-single .music-btn-ghost:hover { background: #103d47; }
.kozo-theme .music-origin strong { color: #effeff; }
.kozo-theme .trophy-media { background: #092731; }
.kozo-theme .trophy-hero h1 { font-size: 54px; }
.kozo-theme .trophy-info h2 { font-size: 25px; }

body.kozo-theme.giftcards-page { --panel: #08232d; --accent: #a5f4f2; }
.kozo-theme .gc-hero h1 { font-size: 60px; font-weight: 600; }
.kozo-theme .gc-hero h1 em { font-style: normal; }
.kozo-theme .gc-button { background: #a5f4f2; color: #04212b; border-color: #a5f4f2; }
.kozo-theme .gc-button:hover { background: #ddffff; color: #04212b; }
.kozo-theme .gc-card { background: linear-gradient(140deg,#164352,#04151d); color: #c1ffff; border-color: #527d85; box-shadow: 9px 25px 30px -15px #000b; }
.kozo-theme .gc-art-label, .kozo-theme .gc-art-bottom { color: #adc8d0; }
.kozo-theme .gc-front span { font-weight: 600; }
.kozo-theme .gc-purchase h2 { font-size: 36px; line-height: 1.3; }
.kozo-theme .gc-steps h2 { font-family: var(--brand-font) !important; font-size: 24px; }
.kozo-theme .gc-form-heading h3 { font-size: 25px; }
.kozo-theme .gc-amounts button { color: #d4edf1; border-color: #45636c; background: #041b24; }
.kozo-theme .gc-amounts button[aria-pressed=true] { color: #04212b; background: #a5f4f2; }
.kozo-theme .gc-total strong { font-size: 26px; }
.kozo-theme .gc-end strong { font-size: 32px; }
.kozo-theme .gc-end > span { font-family: var(--brand-font) !important; font-style: normal; font-size: 18px; }

.kozo-theme .waiver-page { color: #effeff; }
.kozo-theme .waiver-page h1 { font-size: 40px; }
.kozo-theme .waiver-page h2 { font-size: 24px; }
.kozo-theme .waiver-page h3 { font-size: 18px; }
.kozo-theme .waiver-page fieldset, .kozo-theme .waiver-disclosure, .kozo-theme #waiver-age-dialog { background: #08232d; color: #effeff; border-color: #315660; }
.kozo-theme .waiver-page label, .kozo-theme .waiver-page legend, .kozo-theme .waiver-disclosure summary { color: #d4edf1; }
.kozo-theme .waiver-page input, .kozo-theme .waiver-page textarea, .kozo-theme .waiver-page select { background: #041b24; color: #effeff; border-color: #45636c; color-scheme: dark; }
.kozo-theme .waiver-page input::placeholder, .kozo-theme .waiver-page textarea::placeholder { color: #8eafb8; }
.kozo-theme .waiver-page input[readonly] { background: #13333e; color: #adc8d0; }
.kozo-theme .waiver-page .waiver-hero p:not(.lab), .kozo-theme .waiver-page .legal-text,
.kozo-theme .waiver-page .waiver-list, .kozo-theme .waiver-page .check, .kozo-theme .waiver-page .field-note,
.kozo-theme .waiver-help { color: #adc8d0; }
.kozo-theme .waiver-page .btn-accent, .kozo-theme .waiver-age-actions .btn { background: #a5f4f2; color: #04212b; }
.kozo-theme .waiver-page .btn-ghost, .kozo-theme .waiver-age-actions button { background: #041b24; color: #d4edf1; border-color: #45636c; }
.kozo-theme .waiver-page .waiver-location a, .kozo-theme .waiver-page .waiver-aftercare a,
.kozo-theme .waiver-care-link a, .kozo-theme .waiver-age-actions a { color: #a5f4f2; }
.kozo-theme .waiver-birth-error, .kozo-theme .waiver-page .err { color: #ffb5b2; }
.kozo-theme .waiver-page .success { color: #b1efd0; }
.kozo-theme .waiver-page #firma { background: #04151d; border-color: #45636c; }
.kozo-theme .waiver-care-alert h3 { color: #ffb5b2; }
.kozo-theme .waiver-care-sources { color: #adc8d0; }

@media(max-width:1100px) {
  .kozo-theme .timeline { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .kozo-theme .bio-title h1 { font-size: 48px; }
  .kozo-theme .gc-hero h1 { font-size: 46px; }
}
@media(max-width:700px) {
  .kozo-theme .page h1 { font-size: 38px; }
  .kozo-theme .bio-title h1 { font-size: 38px; }
  .kozo-theme .bio-portrait { max-width: 360px; width: 100%; }
  .kozo-theme .bio-header { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .kozo-theme .bio-copy { gap: 0; }
  .kozo-theme .timeline { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .kozo-theme .timeline b { font-size: 28px; }
  .kozo-theme .card-cta b { font-size: 25px; }
  .kozo-theme .consultation-page #consulta { padding: 22px 18px; }
  .kozo-theme .care-panel h2, .kozo-theme .care-panel .care-selection-title { font-size: 25px; }
  .kozo-theme .music-hero h1 { font-size: 52px; }
  .kozo-theme .trophy-hero h1 { font-size: 36px; }
  .kozo-theme .gc-hero h1 { font-size: 40px; }
  .kozo-theme .gc-purchase h2 { font-size: 28px; }
  .kozo-theme .gc-form-heading h3 { font-size: 23px; }
  .kozo-theme .waiver-page h1 { font-size: 30px; }
  .kozo-theme .waiver-page h2 { font-size: 21px; }
}
@media(max-width:360px) {
  .kozo-theme .page h1, .kozo-theme .bio-title h1 { font-size: 32px; }
  .kozo-theme .timeline { grid-template-columns: minmax(0,1fr); }
  .kozo-theme .gc-hero h1 { font-size: 34px; }
}
@media print {
  body.kozo-theme.waiver-document { color-scheme: light; background: white; color: #111; }
  .kozo-theme .waiver-page, .kozo-theme .waiver-page fieldset,
  .kozo-theme .waiver-page .legal-text, .kozo-theme .waiver-page .check,
  .kozo-theme .waiver-page .waiver-list, .kozo-theme .waiver-page label,
  .kozo-theme .waiver-page legend, .kozo-theme .waiver-disclosure summary { background: white; color: #111; }
}
