@charset "UTF-8";
:root{color-scheme:dark;--ink:#f8edda;--muted:#cfcdc4;--gold:#f0bf72;--navy:#14232b}
*{box-sizing:border-box}
html{min-width:280px;background:var(--navy);scroll-behavior:smooth}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.scene{position:fixed;inset:0;z-index:0;background-image:linear-gradient(180deg,rgba(9,17,23,.49) 0%,transparent 25%,transparent 55%,rgba(9,17,23,.75) 100%),url('./assets/estudio-encantado.png');background-size:cover;background-position:center}
.identity,main,footer{position:relative;z-index:1}
.identity{display:flex;align-items:center;gap:14px;padding:32px 42px;text-shadow:0 2px 12px #091117}
.crest{width:43px;height:43px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:650;color:#fff2d9}
h1{font-family:Georgia,"Times New Roman",serif;font-size:36px;letter-spacing:-1.2px;font-weight:400;line-height:1.2;margin:5px 0 0}
h1 span{color:var(--gold)}
.dock{width:min(850px,calc(100% - 80px));margin:auto auto 0;padding:24px 28px 28px;border:1px solid #bdac8e66;border-radius:20px;background:rgba(15,31,40,.96);box-shadow:0 14px 55px #0006}
.dock-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:18px}
h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:23px;letter-spacing:-.4px;margin:0}
.dock-caption{font-size:12px;color:var(--muted)}
nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.destination{display:flex;align-items:center;gap:13px;padding:17px 15px;min-height:82px;background:#23343d;border:1px solid #526066;border-radius:11px;text-decoration:none;color:var(--ink);transition:background .18s,border-color .18s,transform .18s}
.destination:hover{background:#30444e;border-color:var(--gold);transform:translateY(-2px)}
.destination:focus-visible,.skip:focus-visible{outline:3px solid #ffe0a6;outline-offset:5px}
.icon{display:grid;place-items:center;width:39px;height:42px;flex:none;border-radius:9px;background:#aa7b3026;color:#f5c87b}
.icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hermes-carol{color:#c1c7ff;background:#a8a9ed1c}
.paperclip{color:#a8d6c7;background:#83c1a91c}
.label{display:flex;flex-direction:column;gap:5px}.person{font-size:9px;letter-spacing:1.8px;font-weight:650;color:#d6d6d0}.label strong{font-size:18px;font-weight:550;letter-spacing:-.3px}.arrow{margin-left:auto;font-size:22px;color:var(--gold);font-family:Arial,sans-serif}
footer{display:flex;align-items:center;justify-content:center;gap:8px;min-height:57px;font-size:10px;letter-spacing:1.4px;color:#e4d8c4;text-shadow:0 1px 7px #000}
.tiny-star{font-size:12px;color:var(--gold)}
.skip{position:fixed;top:12px;left:12px;z-index:5;padding:12px;background:var(--navy);color:var(--ink);transform:translateY(-150%)}.skip:focus{transform:none}
@media(min-aspect-ratio:19/10){.scene{background-position:center 59%}.identity{padding-top:24px}.dock{padding:20px 24px 24px}}
@media(max-width:650px){.scene{position:absolute;height:66svh;min-height:440px;background-size:auto 100%;background-position:center top;background-image:linear-gradient(180deg,rgba(9,17,23,.55) 0%,transparent 30%,transparent 67%,#14232b 100%),url('./assets/estudio-encantado.png')}.identity{padding:25px 23px;gap:10px}.crest{width:32px;height:32px}.eyebrow{font-size:8px;letter-spacing:1.8px}h1{font-size:29px}.dock{width:calc(100% - 32px);margin-top:max(250px,calc(55svh - 100px));padding:22px 18px 18px;border-radius:17px}.dock-heading{display:block;margin-bottom:18px}h2{font-size:24px}.dock-caption{display:block;margin-top:7px}nav{grid-template-columns:1fr;gap:10px}.destination{min-height:74px;padding:13px 16px}.icon{width:40px}.label strong{font-size:19px}.person{font-size:9px}footer{min-height:58px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.destination{transition:none}.destination:hover{transform:none}}
@media(min-width:651px) and (max-height:550px){body{min-height:760px}.scene{position:absolute;height:760px;background-position:center}}

/* Container labels */
.person{font-size:10px;letter-spacing:.35px;white-space:nowrap}.icon.hermes svg,.icon.hermes-carol svg{width:31px;height:31px}

/* Account entry */
.login{width:min(440px,calc(100% - 32px));padding:28px}.login h2{font-size:27px}.login p{color:var(--muted);font-size:14px;line-height:1.65;margin:12px 0 22px}.google-button{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;min-height:49px;border:1px solid #dadce0;border-radius:7px;color:#1f1f1f;background:#fff;text-decoration:none;font-size:15px;font-weight:550}.google-button:hover{background:#eef2f6}.google-button:focus-visible,.logout:focus-visible{outline:3px solid #ffe0a6;outline-offset:4px}.google-letter{color:#4285f4;font:700 23px Arial,sans-serif}.login-note{display:block;text-align:center;font-size:11px;color:var(--muted);margin-top:17px}.logout{font-size:12px;color:var(--gold);text-decoration:none;padding:8px}.portal nav{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}.portal.single{max-width:480px}.portal.double{max-width:650px}@media(max-width:650px){.login{padding:24px}.portal nav{grid-template-columns:1fr}}
