:root{--carbon:#28251f;--cafe:#463728;--topo:#8b7865;--arena:#beb09c;--lino:#ded5c7;--ivory:#f0ebe2;--serif:'Libre Baskerville',Georgia,serif;--sans:'Jost',Arial,sans-serif}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--carbon);color:var(--ivory);font:400 16px/1.65 var(--sans);min-height:100vh}button,input{font:inherit}button{cursor:pointer}.nav{height:76px;position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:20px;padding:0 max(24px,calc((100vw - 1120px)/2));background:rgba(40,37,31,.92);backdrop-filter:blur(16px);border-bottom:1px solid #ffffff18;color:var(--lino);letter-spacing:.16em;font-size:11px}.brand{font:400 19px var(--serif);letter-spacing:.24em;color:var(--ivory);margin-right:auto}.auth{width:min(1120px,calc(100% - 40px));min-height:calc(100vh - 150px);margin:auto;display:grid;grid-template-columns:1fr minmax(310px,470px);gap:clamp(35px,9vw,130px);align-items:center;padding:70px 0}.intro{max-width:500px}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--topo);font-weight:600}.intro .eyebrow,.portalhead .eyebrow{color:var(--arena)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15}.intro h1,.portalhead h1{font-size:clamp(48px,7vw,88px);margin:18px 0}.intro h1 em,.portalhead h1 em{font-style:normal;color:var(--arena)}.authbox{padding:clamp(24px,4vw,42px);background:linear-gradient(145deg,#332f28,#24211d);border:1px solid #f0ebe21b;border-radius:30px;box-shadow:0 35px 80px #0005}.authbox h2{font-size:32px;margin:0}.hint,.subtle{color:#f0ebe2a8}.tabs{display:flex;gap:8px;margin:24px 0}.tabs button,.textbutton{border:0;background:none;color:var(--arena);padding:8px 12px;border-radius:30px}.tabs button[aria-pressed=true]{background:var(--arena);color:var(--carbon)}form{display:grid;gap:18px}label{display:grid;gap:8px;text-transform:uppercase;font-size:11px;letter-spacing:.16em;color:#f0ebe2a8}input{width:100%;min-height:50px;padding:12px 14px;border:1px solid #f0ebe238;border-radius:12px;background:#181714;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;padding:13px 22px;background:linear-gradient(#e2d4bb,#ad9c82);color:var(--carbon);font-weight:700;letter-spacing:.07em;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{padding:9px 16px;font-size:10px}.notice{min-height:24px;font-size:14px;color:var(--lino)}.notice.error{color:#ffc4b8}.portalhead{padding:110px max(24px,calc((100vw - 1120px)/2)) 88px;background:radial-gradient(ellipse at 76% 35%,#5b4b39 0%,transparent 46%),var(--carbon)}.portalhead h1{margin:16px 0;font-size:clamp(42px,6vw,72px)}.state,.bookinglist{width:min(1120px,calc(100% - 40px));margin:24px auto}.state{color:var(--cafe);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 #28251f22}.booking .eyebrow{color:var(--topo)}.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}.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{padding:30px 20px;text-align:center;color:#f0ebe277;font-size:12px;border-top:1px solid #f0ebe214}[hidden]{display:none!important}@media(max-width:760px){.auth{grid-template-columns:1fr;gap:32px;padding:50px 0}.intro h1{font-size:54px}.intro>p:last-child{max-width:360px}.authbox{border-radius:24px}.portalhead{padding:82px 24px 62px}.nav{height:68px;padding:0 18px}}@media(max-width:380px){.nav{padding:0 14px}.auth{width:calc(100% - 28px)}.material{align-items:flex-start;flex-direction:column}.material .button{width:100%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
