/* Existing Brama Boru identity, forest palette and accepted green parchment. */
@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/a28b7e319024809f.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/7048add3bf7c79c5.woff2') format('woff2');unicode-range:U+0100-02BA,U+0304,U+0308,U+0329,U+2000-206F,U+20A0-20AB}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/3ed39130134b7f51.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/30893fb892fbfd91.woff2') format('woff2');unicode-range:U+0100-02BA,U+0304,U+0308,U+0329,U+2000-206F,U+20A0-20AB}
:root{color-scheme:dark;--ink:#e8e5cc;--muted:#b4bfab;--gold:#d7ba79;--line:#a48b515c;--deep:#0d1814;--serif:'Cormorant Garamond',Georgia,serif;--grain:url('/assets/green-paper-subtle-CpoEEGqz.svg');font:15px/1.7 Inter,Arial,sans-serif;color:var(--ink);background:var(--deep);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;background:linear-gradient(0deg,var(--deep) 10%,#0d1814df 75%,#0d1814bf),url('/portal/hero-768.webp') center top/100% auto no-repeat,var(--deep)}
a{color:var(--gold);text-underline-offset:4px}a:hover{color:#f1d99e}a,button,input,textarea,summary{touch-action:manipulation}:focus-visible{outline:2px solid #eed99b;outline-offset:4px}
button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:600;line-height:1.12;color:#efdfb6}h1{font-size:clamp(38px,5.5vw,60px);letter-spacing:-.7px}h2{font-size:30px}p{color:var(--muted)}p+p{margin-top:12px}
.companion-skip{position:fixed;top:-100px;left:16px;z-index:2;background:#213526;padding:12px}.companion-skip:focus{top:10px}
.companion-header{max-width:1160px;min-height:92px;margin:auto;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.companion-brand{display:inline-flex;align-items:center;min-height:44px}.companion-brand img{display:block;width:180px;max-width:100%;height:auto}.companion-back{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:13px;text-decoration:none}
.companion-shell{max-width:1160px;margin:auto;padding:44px 40px 64px}.companion-heading{max-width:690px;margin-bottom:32px}.companion-eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:var(--gold);text-transform:uppercase}.companion-heading h1{margin:12px 0 16px}.companion-heading>p:last-child{max-width:590px;font-size:16px;line-height:1.8}
.companion-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:40px;align-items:start}.companion-notes{padding-top:4px}.companion-notes h2{font-size:28px;margin-bottom:18px}
.companion-steps{list-style:none;padding:0;margin:0;counter-reset:steps}.companion-steps li{position:relative;padding:0 0 24px 42px;counter-increment:steps;color:var(--muted);font-size:13px}.companion-steps li:before{content:'0' counter(steps);position:absolute;left:0;top:1px;color:var(--gold);font:600 21px/1.3 var(--serif)}.companion-steps strong{display:block;margin-bottom:4px;font-size:14px;font-weight:600;color:var(--ink)}
.companion-warning{padding:16px 18px;border-left:2px solid #b47e64;background:#76513d14;font-size:13px;color:#d9bfaa}.companion-warning strong{color:#e9c9ae}.companion-retention{margin-top:24px;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:var(--muted)}.companion-retention summary{cursor:pointer;color:var(--gold);min-height:44px;display:flex;align-items:center;gap:12px;list-style:none}.companion-retention summary::-webkit-details-marker{display:none}.companion-retention summary:after{content:'+';margin-left:auto}.companion-retention[open] summary:after{content:'−'}.companion-retention p{padding-top:8px}
.companion-card{position:relative;border:1px solid #a48b517a;padding:30px;background-image:var(--grain),radial-gradient(ellipse at 48% 38%,#79845413,transparent 78%),linear-gradient(130deg,#263c2b,#172d21);background-size:64px 64px,auto,auto;box-shadow:inset 28px 0 34px -29px #000b,inset -28px 0 34px -29px #000b,0 16px 48px #0004}
.companion-card:before,.companion-card:after{content:'';position:absolute;top:-4px;left:14px;width:7px;height:7px;transform:rotate(45deg);background:#233728;border:1px solid var(--gold)}.companion-card:after{left:auto;right:14px}.companion-card>h2{margin-bottom:8px}.companion-card-intro{font-size:13px;margin-bottom:24px}
.companion-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.companion-field{display:block;min-width:0;font-size:12px;font-weight:600;color:#d3d9c7}.companion-field-wide{grid-column:1/-1}.companion-field input,.companion-field textarea{display:block;width:100%;min-height:46px;margin-top:7px;padding:11px 12px;border:1px solid #97a18666;border-radius:3px;background:#091810a8;color:var(--ink);font-size:16px;font-weight:400;line-height:1.6}.companion-field textarea{resize:vertical;min-height:136px}.companion-field :is(input,textarea):focus{border-color:var(--gold)}.companion-field :is(input,textarea):disabled{opacity:.7}
.companion-consent{display:flex;align-items:flex-start;gap:12px;margin:22px 0;min-height:44px;font-size:12px;line-height:1.8;color:#c9d1bc;cursor:pointer}.companion-consent input{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:#cbb478}
.companion-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 20px;border:1px solid #dfc38b;border-radius:3px;background:linear-gradient(110deg,#d1b476,#a18a52);color:#172015;font-size:13px;font-weight:600;text-align:center;text-decoration:none;line-height:1.6;box-shadow:0 4px 16px #0002}.companion-button:hover{filter:brightness(1.1);color:#172015}.companion-button-danger{width:100%;background:linear-gradient(110deg,#654336,#473128);color:#f0dac0;border-color:#ae8266}.companion-button-danger:hover{color:#fff0d9}.companion-button-secondary{background:#15291e;border-color:#69775b;color:#e5d7b3;box-shadow:none}.companion-button-secondary:hover{color:#f1d99e}
.companion-status{font-size:13px;overflow-wrap:anywhere;scroll-margin:28px}.companion-status:not(:empty){margin-top:18px;padding:14px 16px;border:1px solid #9bac7470;background:#13291a;color:#e1e8cb}.companion-status[data-state=error]{border-color:#b47e64;color:#efc1ac;background:#3d2a2170}.companion-status:focus{outline:2px solid var(--gold);outline-offset:3px}.companion-honey{display:none}
.companion-help{font-size:12px;line-height:1.9;margin-top:20px;overflow-wrap:anywhere}.companion-footer{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;padding:24px 0 32px;border-top:1px solid var(--line);font-size:11px;color:#99a58e}.companion-footer nav{display:flex;flex-wrap:wrap;gap:12px 24px}.companion-footer a{color:#bec7b0}
.companion-centered{max-width:690px;margin:7vh auto 10vh;text-align:center}.companion-centered .companion-eyebrow{margin-bottom:14px}.companion-centered h1{font-size:clamp(34px,5vw,48px);margin-bottom:20px}.companion-centered p{max-width:490px;margin-inline:auto;font-size:14px}.companion-centered .companion-button{margin-top:28px}.companion-emblem{width:70px;height:70px;margin:0 auto 28px;display:grid;place-items:center;border:1px solid var(--line);transform:rotate(45deg);background:#12261b}.companion-emblem svg{width:34px;height:34px;transform:rotate(-45deg);fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.companion-centered .companion-footnote{margin-top:22px;font-size:12px;color:#a6b198}
@media(max-width:760px){.companion-header{padding:14px 24px;min-height:78px}.companion-brand img{width:150px}.companion-shell{padding:30px 24px 40px}.companion-layout{grid-template-columns:1fr;gap:28px}.companion-heading{margin-bottom:26px}.companion-heading>p:last-child{font-size:14px}.companion-steps li{padding-bottom:18px}.companion-notes{padding:0;order:2}.companion-retention{margin-top:16px}.companion-card{padding:26px 24px}.companion-footer{margin-inline:24px;padding-block:20px 28px}.companion-centered{margin:5vh auto}.companion-centered.companion-card{padding-block:38px}}
@media(max-width:420px){.companion-header{padding-inline:18px;gap:14px}.companion-brand img{width:130px}.companion-back{font-size:12px;gap:7px}.companion-shell{padding-inline:18px}.companion-fields{grid-template-columns:1fr}.companion-card{padding:24px 20px}.companion-footer{margin-inline:18px}.companion-button{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}
/* Account confirmation keeps the same forest card and uses native form semantics. */
.companion-shell [hidden]{display:none!important}.companion-erasure{margin-bottom:40px}#erase-characters{padding-left:22px;color:var(--cream)}#erase-confirm>button{margin-top:16px}button.companion-back{background:none;border:0;color:inherit;cursor:pointer;padding:12px 18px}#erase-verify>.companion-button{margin-top:18px}
