:root{--paper:#f5f1e8;--white:#fffdf8;--ink:#22201c;--muted:#696258;--line:#d9d1c2;--gold:#806329;--green:#335443}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:5}.skip:focus{top:0}.notice{padding:8px 4%;background:var(--ink);color:#f5f1e8;font-size:12px;letter-spacing:.04em;text-align:center}.notice span{opacity:.85}.masthead{max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:30px 4%;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font:27px Georgia,serif;letter-spacing:.08em}.wordmark span{font:11px Arial,sans-serif;letter-spacing:.24em;margin-left:8px;color:var(--gold)}nav{display:flex;gap:25px}nav a{text-decoration:none;font-size:14px}nav a[aria-current]{color:var(--gold);font-weight:bold}.landing{max-width:1260px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:70px;padding:90px 0}.eyebrow{font:11px/1.5 'Courier New',monospace;letter-spacing:.12em;color:var(--muted);margin:0 0 18px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:normal;line-height:1.12;margin-top:0}h1{font-size:64px;letter-spacing:-.045em;margin-bottom:26px}h2{font-size:34px;letter-spacing:-.025em;margin-bottom:18px}h3{font-size:25px;margin-bottom:14px}p{margin:0 0 18px}.lead{font-size:18px;line-height:1.7;max-width:520px;color:#514b42}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--ink);color:var(--white);padding:15px 20px;text-decoration:none;border:1px solid var(--ink);font-size:14px;margin:10px 0}.button:hover{background:#453e32}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:#ede6d8}.small{font-size:13px}.muted{color:var(--muted)}.gold-study{position:relative;aspect-ratio:1;background:#e9dfcb;overflow:hidden;border:1px solid #d5c6a6;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;border:1px solid #b29861;border-radius:50%;width:82%;height:82%}.orbit-two{width:65%;height:65%}.orbit-three{width:49%;height:49%;border-style:dashed;transform:rotate(-25deg)}.study-centre{text-align:center}.study-centre span{font:74px Georgia,serif;color:#806329}.study-centre small{display:block;font:10px 'Courier New',monospace;letter-spacing:.2em}.gold-study p{position:absolute;bottom:12px;font:10px 'Courier New',monospace;letter-spacing:.12em}.section{border-top:1px solid var(--line);padding:55px 0 65px}.section-heading{margin-bottom:40px}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.step{border-left:1px solid var(--line);padding:0 24px}.step-number{display:block;font:13px 'Courier New',monospace;color:var(--gold);margin-bottom:25px}.step p{font-size:15px;color:var(--muted)}.ownership-note{padding:40px;background:#ece5d8;margin-bottom:60px;display:grid;grid-template-columns:1fr 1.4fr;gap:0 45px}.ownership-note>.eyebrow{grid-column:1/-1}.ownership-note>p:last-child{color:var(--muted)}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:25px 4%;font-size:11px;color:var(--muted)}.workspace{max-width:1440px;margin:auto;display:grid;grid-template-columns:215px minmax(0,1fr)}.sidebar{padding:40px 28px;border-right:1px solid var(--line)}.sidebar nav{flex-direction:column;gap:10px}.sidebar nav a{padding:12px 0;display:flex;justify-content:space-between}.sidebar-foot{font-size:12px;margin-top:65px;color:var(--muted)}.sidebar-foot p{font-size:11px;margin-top:8px}.dot{display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:5px}.dashboard{padding:42px 4%;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading h1{font-size:40px;margin:0}.badge{display:inline-block;border:1px solid var(--line);border-radius:3px;padding:5px 9px;font-size:11px;color:var(--muted);white-space:nowrap}.badge.success{color:var(--green);background:#edf1e9;border-color:#d0dccc}.holding-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:24px;margin-bottom:24px}.balance-card{background:var(--ink);color:var(--paper);padding:30px}.balance-card .eyebrow{color:#c6b99e}.big-number{font:64px/1.2 Georgia,serif;letter-spacing:-.03em}.big-number span{font-size:30px;color:#c6b99e}.balance-card>p:not(.eyebrow){color:#d4cdbc;font-size:14px;margin-top:7px}.balance-card summary{color:#dfd5bf;font-size:12px}.balance-footer{display:flex;gap:30px;border-top:1px solid #514a3c;padding-top:22px;margin-top:25px;font-size:11px;color:#c6b99e}.balance-footer strong{display:block;font:20px Georgia,serif;color:#f5f1e8;margin-top:6px}.action-card{border:1px solid var(--line);padding:25px;background:var(--white)}.action-card h2{font-size:30px}.action-card p{font-size:14px;color:var(--muted)}.action-card .button{display:flex;margin:8px 0}.panel{background:var(--white);border:1px solid var(--line);padding:26px;margin-bottom:24px}.panel h2{font-size:27px}.panel h3{font-size:23px}.panel p{font-size:14px;color:var(--muted)}.panel .eyebrow{font-size:11px}.section-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-row h2{margin:0}.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:0;list-style:none;counter-reset:journey}.journey li{counter-increment:journey;position:relative;padding-top:32px}.journey li:before{content:'0' counter(journey);position:absolute;top:0;font:12px 'Courier New',monospace;color:var(--gold)}.journey b{display:block;font-size:14px;margin-bottom:5px}.journey span{font-size:13px;color:var(--muted)}.inline-note{border-top:1px solid var(--line);padding-top:16px;margin-top:22px!important;margin-bottom:0;font-size:12px!important}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:11px;letter-spacing:.04em;font-weight:normal;color:var(--muted);padding:10px 10px 14px 0}td{padding:16px 12px 16px 0;border-top:1px solid var(--line)}.mono{font-family:'Courier New',monospace;font-size:13px}summary{cursor:pointer;font-size:13px}details[open] summary{margin-bottom:12px}.metrics{gap:18px}.metrics h2{font-size:26px}.metrics h2 small{font:13px Arial,sans-serif;color:var(--muted)}.record{margin:0}.record div{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:12px}.record dt{color:var(--muted)}.record dd{margin:0;text-align:right}ul{padding-left:20px;font-size:13px;color:var(--muted)}@media(max-width:1000px){.workspace{grid-template-columns:170px minmax(0,1fr)}.sidebar{padding:30px 18px}.page-heading{align-items:flex-start;flex-direction:column}.holding-grid{grid-template-columns:1fr}.hero{gap:35px}h1{font-size:50px}.metrics{grid-template-columns:1fr}.metrics .panel{margin-bottom:0}.metrics{margin-bottom:24px}}@media(max-width:650px){.masthead{align-items:flex-start;flex-direction:column;padding:22px 5%;gap:20px}.masthead nav{gap:20px}.masthead nav a{font-size:12px}.notice{font-size:10px}.hero{grid-template-columns:1fr;padding:45px 0;gap:30px}h1{font-size:47px}.gold-study{max-height:310px;aspect-ratio:1.3}.three-grid,.two-grid,.journey{grid-template-columns:1fr}.step{padding-bottom:15px}.ownership-note{grid-template-columns:1fr;padding:25px}.workspace{grid-template-columns:1fr}.sidebar{padding:18px 5%;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.eyebrow,.sidebar-foot{display:none}.sidebar nav{flex-direction:row;gap:20px;overflow:auto;white-space:nowrap}.sidebar nav a{font-size:12px;padding:0}.sidebar nav span{display:none}.dashboard{padding:30px 5%}.page-heading h1{font-size:34px}.panel{padding:20px}.big-number{font-size:56px}.balance-card{padding:24px}.section-row{align-items:flex-start;flex-direction:column}.footer{flex-direction:column;gap:7px}.journey{gap:20px}.two-grid{gap:0}.record div{flex-wrap:wrap}.record dd{text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Authentication — W-083 direction A (dark). Every rule is scoped to .auth-page,
   the body class only identity/form.blade.php sets, so the operations layout and
   the preview pages that also load this file are unaffected. The site footer keeps
   its own colours (footer.css), so nothing here reaches inside footer.site. */
@font-face{font-family:"Instrument Sans";src:url(/fonts/instrument-sans-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/fonts/instrument-sans-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-garamond-600-normal.woff2) format("woff2"),url(/fonts/cormorant-garamond-600-normal.woff) format("woff");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";src:url(/fonts/manrope-400-normal.woff2) format("woff2"),url(/fonts/manrope-400-normal.woff) format("woff");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";src:url(/fonts/manrope-600-normal.woff2) format("woff2"),url(/fonts/manrope-600-normal.woff) format("woff");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.auth-page{--auth-serif:"Cormorant Garamond","Palatino Linotype",Palatino,"Book Antiqua",Baskerville,Georgia,serif;--auth-sans:"Manrope","Instrument Sans",system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column;color-scheme:dark;background:radial-gradient(90% 70% at 85% 12%,#2b2417 0%,#111113 45%,#0b0b0c 100%) fixed #0f0f10;color:#f2efe7;font:16px/1.55 var(--auth-sans)}
.auth-page .notice,.auth-page .masthead,.auth-page .footer{width:100%}
.auth-page .skip{background:#0f0f10;color:#e8cf8a}
.auth-page .notice{background:#0b0b0c;color:#cfc8b6;border-bottom:1px solid rgba(255,255,255,.07)}
.auth-page .masthead{max-width:none;background:rgba(11,11,12,.72);border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(12px)}
.auth-page .masthead nav a{display:inline-flex;align-items:center;min-height:44px;color:#cfc8b6}
.auth-page .masthead nav a:hover{color:#f3dd9a}
.auth-page .masthead nav a[aria-current]{color:#e8cf8a}
.auth-page .brand-descriptor{color:#e8cf8a}
.auth-page .skip:focus-visible,.auth-page .masthead a:focus-visible,.auth-page .auth-shell a:focus-visible,.auth-page .auth-shell summary:focus-visible,.auth-page .auth-shell button:focus-visible,.auth-page .auth-shell input:focus-visible,.auth-page .auth-shell select:focus-visible,.auth-page .auth-shell textarea:focus-visible{outline:2px solid #e8cf8a;outline-offset:3px}
.auth-page .auth-shell{flex:1;width:100%;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:20px;padding:28px 16px 56px}
.auth-page .auth-brand{display:flex;justify-content:center}
.auth-page .auth-brand__lockup{display:block;width:56px;height:auto}
.auth-page .auth-brand__statement{display:none}
.auth-page .auth-card{width:100%;max-width:470px;margin:0 auto;padding:22px;border:1px solid rgba(232,207,138,.18);border-radius:18px;background:#1c1c1e;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015))}
.auth-page .auth-card__intro{margin-bottom:26px}
.auth-page .auth-card h1{margin:0 0 12px;font:600 clamp(40px,6vw,64px)/1.02 var(--auth-serif);letter-spacing:-.01em;color:#f2efe7}
.auth-page .auth-lede{max-width:460px;margin:0;color:#cfc8b6;font-size:16px;line-height:1.55}
.auth-page .auth-card>p{color:#cfc8b6}
.auth-page .auth-card a{color:#e8cf8a;text-decoration:underline;text-underline-offset:3px}
.auth-page .auth-card a:hover{color:#f3dd9a}
.auth-page .auth-form,.auth-page .auth-card form{display:grid;gap:18px}
.auth-page .auth-form p,.auth-page .auth-card form>p{margin:0}
.auth-page .auth-card label{display:block;margin-bottom:6px;color:#cfc8b6;font-size:13px;font-weight:600}
.auth-page .auth-card input,.auth-page .auth-card select,.auth-page .auth-card textarea{display:block;width:100%;height:44px;padding:0 14px;border:1px solid #77715f;border-radius:12px;background:rgba(0,0,0,.35);color:#f2efe7;font:16px/1.4 var(--auth-sans)}
.auth-page .auth-card textarea{height:auto;min-height:110px;padding:10px 14px;resize:vertical}
.auth-page .auth-card input::placeholder,.auth-page .auth-card textarea::placeholder{color:#9d968a;opacity:1}
.auth-page .auth-card input:hover,.auth-page .auth-card select:hover,.auth-page .auth-card textarea:hover{border-color:#9d968a}
.auth-page .auth-card input:focus,.auth-page .auth-card select:focus,.auth-page .auth-card textarea:focus{border-color:#e8cf8a;box-shadow:0 0 0 3px rgba(232,207,138,.18)}
.auth-page .auth-card input:-webkit-autofill{-webkit-text-fill-color:#f2efe7;caret-color:#f2efe7;box-shadow:0 0 0 1000px #1c1c1e inset}
.auth-page .auth-card input:-webkit-autofill:focus{box-shadow:0 0 0 1000px #1c1c1e inset,0 0 0 3px rgba(232,207,138,.18)}
.auth-page .auth-card button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:4px;padding:0 20px;border:1px solid transparent;border-radius:999px;background:#c9a24a;background:linear-gradient(100deg,#c9a24a,#f0d78e);color:#141210;font:600 15px/1.2 var(--auth-sans);cursor:pointer}
.auth-page .auth-card button:hover{background:linear-gradient(100deg,#d2ad57,#f3dd9a)}
.auth-page .auth-card button:disabled{opacity:.4;cursor:not-allowed}
.auth-page .auth-card .auth-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 10px;margin:18px 0 0;text-align:center;color:#aaa393;font-size:14px}
.auth-page .auth-links a{display:inline-flex;align-items:center;min-height:44px}
.auth-page .auth-card .auth-message,.auth-page .auth-card .auth-status{margin:0 0 22px;padding:12px 15px;border:1px solid;border-radius:12px;font-size:14px}
.auth-page .auth-message p{margin:0 0 6px;font-weight:600}
.auth-page .auth-message ul{margin:0;padding-left:18px;color:inherit;font-size:14px}
.auth-page .auth-card .auth-message--status,.auth-page .auth-card .auth-status{color:#8fd3a2;background:rgba(143,211,162,.10);border-color:rgba(143,211,162,.35)}
.auth-page .auth-card .auth-message--error{color:#e39a8b;background:rgba(227,154,139,.10);border-color:rgba(227,154,139,.35)}
.auth-page .auth-card .auth-hint{display:block;margin-top:6px;color:#9d968a;font-size:12px;font-weight:400;line-height:1.5}
.auth-page .auth-form--secondary{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.07)}
.auth-page .auth-form--secondary button{background:transparent;border-color:rgba(232,207,138,.55);color:#e8cf8a}
.auth-page .auth-form--secondary button:hover{background:rgba(232,207,138,.08);border-color:#e8cf8a;color:#f3dd9a}
.auth-page .auth-codes{margin:0 0 26px;padding:20px;border:1px solid rgba(232,207,138,.18);border-radius:16px;background:rgba(0,0,0,.35)}
.auth-page .auth-codes h2{margin:0 0 10px;font:600 24px/1.15 var(--auth-serif);letter-spacing:-.01em;color:#f2efe7}
.auth-page .auth-codes p{margin:0 0 14px;color:#cfc8b6;font-size:14px;line-height:1.6}
.auth-page .auth-codes__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0;padding:0;list-style:none;color:#f2efe7}
.auth-page .auth-codes__list li{margin:0}
.auth-page .auth-codes__list code{display:block;padding:8px 10px;border:1px solid #77715f;border-radius:10px;background:rgba(0,0,0,.35);color:#f2efe7;font:14px/1.3 'Courier New',monospace;letter-spacing:.06em;text-align:center;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}
.auth-page .auth-card .auth-setup-key code{display:block;padding:13px 15px;border:1px solid #77715f;border-radius:12px;background:rgba(0,0,0,.35);color:#f3dd9a;font:15px/1.4 'Courier New',monospace;letter-spacing:.12em;word-break:break-all;-webkit-user-select:all;user-select:all}
.auth-page .auth-details{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.07)}
.auth-page .auth-details summary{padding:11px 0;cursor:pointer;color:#cfc8b6;font-size:14px;font-weight:600}
.auth-page .auth-details summary:hover{color:#f3dd9a}
.auth-page .auth-details>p{margin:14px 0;color:#cfc8b6;font-size:14px;line-height:1.6}
.auth-page .auth-card .password-field input{padding-right:52px}
.auth-page .auth-card .password-reveal{position:absolute;top:0;right:0;bottom:auto;width:44px;height:44px;min-height:44px;margin:0;padding:10px;border:0;border-radius:0 12px 12px 0;background:transparent;color:#cfc8b6}
.auth-page .auth-card .password-reveal:hover{background:rgba(255,255,255,.07);color:#f3dd9a}
@media(min-width:900px){
.auth-page .auth-shell{grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);align-content:stretch;gap:0;padding:0}
.auth-page .auth-brand{flex-direction:column;justify-content:center;gap:40px;padding:56px clamp(32px,5vw,72px);border-right:1px solid rgba(232,207,138,.22);background:radial-gradient(120% 80% at 15% 0%,rgba(201,162,74,.2),rgba(0,0,0,0) 60%),linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.45))}
.auth-page .auth-brand__lockup{width:128px}
.auth-page .auth-brand__statement{display:block;margin:0;font:600 clamp(40px,6vw,64px)/1.02 var(--auth-serif);letter-spacing:-.01em;color:#f2efe7}
.auth-page .auth-brand__statement span{display:block;color:#f3dd9a}
.auth-page .auth-card{align-self:center;width:min(100%,520px);max-width:none;padding:56px clamp(24px,4vw,48px);border:0;border-radius:0;background:none}
.auth-page .auth-card h1{font-size:clamp(28px,3.4vw,40px);line-height:1.1}
}
/* Recovery codes are shown once and never stored in the browser, so printing is
   the only way to keep them. Scoped with :has() to the one screen that shows them —
   applied to every auth page it printed /register and /login as a near-blank sheet.
   The dark theme's light text would print invisible on paper, so print is black. */
@media print{.auth-page:has(.auth-codes) .masthead,.auth-page:has(.auth-codes) .footer,.auth-page:has(.auth-codes) .notice,.auth-page:has(.auth-codes) .auth-brand,.auth-page:has(.auth-codes) .auth-card__intro,.auth-page:has(.auth-codes) .auth-message,.auth-page:has(.auth-codes) .auth-links,.auth-page:has(.auth-codes) .auth-form,.auth-page:has(.auth-codes) .auth-details{display:none!important}
.auth-page:has(.auth-codes),.auth-page:has(.auth-codes) .auth-shell{background:none;padding:0;min-height:0;display:block;color:#000}
.auth-page:has(.auth-codes) .auth-card{width:auto;padding:0;border:0;box-shadow:none;background:none}
.auth-page:has(.auth-codes) .auth-codes{border:0;padding:0;background:none}
.auth-page:has(.auth-codes) .auth-codes h2,.auth-page:has(.auth-codes) .auth-codes p,.auth-page:has(.auth-codes) .auth-codes__list{color:#000}
.auth-page:has(.auth-codes) .auth-codes__list code{border:1px solid #666;background:none;color:#000}}

/* Shared brand lockup */
.brand-link{display:inline-flex;flex:0 0 auto;flex-direction:column;align-items:center;text-decoration:none}
.brand-lockup{display:block;width:88px;height:auto}
.brand-descriptor{margin-top:3px;color:var(--gold);font:600 10px/1.1 Arial,Helvetica,sans-serif;letter-spacing:.42em;text-indent:.42em}
@media(max-width:650px){.brand-lockup{width:88px}}

/* Password reveal control */
.password-field{position:relative;display:block}
.password-field input{padding-right:52px}
.auth-card .password-reveal{position:absolute;right:8px;bottom:8px;width:36px;min-height:36px;margin:0;padding:7px;border:0;border-radius:50%;background:transparent;color:var(--muted)}
.auth-card .password-reveal:hover{background:#eee7da;color:var(--ink)}
.auth-card .password-reveal:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.password-reveal svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.password-reveal .eye-slash{display:none}
.password-reveal[aria-pressed="true"] .eye-slash{display:block}
/* On operations pages the portal remaps --ink to its light text colour, so the skip link and preview notice
   are restated for the dark portal here, where these class names live (OperationsStylesheetContractTest). */
.ops-app .skip{background:#0f0f10;color:#e8cf8a}
.ops-app .notice{background:#0b0b0c;color:#cfc8b6;border-bottom:1px solid rgba(255,255,255,.07)}
