.portal-root{--fx-black:#000;--fx-white:#fff;--fx-white-smoke:#f6f5f5;--fx-gold-100:#efe9d8;--fx-gold-200:#e0d4b4;--fx-gold-300:#cdbb87;--fx-gold-400:#bda968;--fx-gold-500:#ad974e;--fx-gold-600:#927d3f;--fx-gold-700:#726230;--fx-gold-800:#524622;--fx-gold:var(--fx-gold-500);--fx-ink-950:#000;--fx-ink-900:#1b1e23;--fx-ink-800:#34353a;--fx-ink-700:#4a4c50;--fx-ink-600:#616266;--fx-ink-500:#7d7e81;--fx-ink-400:#9a9b9e;--fx-mist-400:#c2c2c0;--fx-mist-350:#dadbda;--fx-mist-300:#d6d4cf;--fx-mist-200:#eeece6;--fx-mist-100:#f5f5f2;--fx-mist-50:#f6f5f5;--color-surface:var(--fx-white-smoke);--color-surface-raised:var(--fx-white);--color-surface-sunken:var(--fx-mist-100);--color-surface-inverse:var(--fx-ink-900);--color-surface-black:var(--fx-black);--color-text:var(--fx-ink-900);--color-text-secondary:var(--fx-ink-700);--color-text-muted:var(--fx-ink-500);--color-text-inverse:var(--fx-white-smoke);--color-text-onAccent:var(--fx-ink-950);--color-accent:var(--fx-gold-500);--color-accent-hover:var(--fx-gold-600);--color-accent-soft:var(--fx-gold-100);--color-accent-text:var(--fx-gold-700);--color-border:var(--fx-mist-300);--color-border-strong:var(--fx-ink-300,#b9b9b7);--color-border-inverse:hsla(0,0%,100%,.16);--color-focus:var(--fx-gold-500);--color-success:#5d7355;--color-danger:#8c4a40;--color-info:var(--fx-ink-700);--font-display:var(--fx-font-display),"Juana",Georgia,"Times New Roman",serif;--font-body:var(--fx-font-body),system-ui,-apple-system,"Segoe UI",sans-serif;--text-display:clamp(3rem,6vw,4.5rem);--text-h1:2.5rem;--text-h2:2rem;--text-h3:1.5rem;--text-h4:1.25rem;--text-lg:1.125rem;--text-base:1rem;--text-sm:0.875rem;--text-xs:0.75rem;--text-2xs:0.6875rem;--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.4;--leading-relaxed:1.6;--tracking-tight:-0.01em;--tracking-normal:0;--tracking-wide:0.06em;--tracking-wider:0.18em;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-10:4rem;--space-12:6rem;--space-16:8rem;--radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(27,30,35,.06);--shadow-sm:0 2px 8px rgba(27,30,35,.08);--shadow-md:0 8px 24px rgba(27,30,35,.1);--shadow-lg:0 18px 48px rgba(27,30,35,.14);--shadow-gold:0 8px 28px rgba(173,151,78,.28);--ring-focus:0 0 0 3px rgba(173,151,78,.35);--gradient-ink:linear-gradient(135deg,#1b1e23,#000);--gradient-mist:linear-gradient(180deg,#fff,#f6f5f5);--gradient-gold:linear-gradient(100deg,#8a7338,#c9b676 22%,#ad974e 42%,#e7dcb4 56%,#ad974e 70%,#8a7338);--gradient-gold-line:linear-gradient(90deg,transparent,var(--fx-gold-500) 22%,var(--fx-gold-300) 50%,var(--fx-gold-500) 78%,transparent);--ease-out:cubic-bezier(0.22,0.61,0.36,1);--ease-inout:cubic-bezier(0.65,0.05,0.36,1);--dur-fast:140ms;--dur-base:240ms;--dur-slow:420ms;--container:1200px;--container-narrow:760px}.portal-root.fx-root,.portal-root.fx-root *{box-sizing:border-box}.portal-root.fx-root{font-family:var(--font-body);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}.portal-root .fx-display{font-weight:var(--weight-bold);font-size:var(--text-display);letter-spacing:var(--tracking-tight)}.portal-root .fx-display,.portal-root .fx-h1{font-family:var(--font-display);line-height:var(--leading-tight)}.portal-root .fx-h1{font-weight:600;font-size:var(--text-h1)}.portal-root .fx-h2{font-size:var(--text-h2)}.portal-root .fx-h2,.portal-root .fx-h3{font-family:var(--font-display);font-weight:600;line-height:var(--leading-snug)}.portal-root .fx-h3{font-size:var(--text-h3)}.portal-root .fx-h4{font-family:var(--font-body);font-weight:600;font-size:var(--text-h4);line-height:var(--leading-snug)}.portal-root .fx-lead{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:var(--text-h3);line-height:var(--leading-normal);color:var(--color-text-secondary)}.portal-root .fx-body{font-size:var(--text-base);line-height:var(--leading-relaxed)}.portal-root .fx-small{font-size:var(--text-sm);line-height:var(--leading-normal)}.portal-root .fx-eyebrow{font-family:var(--font-body);font-weight:600;font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent-text)}.portal-root .fx-muted{color:var(--color-text-muted)}.portal-root .fx-btn{--btn-py:0.75rem;--btn-px:1.5rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);line-height:1;padding:var(--btn-py) var(--btn-px);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.portal-root .fx-btn:active{transform:translateY(1px)}.portal-root .fx-btn:focus-visible{outline:none;box-shadow:var(--ring-focus)}.portal-root .fx-btn--primary{background:var(--fx-ink-900);color:var(--color-text-inverse)}.portal-root .fx-btn--primary:hover{background:var(--fx-black)}.portal-root .fx-btn--gold{background:var(--fx-gold-500);color:var(--color-text-onAccent);box-shadow:var(--shadow-xs)}.portal-root .fx-btn--gold:hover{background:var(--fx-gold-600);box-shadow:var(--shadow-gold)}.portal-root .fx-btn--foil{background:var(--gradient-gold);background-size:200% 100%;background-position:0 50%;color:#2a2412;border-color:rgba(0,0,0,.08);transition:background-position var(--dur-slow) var(--ease-out),box-shadow var(--dur-fast)}.portal-root .fx-btn--foil:hover{background-position:100% 50%;box-shadow:var(--shadow-gold)}.portal-root .fx-btn--secondary{background:transparent;color:var(--color-text);border-color:var(--color-border-strong)}.portal-root .fx-btn--secondary:hover{border-color:var(--fx-ink-900);background:var(--fx-white)}.portal-root .fx-btn--ghost{background:transparent;color:var(--color-text-secondary)}.portal-root .fx-btn--ghost:hover{background:var(--fx-mist-200);color:var(--color-text)}.portal-root .fx-btn--onDark{background:var(--fx-white-smoke);color:var(--fx-ink-900)}.portal-root .fx-btn--onDark:hover{background:var(--fx-white)}.portal-root .fx-btn--onDark.fx-btn--secondary{background:transparent;color:var(--fx-white-smoke);border-color:var(--color-border-inverse)}.portal-root .fx-btn--onDark.fx-btn--secondary:hover{border-color:var(--fx-gold-400);color:var(--fx-gold-300)}.portal-root .fx-btn--sm{--btn-py:0.5rem;--btn-px:1rem;font-size:var(--text-xs)}.portal-root .fx-btn--lg{--btn-py:1rem;--btn-px:2rem;font-size:var(--text-base)}.portal-root .fx-btn--disabled,.portal-root .fx-btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.portal-root .fx-field{display:flex;flex-direction:column;gap:var(--space-2)}.portal-root .fx-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);letter-spacing:.01em}.portal-root .fx-label .fx-req{color:var(--color-accent-text)}.portal-root .fx-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.portal-root .fx-input,.portal-root .fx-select,.portal-root .fx-textarea{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem .875rem;width:100%;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.portal-root .fx-input::placeholder,.portal-root .fx-textarea::placeholder{color:var(--fx-ink-400)}.portal-root .fx-input:hover,.portal-root .fx-select:hover,.portal-root .fx-textarea:hover{border-color:var(--color-border-strong)}.portal-root .fx-input:focus,.portal-root .fx-select:focus,.portal-root .fx-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--ring-focus)}.portal-root .fx-textarea{min-height:7rem;resize:vertical;line-height:var(--leading-normal)}.portal-root .fx-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23616266' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.25rem}.portal-root .fx-input--error,.portal-root .fx-textarea--error{border-color:var(--color-danger)}.portal-root .fx-input--error:focus{box-shadow:0 0 0 3px rgba(140,74,64,.25)}.portal-root .fx-error-text{font-size:var(--text-xs);color:var(--color-danger)}.portal-root .fx-input-group{position:relative;display:flex;align-items:center}.portal-root .fx-input-group .fx-input{padding-left:2.25rem}.portal-root .fx-input-group .fx-adorn{position:absolute;left:.875rem;color:var(--color-text-muted);font-size:var(--text-sm);pointer-events:none}.portal-root .fx-check{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--text-sm)}.portal-root .fx-check input{appearance:none;width:1.15rem;height:1.15rem;margin:0;border:1px solid var(--color-border-strong);background:var(--color-surface-raised);display:grid;place-content:center;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}.portal-root .fx-check input[type=checkbox]{border-radius:var(--radius-xs)}.portal-root .fx-check input[type=radio]{border-radius:50%}.portal-root .fx-check input:checked{background:var(--fx-gold-500);border-color:var(--fx-gold-600)}.portal-root .fx-check input[type=checkbox]:checked:after{content:"";width:.35rem;height:.6rem;border:solid #2a2412;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}.portal-root .fx-check input[type=radio]:checked:after{content:"";width:.45rem;height:.45rem;border-radius:50%;background:#2a2412}.portal-root .fx-check input:focus-visible{outline:none;box-shadow:var(--ring-focus)}.portal-root .fx-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.portal-root .fx-switch input{position:absolute;opacity:0}.portal-root .fx-switch .fx-track{width:2.75rem;height:1.5rem;border-radius:var(--radius-pill);background:var(--fx-mist-350);transition:background var(--dur-base) var(--ease-out)}.portal-root .fx-switch .fx-thumb{position:absolute;left:3px;top:3px;width:1.125rem;height:1.125rem;border-radius:50%;background:var(--fx-white);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out)}.portal-root .fx-switch input:checked~.fx-track{background:var(--fx-gold-500)}.portal-root .fx-switch input:checked~.fx-thumb{transform:translateX(1.25rem)}.portal-root .fx-badge{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:.3rem .6rem;border-radius:var(--radius-xs);background:var(--fx-mist-200);color:var(--fx-ink-700);line-height:1}.portal-root .fx-badge--gold{background:var(--color-accent-soft);color:var(--fx-gold-700)}.portal-root .fx-badge--ink{background:var(--fx-ink-900);color:var(--fx-white-smoke)}.portal-root .fx-badge--outline{background:transparent;border:1px solid var(--color-border-strong);color:var(--color-text-secondary)}.portal-root .fx-badge--success{background:rgba(93,115,85,.14);color:var(--color-success)}.portal-root .fx-badge--danger{background:rgba(140,74,64,.12);color:var(--color-danger)}.portal-root .fx-badge .fx-dot{width:.4rem;height:.4rem;border-radius:50%;background:currentColor}.portal-root .fx-tier{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:.35rem .7rem .35rem .55rem;border-radius:var(--radius-pill);background:var(--gradient-gold);background-size:180% 100%;color:#2a2412;border:1px solid rgba(0,0,0,.06)}.portal-root .fx-tier:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:#2a2412}.portal-root .fx-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.portal-root .fx-card--hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.portal-root .fx-card--flush{padding:0;overflow:hidden}.portal-root .fx-property{display:flex;flex-direction:column}.portal-root .fx-property__media{position:relative;aspect-ratio:16/10;background:var(--fx-mist-200)}.portal-root .fx-property__media image-slot{width:100%;height:100%;display:block}.portal-root .fx-property__badge{position:absolute;top:var(--space-4);left:var(--space-4)}.portal-root .fx-property__body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.portal-root .fx-property__title{font-family:var(--font-display);font-weight:600;font-size:var(--text-h3);line-height:1.15}.portal-root .fx-property__meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.portal-root .fx-property__price{font-family:var(--font-display);font-weight:600;font-size:var(--text-h2)}.portal-root .fx-property__price small{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted)}.portal-root .fx-divider{height:1px;background:var(--color-border);border:0;margin:0}.portal-root .fx-divider--gold{height:1px;border:0;background:var(--gradient-gold-line)}.portal-root .fx-stat{display:flex;flex-direction:column;gap:var(--space-2)}.portal-root .fx-stat__value{font-family:var(--font-display);font-weight:600;font-size:var(--text-h1);line-height:1}.portal-root .fx-stat__label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted)}.portal-root .fx-stat__delta{font-size:var(--text-sm);font-weight:600}.portal-root .fx-stat__delta--up{color:var(--color-success)}.portal-root .fx-stat__delta--down{color:var(--color-danger)}.portal-root .fx-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:var(--color-surface-black);color:var(--fx-white-smoke);border-bottom:1px solid var(--color-border-inverse)}.portal-root .fx-nav__brand{height:28px;display:flex;align-items:center}.portal-root .fx-nav__brand img{height:100%;width:auto}.portal-root .fx-nav__links{display:flex;align-items:center;gap:var(--space-6);list-style:none;margin:0;padding:0}.portal-root .fx-nav__link{font-size:var(--text-sm);font-weight:500;letter-spacing:.02em;color:var(--fx-mist-350);text-decoration:none;position:relative;padding:var(--space-2) 0;transition:color var(--dur-fast) var(--ease-out)}.portal-root .fx-nav__link--active,.portal-root .fx-nav__link:hover{color:var(--fx-white)}.portal-root .fx-nav__link--active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--gradient-gold-line)}.portal-root .fx-nav__actions{display:flex;align-items:center;gap:var(--space-4)}.portal-root .fx-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.portal-root .fx-table thead th{text-align:left;font-weight:600;font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.portal-root .fx-table tbody td{padding:var(--space-4);border-bottom:1px solid var(--color-border)}.portal-root .fx-table tbody tr:hover{background:var(--fx-mist-100)}.portal-root .fx-table tbody tr:last-child td{border-bottom:0}.portal-root .fx-avatar{width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-content:center;overflow:hidden;background:var(--fx-ink-800);color:var(--fx-gold-300);font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);border:1px solid var(--color-border-inverse)}.portal-root .fx-avatar--ring{box-shadow:0 0 0 2px var(--color-surface),0 0 0 3px var(--fx-gold-500)}.portal-root .fx-surface-dark{background:var(--gradient-ink);color:var(--fx-white-smoke)}.portal-root .fx-surface-dark .fx-h1,.portal-root .fx-surface-dark .fx-h2,.portal-root .fx-surface-dark .fx-h3{color:var(--fx-white)}.portal-root{min-height:100vh;background:var(--color-surface);font-family:var(--font-body);color:var(--color-text)}.portal-root *{box-sizing:border-box}.portal-root .portal-shell{display:grid;grid-template-columns:264px 1fr;min-height:100vh}.portal-root .p-side{position:sticky;top:0;height:100vh;background:linear-gradient(175deg,rgba(6,7,8,.82),rgba(6,7,8,.74) 55%,rgba(6,7,8,.86)),url(/portal/marble-black-gold-portrait.jpg);background-size:cover;background-position:50%;background-repeat:no-repeat;color:#fff;display:flex;flex-direction:column;padding:32px 22px;gap:40px;border-right:1px solid var(--color-border-inverse)}.portal-root .p-side__logo{height:26px;padding:0 6px}.portal-root .p-side__logo img{height:100%;width:auto}.portal-root .p-nav{display:flex;flex-direction:column;gap:2px;flex:1}.portal-root .p-nav__group{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--fx-gold-400);margin:18px 6px 6px}.portal-root .p-nav__group:first-child{margin-top:0}.portal-root .p-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;color:var(--fx-mist-350);text-decoration:none;font-size:14px;font-weight:500;transition:background .16s,color .16s}.portal-root .p-nav a .ic{width:17px;height:17px;flex-shrink:0;opacity:.85}.portal-root .p-nav a:hover{background:hsla(0,0%,100%,.06);color:#fff}.portal-root .p-nav a.active{background:rgba(173,151,78,.14);color:var(--fx-gold-300)}.portal-root .p-nav a.active .ic{opacity:1}.portal-root .p-side__user{display:flex;align-items:center;gap:11px;padding:12px;border-top:1px solid var(--color-border-inverse)}.portal-root .p-side__user .fx-avatar{width:2.25rem;height:2.25rem;font-size:13px;background:rgba(173,151,78,.18);color:var(--fx-gold-300);border-color:transparent}.portal-root .p-side__user div{min-width:0}.portal-root .p-side__user b{display:block;font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-root .p-side__user span{font-size:11px;color:var(--fx-ink-400)}.portal-root .p-main{min-width:0;display:flex;flex-direction:column}.portal-root .p-staffbar{display:flex;align-items:center;justify-content:space-between;padding:10px 32px;background:var(--fx-ink-900);color:var(--fx-mist-350);font-size:12.5px}.portal-root .p-staffbar b{color:#fff;font-weight:600}.portal-root .p-staffbar a{color:var(--fx-gold-300);text-decoration:none;font-weight:600}.portal-root .p-staffbar a:hover{text-decoration:underline}.portal-root .p-staffbar__eye{display:inline-flex;align-items:center;gap:8px}.portal-root .p-content{padding:36px clamp(20px,4vw,56px) 80px;display:flex;flex-direction:column;gap:32px;max-width:1180px;margin:0 auto;width:100%}.portal-root .p-hero{position:relative;border-radius:18px;overflow:hidden;min-height:300px;aspect-ratio:20/7;box-shadow:var(--shadow-lg);background:var(--fx-ink-900)}.portal-root .p-hero--thin{min-height:0;aspect-ratio:auto;height:clamp(170px,24vh,230px)}.portal-root .p-hero--thin .p-hero__body{bottom:20px;left:32px;right:32px}.portal-root .p-hero--thin h1{font-size:clamp(1.4rem,2.4vw,1.9rem);margin-bottom:2px}.portal-root .p-hero--thin .p-hero__eyebrow{margin-bottom:4px}.portal-root .p-hero--thin p{font-size:13px}.portal-root .p-hero image-slot{position:absolute;inset:0;width:100%;height:100%}.portal-root .p-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,10,.55),rgba(8,9,10,.5) 25%,rgba(8,9,10,.72) 55%,rgba(8,9,10,.96));pointer-events:none}.portal-root .p-hero__body{position:absolute;left:44px;right:44px;bottom:36px;color:#fff;z-index:2}.portal-root .p-hero__eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fx-gold-300);font-weight:600;display:block;margin-bottom:10px}.portal-root .p-hero h1{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,3.4vw,2.9rem);margin:0 0 8px;letter-spacing:-.01em}.portal-root .p-hero p{margin:0;color:var(--fx-mist-350);font-size:15px;max-width:52ch}.portal-root .p-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:16px;padding:36px}.portal-root .p-card__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:26px;gap:16px}.portal-root .p-card__head h2{font-family:var(--font-display);font-weight:600;font-size:22px;margin:0}.portal-root .p-card__head p{margin:6px 0 0;font-size:13.5px;color:var(--color-text-muted);max-width:56ch}.portal-root .milestones{display:flex;flex-direction:column}.portal-root .milestone{display:flex;gap:20px}.portal-root .milestone__rail{display:flex;flex-direction:column;align-items:center;width:14px}.portal-root .milestone__dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--color-border-strong);background:#fff;flex-shrink:0}.portal-root .milestone.done .milestone__dot{background:var(--fx-gold-500);border-color:var(--fx-gold-500)}.portal-root .milestone.active .milestone__dot{border-color:var(--fx-gold-500);box-shadow:0 0 0 5px rgba(173,151,78,.16)}.portal-root .milestone__line{width:2px;flex:1;background:var(--color-border);margin-top:4px}.portal-root .milestone.done .milestone__line{background:var(--fx-gold-500)}.portal-root .milestone:last-child .milestone__line{display:none}.portal-root .milestone__body{padding-bottom:34px;padding-top:-2px;flex:1}.portal-root .milestone:last-child .milestone__body{padding-bottom:0}.portal-root .milestone__top{display:flex;align-items:center;gap:12px;margin-bottom:4px}.portal-root .milestone__title{font-family:var(--font-display);font-weight:600;font-size:17px}.portal-root .milestone.upcoming .milestone__title{color:var(--color-text-muted)}.portal-root .milestone__desc{font-size:13.5px;color:var(--color-text-muted);margin-top:3px;max-width:60ch}.portal-root .action-row{display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--color-border)}.portal-root .action-row:last-child{border-bottom:0;padding-bottom:0}.portal-root .action-row:first-child{padding-top:0}.portal-root .action-row__ic{width:38px;height:38px;border-radius:50%;background:var(--color-accent-soft);color:var(--fx-gold-700);display:grid;place-content:center;flex-shrink:0}.portal-root .action-row__body{flex:1;min-width:0}.portal-root .action-row__body b{display:block;font-size:15px;font-weight:600}.portal-root .action-row__body span{font-size:13px;color:var(--color-text-muted)}.portal-root .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 32px}.portal-root .stat-cell dt{font-size:12px;color:var(--color-text-muted);margin-bottom:6px}.portal-root .stat-cell dd{margin:0;font-family:var(--font-display);font-weight:600;font-size:19px}.portal-root .stat-cell dd.muted{color:var(--fx-mist-400);font-weight:500;font-family:var(--font-body)}.portal-root .doc-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--color-border)}.portal-root .doc-row:last-child{border-bottom:0;padding-bottom:0}.portal-root .doc-row:first-child{padding-top:0}.portal-root .doc-row__ic{width:36px;height:36px;border-radius:8px;background:var(--fx-mist-200);color:var(--fx-ink-700);display:grid;place-content:center;flex-shrink:0}.portal-root .doc-row__body{flex:1;min-width:0}.portal-root .doc-row__body b{font-size:14.5px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-root .doc-row__body span{font-size:12.5px;color:var(--color-text-muted)}.portal-root .doc-row a{font-size:13px;font-weight:600;color:var(--fx-gold-700);text-decoration:none;flex-shrink:0;display:flex;align-items:center;gap:6px}.portal-root .doc-row a:hover{text-decoration:underline}.portal-root .readiness-hero{display:flex;align-items:center;gap:32px;padding:8px 0 32px;border-bottom:1px solid var(--color-border);margin-bottom:32px}.portal-root .readiness-ring{position:relative;width:112px;height:112px;flex-shrink:0}.portal-root .readiness-ring svg{transform:rotate(-90deg)}.portal-root .readiness-ring .bg{stroke:var(--fx-mist-200)}.portal-root .readiness-ring .fg{stroke:var(--fx-gold-500);stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease-out)}.portal-root .readiness-ring__label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.portal-root .readiness-ring__label b{font-family:var(--font-display);font-weight:600;font-size:26px;line-height:1}.portal-root .readiness-ring__label span{font-size:10px;color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}.portal-root .readiness-hero h2{font-family:var(--font-display);font-weight:600;font-size:22px;margin:0 0 6px}.portal-root .readiness-hero p{margin:0;font-size:13.5px;color:var(--color-text-muted);max-width:52ch}.portal-root .readiness-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.portal-root .readiness-card{border:1px solid var(--color-border);border-radius:14px;padding:26px}.portal-root .readiness-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.portal-root .readiness-card__top b{font-family:var(--font-display);font-weight:600;font-size:17px;display:block}.portal-root .readiness-card__top span{font-size:12px;color:var(--color-text-muted)}.portal-root .readiness-bar{height:7px;border-radius:99px;background:var(--fx-mist-200);overflow:hidden;margin-bottom:14px}.portal-root .readiness-bar i{display:block;height:100%;border-radius:99px}.portal-root .readiness-card__figures{display:flex;justify-content:space-between;font-size:13px;margin-bottom:16px}.portal-root .readiness-card__figures b{font-family:var(--font-display);font-size:16px;font-weight:600;display:block}.portal-root .readiness-card__figures span{font-size:11px;color:var(--color-text-muted)}.portal-root .readiness-card p.tip{font-size:12.5px;color:var(--color-text-secondary);line-height:1.55;margin:0;padding-top:14px;border-top:1px solid var(--color-border)}.portal-root .status-summary{display:flex;align-items:center;gap:28px;padding:20px 24px}.portal-root .status-summary__ring{width:56px;height:56px;flex-shrink:0;position:relative}.portal-root .status-summary__ring svg{transform:rotate(-90deg)}.portal-root .status-summary__ring .bg{stroke:var(--fx-mist-200)}.portal-root .status-summary__ring .fg{stroke:var(--fx-gold-500);stroke-linecap:round}.portal-root .status-summary__ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:14px}.portal-root .status-summary__mid{flex:1;min-width:0}.portal-root .status-summary__mid b{font-family:var(--font-display);font-weight:600;font-size:19px;display:block;margin-bottom:2px}.portal-root .status-summary__mid span{font-size:12.5px;color:var(--color-text-muted)}.portal-root .status-summary__stats{display:flex;gap:24px}.portal-root .status-summary__stat{text-align:center}.portal-root .status-summary__stat b{display:block;font-family:var(--font-display);font-weight:600;font-size:15px}.portal-root .status-summary__stat span{font-size:10.5px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.portal-root .status-summary__link{font-size:13px;font-weight:600;color:var(--fx-gold-700);text-decoration:none;white-space:nowrap}.portal-root .status-summary__link:hover{text-decoration:underline}@media (max-width:760px){.portal-root .readiness-grid{grid-template-columns:1fr}.portal-root .status-summary{flex-wrap:wrap}}.portal-root .comms-tabs{display:flex;gap:6px;margin-bottom:28px;border-bottom:1px solid var(--color-border)}.portal-root .comms-tabs button{background:none;border:0;padding:12px 4px;margin-right:22px;font-size:14px;font-weight:600;color:var(--color-text-muted);cursor:pointer;position:relative;font-family:var(--font-body)}.portal-root .comms-tabs button.active{color:var(--color-text)}.portal-root .comms-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--fx-gold-500)}.portal-root .comms-day{text-align:center;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:30px 0 18px}.portal-root .comms-day:first-child{margin-top:0}.portal-root .comms-email{display:flex;gap:14px;padding:18px;border:1px solid var(--color-border);border-radius:12px;margin-bottom:16px}.portal-root .comms-email__ic{width:34px;height:34px;border-radius:8px;background:var(--fx-mist-200);color:var(--fx-ink-700);display:grid;place-content:center;flex-shrink:0}.portal-root .comms-email__body{min-width:0;flex:1}.portal-root .comms-email__top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}.portal-root .comms-email__from{font-size:13px;color:var(--color-text-muted)}.portal-root .comms-email__from b{color:var(--color-text);font-weight:600}.portal-root .comms-email__time{font-size:11.5px;color:var(--color-text-muted);flex-shrink:0}.portal-root .comms-email__subj{font-family:var(--font-display);font-weight:600;font-size:16.5px;margin-bottom:6px}.portal-root .comms-email__snip{font-size:13.5px;color:var(--color-text-secondary);line-height:1.6}.portal-root .comms-msg{display:flex;gap:10px;max-width:74%;margin-bottom:14px}.portal-root .comms-msg.out{margin-left:auto;flex-direction:row-reverse}.portal-root .comms-msg .fx-avatar{width:2rem;height:2rem;font-size:11px;flex-shrink:0}.portal-root .comms-msg__bubble{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:14px 14px 14px 4px;padding:12px 15px;font-size:14px;line-height:1.55}.portal-root .comms-msg.out .comms-msg__bubble{background:var(--fx-gold-500);border-color:var(--fx-gold-500);color:#2a2412;border-radius:14px 14px 4px 14px}.portal-root .comms-msg__time{font-size:10.5px;color:var(--color-text-muted);margin-top:5px;display:block}.portal-root .comms-msg.out .comms-msg__time{text-align:right;color:rgba(42,36,18,.6)}.portal-root .comms-msg__chan{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:3px}.portal-root .comms-compose{display:flex;align-items:flex-end;gap:12px;border-top:1px solid var(--color-border);padding-top:22px;margin-top:8px}.portal-root .comms-compose textarea{flex:1;resize:none;border:1px solid var(--color-border);border-radius:10px;padding:12px 14px;font-family:var(--font-body);font-size:14px;min-height:46px;max-height:120px}.portal-root .comms-compose textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--ring-focus)}.portal-root .comms-compose__chan{display:flex;gap:6px}.portal-root .comms-compose__chan button{font-size:12px;font-weight:600;padding:6px 12px;border-radius:99px;border:1px solid var(--color-border);background:#fff;color:var(--color-text-muted);cursor:pointer}.portal-root .comms-compose__chan button.active{background:var(--fx-ink-900);border-color:var(--fx-ink-900);color:#fff}.portal-root .module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.portal-root .module-card{border:1px solid var(--color-border);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s}.portal-root .module-card--active:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.portal-root .module-card--locked{opacity:.55;cursor:default}.portal-root .module-card__num{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--fx-gold-700);letter-spacing:.06em;text-transform:uppercase}.portal-root .module-card__title{font-family:var(--font-display);font-weight:600;font-size:20px;line-height:1.2}.portal-root .module-card__desc{font-size:13px;color:var(--color-text-muted);line-height:1.55;flex:1}.portal-root .module-card__foot{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--color-text-muted);border-top:1px solid var(--color-border);padding-top:14px}.portal-root .course-shell{display:grid;grid-template-columns:1fr 340px;gap:36px;align-items:start}.portal-root .course-hero{position:relative;border-radius:18px;overflow:hidden;min-height:260px;aspect-ratio:20/7.5;box-shadow:var(--shadow-lg);background:var(--fx-ink-900);grid-column:1/-1}.portal-root .course-hero--thin{min-height:0;aspect-ratio:auto;height:clamp(170px,24vh,230px)}.portal-root .course-hero--thin .course-hero__body{justify-content:flex-end;padding-bottom:22px}.portal-root .course-hero--thin h1{font-size:clamp(1.5rem,2.6vw,2rem);margin:4px 0}.portal-root .course-hero--thin p{display:none}.portal-root .course-hero--thin .course-progress{max-width:220px;display:none}.portal-root .course-hero image-slot{position:absolute;inset:0;width:100%;height:100%}.portal-root .course-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,10,.88) 20%,rgba(8,9,10,.35) 65%,rgba(8,9,10,.1));pointer-events:none}.portal-root .course-hero__body{position:absolute;left:44px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;z-index:2;color:#fff;max-width:56ch}.portal-root .course-hero__body h1{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,3.2vw,2.6rem);margin:10px 0 12px;letter-spacing:-.01em}.portal-root .course-hero__body p{margin:0 0 22px;color:var(--fx-mist-350);font-size:15px}.portal-root .course-progress{display:flex;align-items:center;gap:14px;max-width:320px}.portal-root .course-progress .bar{flex:1;height:6px;border-radius:99px;background:hsla(0,0%,100%,.16);overflow:hidden}.portal-root .course-progress .bar i{display:block;height:100%;background:var(--gradient-gold);border-radius:99px}.portal-root .course-progress span{font-size:12.5px;color:var(--fx-mist-350);white-space:nowrap}.portal-root .lesson-panel{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:16px;padding:44px}.portal-root .lesson-panel__eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fx-gold-700);font-weight:600}.portal-root .lesson-panel h2{font-family:var(--font-display);font-weight:600;font-size:28px;margin:8px 0 26px;letter-spacing:-.01em}.portal-root .audio-player{display:flex;align-items:center;gap:16px;background:var(--fx-ink-900);color:#fff;border-radius:14px;padding:16px 20px;margin-bottom:30px}.portal-root .audio-player__play{width:42px;height:42px;border-radius:50%;background:var(--gradient-gold);border:0;flex-shrink:0;display:grid;place-content:center;cursor:pointer;color:#2a2412}.portal-root .audio-player__play svg{margin-left:2px}.portal-root .audio-player__mid{flex:1;min-width:0}.portal-root .audio-player__mid .t{font-size:13px;font-weight:600;margin-bottom:6px}.portal-root .audio-player__scrub{width:100%;height:4px;border-radius:99px;background:hsla(0,0%,100%,.18);appearance:none;cursor:pointer}.portal-root .audio-player__scrub::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--fx-gold-400)}.portal-root .audio-player__time{font-size:11.5px;color:var(--fx-ink-400);display:flex;justify-content:space-between;margin-top:6px}.portal-root .audio-player__speed{font-size:12px;font-weight:600;background:hsla(0,0%,100%,.08);border-radius:99px;padding:6px 12px;color:var(--fx-mist-350);flex-shrink:0}.portal-root .lesson-body{font-size:16px;line-height:1.75;color:var(--color-text-secondary)}.portal-root .lesson-body p{margin:0 0 20px}.portal-root .lesson-body h3{font-family:var(--font-display);font-weight:600;font-size:19px;color:var(--color-text);margin:28px 0 12px}.portal-root .lesson-nav{display:flex;justify-content:space-between;margin-top:36px;padding-top:26px;border-top:1px solid var(--color-border)}.portal-root .outline{position:sticky;top:24px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:16px;padding:6px;max-height:calc(100vh - 48px);overflow-y:auto}.portal-root .outline__head{padding:18px 18px 14px}.portal-root .outline__head b{font-family:var(--font-display);font-weight:600;font-size:16px;display:block}.portal-root .outline__head span{font-size:12px;color:var(--color-text-muted)}.portal-root .outline__mod{padding:6px 6px 10px}.portal-root .outline__mod-title{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;padding:10px 12px 6px}.portal-root .outline__lesson{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;cursor:pointer;font-size:13.5px;color:var(--color-text);transition:background .14s}.portal-root .outline__lesson:hover{background:var(--fx-mist-100)}.portal-root .outline__lesson.active{background:var(--color-accent-soft);color:var(--fx-gold-700);font-weight:600}.portal-root .outline__lesson .st{width:19px;height:19px;border-radius:50%;flex-shrink:0;display:grid;place-content:center;border:1.5px solid var(--color-border-strong);color:transparent}.portal-root .outline__lesson.done .st{background:var(--fx-gold-500);border-color:var(--fx-gold-500);color:#2a2412}.portal-root .outline__lesson.active .st{border-color:var(--fx-gold-500)}.portal-root .outline__lesson .dur{margin-left:auto;font-size:11.5px;color:var(--color-text-muted);flex-shrink:0}.portal-root .outline__lesson.active .dur{color:var(--fx-gold-600)}@media (max-width:960px){.portal-root .portal-shell{grid-template-columns:1fr}.portal-root .p-side{display:none}.portal-root .course-shell{grid-template-columns:1fr}.portal-root .stat-grid{grid-template-columns:1fr 1fr}}