:root{--pub-ink:#392f2c;--pub-muted:#766b67;--pub-burgundy:#821f1b;--pub-burgundy-dark:#651713;--pub-ivory:#f6f2ee;--pub-panel:#fffdfa;--pub-line:#e5d9d1;--pub-success:#17745a;--pub-warning:#a66a16;--pub-danger:#ad3029;--pub-shadow:0 28px 80px rgba(74,43,32,.13)}
*{box-sizing:border-box}.public-shell{margin:0;min-height:100vh;color:var(--pub-ink);background:linear-gradient(145deg,#f8f5f2 0%,#eee6df 100%);font-family:Inter,"Nunito Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.public-shell a{color:var(--pub-burgundy)}.public-skip-link{position:fixed;top:-80px;left:18px;z-index:1000;padding:10px 15px;border-radius:10px;background:#fff;color:var(--pub-burgundy);box-shadow:var(--pub-shadow)}.public-skip-link:focus{top:18px}.public-shell__frame{width:min(1440px,calc(100% - 32px));min-height:calc(100vh - 32px);margin:16px auto;border:1px solid rgba(139,100,81,.16);border-radius:26px;background:rgba(255,253,250,.74);box-shadow:0 16px 52px rgba(78,49,35,.08);overflow:hidden}.public-shell__topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid rgba(141,103,85,.14);background:rgba(255,253,250,.9);backdrop-filter:blur(16px)}.public-brand{display:inline-flex;align-items:center}.public-brand img{display:block;width:auto;height:28px;max-width:190px}.public-language{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em}.public-language a{color:#8b7d77;text-decoration:none}.public-language a[aria-current=page]{color:var(--pub-burgundy)}.public-shell__grid{display:grid;grid-template-columns:minmax(380px,560px) minmax(0,1fr);min-height:calc(100vh - 111px)}.public-card{align-self:center;margin:42px clamp(28px,5vw,78px);padding:clamp(28px,4vw,52px);border:1px solid var(--pub-line);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:var(--pub-shadow)}.public-card__icon{width:50px;height:50px;display:grid;place-items:center;margin-bottom:24px;border-radius:15px;color:#fff;background:linear-gradient(145deg,var(--pub-burgundy),var(--pub-burgundy-dark));box-shadow:0 12px 26px rgba(130,31,27,.23);font-size:25px}.public-kicker{margin:0 0 9px;color:var(--pub-burgundy);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.public-card h1{max-width:500px;margin:0;color:var(--pub-ink);font-size:clamp(29px,4vw,43px);line-height:1.07;letter-spacing:-.035em}.public-lead{max-width:520px;margin:15px 0 29px;color:var(--pub-muted);font-size:15px;line-height:1.65}.public-card__content{display:grid;gap:18px}.public-card__footer{margin-top:30px;padding-top:18px;border-top:1px solid #eee5df;color:#948680;font-size:12px}.public-story{position:relative;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;background:radial-gradient(circle at 78% 12%,rgba(195,145,112,.26),transparent 30%),linear-gradient(145deg,#f1e6dc 0%,#dbc7b8 100%)}.public-story::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(68,30,22,.18))}.public-story__grid{position:absolute;inset:0;opacity:.42;background-image:radial-gradient(circle,rgba(113,61,45,.28) 1px,transparent 1px);background-size:24px 24px}.public-story__content{position:relative;z-index:1;width:min(650px,88%);margin:clamp(42px,7vw,94px);padding:clamp(28px,4vw,48px);border:1px solid rgba(255,255,255,.34);border-radius:22px;background:rgba(255,253,250,.78);box-shadow:0 24px 70px rgba(91,48,33,.18);backdrop-filter:blur(14px)}.public-story__eyebrow{color:var(--pub-burgundy);font-size:11px;font-weight:800;letter-spacing:.14em}.public-story h2{margin:11px 0 15px;color:#3d302c;font-size:clamp(30px,4vw,50px);line-height:1.02;letter-spacing:-.04em}.public-story p{max-width:560px;margin:0;color:#6b5b54;font-size:16px;line-height:1.65}.public-story ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 0;padding:0;list-style:none}.public-story li{display:flex;align-items:center;gap:7px;padding:11px;border:1px solid rgba(130,31,27,.14);border-radius:11px;background:rgba(255,255,255,.5);color:#5f4d46;font-size:12px;font-weight:700}.public-story li i{color:var(--pub-success);font-size:17px}.public-field{display:grid;gap:7px}.public-field label{color:#554a46;font-size:13px;font-weight:700}.public-field__label-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.public-field__label-row a{font-size:12px;font-weight:700;text-decoration:none}.public-input-wrap{position:relative}.public-input-wrap>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9a8981;font-size:18px;pointer-events:none}.public-input-wrap .form-control{height:47px;padding-left:43px;border-color:#ded2ca;border-radius:11px;background:#fff;color:var(--pub-ink)}.public-input-wrap .form-control:focus{border-color:rgba(130,31,27,.7);box-shadow:0 0 0 3px rgba(130,31,27,.11)}.public-input-wrap--password .form-control{padding-right:48px}.public-password-toggle{position:absolute;right:7px;top:50%;width:36px;height:36px;transform:translateY(-50%);border:0;border-radius:9px;background:transparent;color:#766862}.public-password-toggle:hover,.public-password-toggle:focus{background:#f4ece7;color:var(--pub-burgundy)}.public-button{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border:1px solid transparent;border-radius:11px;font-size:14px;font-weight:800;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.public-button:hover{transform:translateY(-1px)}.public-button--primary{color:#fff!important;background:linear-gradient(145deg,var(--pub-burgundy),var(--pub-burgundy-dark));box-shadow:0 12px 24px rgba(130,31,27,.18)}.public-button--secondary{border-color:#d9ccc4;color:#554944!important;background:#fff}.public-actions{display:flex;flex-wrap:wrap;gap:10px}.public-actions--stack{display:grid}.public-alert{display:flex;gap:11px;align-items:flex-start;padding:14px 15px;border:1px solid;border-radius:12px;font-size:13px;line-height:1.5}.public-alert i{font-size:20px}.public-alert--danger{border-color:#efc9c5;background:#fff3f1;color:#8f2823}.public-alert--success{border-color:#bde2d5;background:#effaf6;color:#176248}.public-alert--info{border-color:#c8dbe5;background:#f0f7fa;color:#315d72}.public-alert--warning{border-color:#ead6ad;background:#fff8e9;color:#81540e}.public-note{margin:0;color:var(--pub-muted);font-size:13px;line-height:1.6}.public-meta{display:flex;flex-wrap:wrap;gap:8px}.public-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #e2d6cf;border-radius:999px;background:#faf6f3;color:#665751;font-size:12px;font-weight:700}.public-chip i{color:var(--pub-burgundy)}.public-requirements{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none}.public-requirements li{display:flex;align-items:center;gap:7px;color:#7a6b65;font-size:12px}.public-requirements i{color:#a99a93}.public-requirements li.is-valid{color:var(--pub-success)}.public-requirements li.is-valid i::before{content:"\F05E0"}.public-divider{height:1px;background:#ece3de}.public-center{text-align:center}.public-download-card{display:grid;gap:18px}.public-download-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.public-download-stat{padding:13px;border:1px solid #e6dad3;border-radius:12px;background:#faf7f4}.public-download-stat span{display:block;color:#8b7d77;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.public-download-stat strong{display:block;margin-top:4px;color:#51433e;font-size:14px}.public-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none}.public-feature-list li{display:flex;align-items:center;gap:8px;color:#62534d;font-size:13px}.public-feature-list i{color:var(--pub-success);font-size:18px}.public-empty-icon{font-size:42px;color:#b5a49c}.public-shell :focus-visible{outline:3px solid rgba(130,31,27,.35);outline-offset:3px}.public-shell button:disabled{opacity:.52;cursor:not-allowed;transform:none}
@media(max-width:980px){.public-shell__frame{width:100%;min-height:100vh;margin:0;border:0;border-radius:0}.public-shell__grid{grid-template-columns:1fr}.public-story{min-height:auto}.public-story__content{width:auto;margin:34px}.public-story ul{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.public-shell__topbar{height:68px;padding:0 20px}.public-brand img{height:24px}.public-card{margin:20px 14px;padding:26px 22px;border-radius:18px}.public-card h1{font-size:30px}.public-story__content{margin:18px;padding:24px}.public-story ul,.public-download-stats,.public-feature-list{grid-template-columns:1fr}.public-actions{display:grid}.public-actions .public-button{width:100%}.public-requirements{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.public-shell button,.public-shell input{font:inherit}.public-input-wrap .form-control{width:100%;padding:10px 14px 10px 43px;border:1px solid #ded2ca}

/* Full-viewport authentication layout. The existing Ibiza Songs cover remains
   the visual anchor while forms flow naturally instead of floating centrally. */
.public-shell{background:#fff}
.public-shell__frame{width:100%;min-height:100vh;margin:0;border:0;border-radius:0;background:#fff;box-shadow:none}
.public-shell__topbar{padding-inline:clamp(24px,3.5vw,58px);background:#fff;backdrop-filter:none}
.public-shell__grid{grid-template-columns:minmax(390px,40%) minmax(0,1fr);min-height:calc(100vh - 78px)}
.public-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center;margin:0;padding:clamp(36px,6vw,96px);border:0;border-radius:0;background:#fff;box-shadow:none}
.public-card>*{width:min(100%,500px);margin-left:auto;margin-right:auto}
.public-story{min-height:620px;background-color:#5d3928;background-image:linear-gradient(180deg,rgba(30,12,7,.03),rgba(30,12,7,.5)),url(../images/bg-auth.jpg);background-position:center;background-size:cover}
.public-story::before{background:linear-gradient(180deg,transparent 45%,rgba(31,13,8,.4))}
.public-story__grid{display:none}

@media(max-width:980px){
    .public-shell__grid{grid-template-columns:minmax(340px,48%) minmax(0,1fr)}
    .public-card{margin:0;padding:clamp(30px,5vw,56px);border-radius:0}
    .public-story{min-height:calc(100vh - 78px)}
    .public-story__content{margin:28px;padding:24px}
    .public-story ul{grid-template-columns:1fr}
}
@media(max-width:720px){
    .public-shell__grid{display:flex;min-height:calc(100vh - 68px);flex-direction:column}
    .public-card{min-height:calc(100vh - 68px);padding:36px 24px}
    .public-story{min-height:330px;background-position:58% center}
    .public-story__content{width:auto;margin:18px;padding:22px}
    .public-story h2{font-size:30px}
}
