:root{--carbon:#28251f;--cafe:#463728;--topo:#8b7865;--arena:#beb09c;--lino:#ded5c7;--ivory:#f0ebe2;--serif:'Libre Baskerville',Baskerville,Georgia,serif;--sans:'Jost',Arial,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--carbon);color:var(--ivory);font:400 16px/1.6 var(--sans);min-height:100dvh;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}p{margin:0}button,input{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.012em;line-height:1.1;margin:0}[hidden]{display:none!important}
.nav{position:fixed;top:22px;left:50%;transform:translateX(-50%);z-index:3;width:min(1160px,100% - 24px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 24px;border-radius:999px;background:rgba(28,26,22,.75);border:1px solid rgba(240,235,226,.12);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.brand{width:94px;flex:none}.brand img{width:auto;height:17px}.nav-right{display:flex;align-items:center;gap:10px}.back{font-size:13px;letter-spacing:.04em;color:#ded5c7;padding:10px 6px;white-space:nowrap}.back:hover{color:var(--ivory)}
.auth{position:relative;isolation:isolate;min-height:100dvh;display:flex;align-items:center;padding:118px 0 60px;overflow:hidden}.auth-layout{width:min(1160px,100% - 40px);margin:auto;display:grid;grid-template-columns:1fr 470px;gap:clamp(30px,6vw,90px);align-items:center}.orbit{position:absolute;z-index:-1;width:min(780px,130vw);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}.orbit .glow{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(190,176,156,.2) 0%,rgba(190,176,156,.07) 40%,transparent 66%)}.orbit img{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;opacity:.16}.intro{display:flex;flex-direction:column;gap:22px;max-width:520px}.eyebrow{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 8px;border-radius:999px;border:1px solid rgba(240,235,226,.16);font:400 12px var(--sans);color:var(--arena)}.eyebrow img{width:20px;height:20px;object-fit:contain}.intro h1{font-size:clamp(44px,6vw,84px);line-height:1.02}.intro h1 em,.portalhead h1 em{font-family:var(--serif);font-weight:400;font-style:normal;color:var(--arena)}.intro>p:last-child{font-size:clamp(16px,1.4vw,19px);color:#d5cfc6;max-width:440px}.shell{padding:8px;border-radius:34px;background:rgba(240,235,226,.05);box-shadow:inset 0 0 0 1px rgba(240,235,226,.1),0 50px 90px -50px rgba(0,0,0,.8)}.authbox{border-radius:27px;background:linear-gradient(180deg,#2f2b24,#24211c);box-shadow:inset 0 1px 0 rgba(240,235,226,.08);padding:clamp(24px,4vw,40px)}.panel-logo{width:150px;margin-bottom:22px}.authbox h2{font-size:clamp(28px,3vw,36px)}.hint,.subtle{color:#d5cfc6}.hint{font-size:14px;margin:8px 0 24px}.tabs{display:grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:999px;background:rgba(0,0,0,.28);box-shadow:inset 0 0 0 1px rgba(240,235,226,.08);margin-bottom:24px}.tabs button{border:0;background:none;padding:11px 8px;border-radius:999px;font:700 11px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#ded5c7;min-height:44px}.tabs button[aria-pressed=true]{background:linear-gradient(180deg,#e2d4bb,#c9b99f 50%,#ad9c82);box-shadow:0 3px 0 #6b5944,0 10px 18px -10px #0009;color:var(--carbon)}form{display:grid;gap:16px}label{display:grid;gap:7px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.16em;color:#c7beb2}input{width:100%;min-height:52px;padding:14px 18px;border:1px solid rgba(240,235,226,.14);border-radius:16px;background:rgba(0,0,0,.22);color:var(--ivory);font-size:16px;letter-spacing:normal;text-transform:none}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--arena);outline-offset:3px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{border:0;border-radius:999px;min-height:48px;padding:13px 22px;background:linear-gradient(#e2d4bb,#c9b99f 46%,#ad9c82);color:var(--carbon);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12px;box-shadow:0 5px 0 #6b5944;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button:disabled{opacity:.6;cursor:wait}.button.small{min-height:44px;padding:9px 16px;font-size:10px}.textbutton{border:0;background:none;color:var(--arena);padding:10px 12px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.notice{min-height:24px;margin-top:16px;font-size:14px;color:var(--lino)}.notice.error{color:#ffc4b8}
.portalhead{position:relative;isolation:isolate;overflow:hidden;padding:138px max(20px,calc((100vw - 1160px)/2)) 100px;background:var(--carbon)}.portal-symbol{position:absolute;right:-60px;top:40px;width:min(420px,70vw);opacity:.08;z-index:-1}.portalhead h1{margin:14px 0;font-size:clamp(40px,6vw,78px);line-height:1.02}.state,.bookinglist{width:min(1160px,calc(100% - 40px));margin:24px auto}.state{color:var(--lino);font-size:15px}.booking{padding:clamp(22px,4vw,36px);margin:18px 0;border-radius:26px;background:#f6f2ea;color:var(--carbon);box-shadow:0 24px 50px #0003}.booking .eyebrow{color:var(--cafe);border-color:#28251f24}.booking h2{font-size:clamp(24px,3vw,34px);margin:8px 0}.payment{color:var(--cafe)}.materials{margin-top:24px;padding-top:18px;border-top:1px solid #28251f20}.materials h3{font-size:19px;margin-bottom:10px}.material{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #28251f15}.material .button{white-space:nowrap}footer{background:#1d1b17;padding:36px 20px 44px;text-align:center;color:#c4bcb0;font-size:12px}footer a{color:var(--lino);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.auth-layout{grid-template-columns:1fr;max-width:560px}.intro{gap:16px}}@media(max-width:760px){.nav{top:28px;padding:6px 6px 6px 18px}.back{font-size:12px}.auth{padding:110px 0 40px;align-items:flex-start}.auth-layout{width:calc(100% - 32px)}.intro h1{font-size:clamp(40px,12vw,56px)}.intro>p:last-child{font-size:15px}.shell{border-radius:28px;padding:6px}.authbox{border-radius:23px;padding:24px 20px}.panel-logo{width:120px;margin-bottom:18px}.portalhead{padding:118px 16px 100px}.state,.bookinglist{width:calc(100% - 32px)}}@media(max-width:380px){.material{align-items:flex-start;flex-direction:column}.material .button{width:100%}}@media(max-width:360px){.back{font-size:11px}.tabs button{font-size:10px;letter-spacing:.04em;padding:10px 4px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
