.identity-page,.account-page{padding-top:clamp(8rem,14vw,12rem);padding-bottom:clamp(6rem,10vw,10rem);min-height:75svh}
.identity-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,460px);gap:clamp(3rem,8vw,9rem);align-items:start}
.identity-intro{max-width:690px}.identity-intro h1,.account-page h1{font-size:clamp(3rem,6vw,6.5rem);line-height:.98;letter-spacing:-.065em;margin:.6rem 0 1.6rem}.identity-intro>p:not(.eyebrow){font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.55;color:rgba(255,255,255,.68);max-width:36rem}
.identity-card,.account-panel{background:linear-gradient(145deg,rgba(24,39,75,.86),rgba(10,18,38,.94));border:1px solid rgba(119,163,255,.22);border-radius:24px;box-shadow:0 24px 80px rgba(0,0,0,.18);padding:clamp(1.4rem,3vw,2.2rem)}
.identity-card{display:grid;gap:1.1rem}.identity-card>p{margin:0;color:rgba(255,255,255,.68);line-height:1.5}.identity-card a,.account-panel a:not(.button){color:#91bcff;text-underline-offset:3px}
.identity-card label,.account-panel label{display:grid;gap:.55rem;font-size:.95rem;font-weight:600;color:rgba(255,255,255,.9)}.identity-card input:not([type=checkbox]),.account-panel input:not([type=checkbox]){width:100%;min-height:52px;border-radius:12px;padding:.8rem .95rem;border:1px solid rgba(167,192,255,.29);outline:none;background:rgba(3,9,24,.65);color:#fff;font:inherit;font-size:1rem}.identity-card input:focus-visible,.account-panel input:focus-visible{border-color:#85b6ff;box-shadow:0 0 0 3px rgba(74,125,255,.23)}
.identity-card .button,.account-panel .button{justify-content:center}.identity-card .check-row,.account-panel .check-row{display:flex;align-items:flex-start;gap:.8rem;font-size:.88rem;font-weight:400;line-height:1.45;color:rgba(255,255,255,.7)}.check-row input{width:18px;height:18px;flex:none;margin-top:.08rem;accent-color:#65a1ff}.field-hint{font-size:.82rem;color:rgba(255,255,255,.56)}.password-field{display:flex;position:relative}.password-field input{padding-right:7rem!important}.password-field button{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:0;color:#9ec3ff;padding:0 .7rem;min-height:44px;cursor:pointer;font:inherit;font-size:.78rem}
.form-error{padding:.9rem 1rem;border:1px solid rgba(255,125,140,.55);border-radius:12px;color:#ffe0e4!important;background:rgba(134,24,44,.2);line-height:1.45}.identity-links{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:2rem}
.form-field-error{color:#ffc4ce;font-size:.82rem;font-weight:400;line-height:1.35}
.identity-page button:focus-visible,.account-page button:focus-visible,.account-nav a:focus-visible{outline:3px solid #82b8ff;outline-offset:3px}
.account-nav{display:flex;gap:.6rem;flex-wrap:wrap;border-bottom:1px solid rgba(132,168,238,.2);padding-bottom:1.25rem;margin:2.5rem 0}.account-nav a{padding:.75rem 1rem;border-radius:100px;border:1px solid rgba(132,168,238,.22);color:rgba(255,255,255,.78);text-decoration:none}.account-nav a:hover,.account-nav a:focus-visible{border-color:#87b8ff;color:#fff}.account-grid,.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.account-panel{display:grid;align-content:start;gap:1rem;min-width:0}.account-panel h2{font-size:1.5rem;margin:0}.account-panel p{color:rgba(255,255,255,.68);line-height:1.55;margin:0}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-page>.form-error{margin:0 0 1.25rem}.identity-text-button{background:none;border:0;color:#9cc2ff;text-decoration:underline;cursor:pointer;padding:1rem 0;font:inherit}
.account-upcoming{color:rgba(255,255,255,.45);border:1px solid rgba(132,168,238,.16);border-radius:100px;padding:.75rem 1rem;width:max-content}
.identity-card form{display:grid;gap:1rem}.recovery-code,.mfa-secret{overflow-wrap:anywhere}
.cms-edit-link{position:fixed;top:85px;right:20px;z-index:20;padding:12px 18px;background:#14376a;border:1px solid #91bcff;border-radius:12px;color:#fff}.cms-form{margin-top:2rem}.account-panel textarea{width:100%;min-width:0;padding:1rem;border-radius:12px;border:1px solid rgba(167,192,255,.29);background:#0b1429;color:#fff;font:inherit;font-size:16px;resize:vertical}.legal-paragraph{white-space:pre-line}
.booking-page{padding-top:8rem}.booking-price{font-size:2rem!important;color:#fff!important}.account-panel form{display:grid;gap:1rem}.account-panel select{width:100%;min-width:0;min-height:52px;padding:.8rem;border:1px solid rgba(167,192,255,.29);border-radius:12px;background:#0b1429;color:#fff;font:inherit;font-size:16px}.account-panel summary{cursor:pointer;min-height:44px}.account-panel li{margin-bottom:.75rem}.account-panel p{overflow-wrap:anywhere}
/* WebKit native select contents can overflow their grid track despite width:100%. */
.account-panel select{display:block;appearance:none;overflow:hidden;text-overflow:ellipsis;padding-right:2.5rem;background-image:linear-gradient(45deg,transparent 50%,#91bcff 50%),linear-gradient(135deg,#91bcff 50%,transparent 50%);background-position:calc(100% - 20px) center,calc(100% - 14px) center;background-size:6px 6px;background-repeat:no-repeat}
@media(max-width:900px){.identity-page{grid-template-columns:1fr;gap:2rem}.identity-card{max-width:560px}.account-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.identity-page,.account-page{padding-top:7rem;padding-bottom:5rem}.account-grid,.settings-grid{grid-template-columns:1fr}.identity-intro h1,.account-page h1{font-size:clamp(2.8rem,12vw,4.3rem)}.identity-card,.account-panel{border-radius:18px;padding:1.35rem}}
