:root{color-scheme:light}
html,body{margin:0}
[hidden]{display:none!important}
img{max-width:100%}

/* Layout: a calm two-column welcome portal. Left rail = the five steps and progress; right = one step at a time.
   Arbora brand system (paper, navy, orange accent only, sky secondary, Jost). */
:root{
  --paper:#F8F7F4; --surface:#FFFFFF; --field:#FFFFFF; --ink:#002E48; --text:#1F3442; --muted:#4A6170; --slate:#3D5A6C;
  --line:#E6E4DE; --line2:#D3DADF; --orange:#DF6351; --sky:#8DCAE6; --steel:#2E6A8E; --green:#3A9B6E; --tint:#EEF4F7;
  --navy:#002E48; --onNavy:#FFFFFF; --mist:#C9D6E2;
  --glow:radial-gradient(130% 180% at 50% 0%,rgb(23,71,97) 0%,#002E48 58%,rgb(0,27,42) 100%);
  --font:Jost,'Segoe UI',system-ui,-apple-system,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#00202F; --surface:#062B3F; --field:#04263A; --ink:#E6EDF2; --text:#D9E3EA; --muted:#A9BCC9; --slate:#A9BCC9;
  --line:#123A51; --line2:#1D4A63; --steel:#8DCAE6; --green:#5CC08F; --tint:#0A3349; --navy:#8DCAE6; --onNavy:#002E48; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#00202F; --surface:#062B3F; --field:#04263A; --ink:#E6EDF2; --text:#D9E3EA; --muted:#A9BCC9; --slate:#A9BCC9;
  --line:#123A51; --line2:#1D4A63; --steel:#8DCAE6; --green:#5CC08F; --tint:#0A3349; --navy:#8DCAE6; --onNavy:#002E48; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--text);font:300 16px/1.6 var(--font);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.k{font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--slate)}
h1,h2,h3{font-weight:300;color:var(--ink);margin:0;text-wrap:balance}

/* header band */
.band{background:var(--glow);color:#fff;position:relative;overflow:hidden}
.band .in{max-width:1080px;margin:0 auto;padding-block:18px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;align-items:center;gap:16px}
.band img{height:34px;width:auto;display:block}
.band .who{margin-left:auto;font-size:13px;color:var(--mist);text-align:right}
.band .who b{color:#fff;font-weight:400}
.seam{height:2px;background:#DF6351;position:relative}
.seam::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:#DF6351}

.wrap{max-width:1080px;margin:0 auto;padding-block:36px 80px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
  display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;align-items:start}
@media (max-width:820px){.wrap{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:22px 80px}}

/* step rail */
.rail{position:sticky;top:24px;display:flex;flex-direction:column;gap:6px}
.rail .k{margin-bottom:8px}
.st{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;border:0;background:none;text-align:left;cursor:pointer;color:var(--muted);font-size:15px}
.st:hover{background:var(--tint)}
.st .n{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;font-size:12px;font-weight:500;color:var(--steel);background:var(--surface)}
.st[aria-current="step"]{color:var(--ink);font-weight:400;background:var(--surface);box-shadow:0 0 0 1px var(--line)}
.st[aria-current="step"] .n{border-color:var(--orange);color:var(--orange)}
.st.done .n{background:var(--green);border-color:var(--green);color:#fff}
.st .opt{margin-left:auto;font-size:11px;color:var(--muted)}
.prog{margin-top:14px;font-size:13px;color:var(--muted)}
.bar{height:4px;border-radius:4px;background:var(--line);overflow:hidden;margin-top:6px}
.bar i{display:block;height:100%;background:var(--orange);transition:width .4s}
.saved{font-size:12.5px;color:var(--green);margin-top:10px}
.help{margin-top:22px;font-size:13.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.help b{display:block;color:var(--ink);font-weight:400}
.help span{user-select:all}
@media (max-width:820px){
  .rail{position:static;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
  .rail #rail{flex-direction:row;gap:4px}
  .rail .k,.rail .help,.rail .prog,.rail .saved{display:none}
  .st{flex:none;font-size:13.5px;padding:7px 10px}.st .opt{display:none}
}

/* step panel */
.panel{display:flex;flex-direction:column;gap:22px;min-width:0}
.panel>header{display:flex;flex-direction:column;gap:8px}
.panel h1{font-size:clamp(28px,4.2vw,40px);line-height:1.12;letter-spacing:-.01em}
.panel .lead{color:var(--muted);max-width:62ch;margin:0;font-size:17px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:14px}
.card.note{flex-direction:row;gap:18px;align-items:flex-start}
#rail{display:flex;flex-direction:column;gap:6px}
.note img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--sky)}
.note p{margin:0 0 8px;max-width:60ch}
.note .sig{color:var(--ink);font-weight:400;margin:0}
.video{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface)}
.video:hover{border-color:var(--sky)}
.video .th{flex:none;width:168px;max-width:40%;aspect-ratio:16/9;border-radius:10px;background:var(--glow);display:grid;place-items:center;position:relative;overflow:hidden}
.video .th::before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 80% 120%,transparent 0 14px,rgba(141,202,230,.18) 14px 15px)}
.video .play{width:40px;height:40px;border-radius:50%;background:#DF6351;display:grid;place-items:center;position:relative}
.video .play::after{content:"";border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:3px}
.video b{display:block;color:var(--ink);font-weight:400;font-size:16px}
.video span{font-size:13.5px;color:var(--muted)}
.plan{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.plan li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.plan b{display:block;color:var(--ink);font-weight:400}
.plan span{font-size:14px;color:var(--muted)}
.plan .k{display:block;margin-bottom:6px;color:var(--orange)}
@media (max-width:640px){.plan{grid-template-columns:minmax(0,1fr)}}

.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid .full{grid-column:1/-1}
@media (max-width:560px){.grid{grid-template-columns:minmax(0,1fr)}}
.fld{display:flex;flex-direction:column;gap:5px;min-width:0}
.fld>span{font-size:13px;color:var(--muted)}
.fld>span em{font-style:normal;color:var(--muted);opacity:.8}
.inp{width:100%;min-width:0;background:var(--field);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;font-size:16px;color:var(--ink)}
.inp:focus{outline:2px solid var(--sky);outline-offset:0;border-color:transparent}
.pre{font-size:12px;color:var(--steel);display:inline-flex;gap:6px;align-items:center}
.pre::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sky)}

.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.opt2{border:1px solid var(--line2);background:var(--surface);border-radius:12px;padding:14px 16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.opt2 b{font-weight:400;color:var(--ink)}
.opt2 span{font-size:13.5px;color:var(--muted)}
.opt2:hover{border-color:var(--steel)}
.opt2[aria-pressed="true"]{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange) inset}

.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;counter-reset:s}
.steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line);counter-increment:s}
.steps li:first-child{border-top:0}
.steps li::before{content:counter(s);width:28px;height:28px;border-radius:50%;background:var(--tint);color:var(--steel);display:grid;place-items:center;font-size:13px;font-weight:500}
.steps b{color:var(--ink);font-weight:400}
.steps p{margin:2px 0 0;font-size:14.5px;color:var(--muted)}
.steps code{font-family:inherit;background:var(--tint);color:var(--ink);padding:1px 6px;border-radius:6px}
.check{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:15px;color:var(--ink)}
.check input{width:20px;height:20px;accent-color:var(--green)}
.callout{background:var(--tint);border-radius:12px;padding:12px 16px;font-size:14.5px;color:var(--text)}
.callout b{font-weight:500;color:var(--ink)}

/* people */
.ppl{width:100%;border-collapse:collapse}
.ppl th{text-align:left;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);padding:0 8px 8px 0}
.ppl td{padding:5px 8px 5px 0;vertical-align:middle}
.ppl .inp{padding:8px 10px;font-size:15px}
.ppl .x{border:0;background:none;color:var(--muted);cursor:pointer;font-size:20px;line-height:1;padding:4px}
.tblw{overflow-x:auto}
.ppl{min-width:560px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.row .grow{flex:1}

/* accounts */
.acct{border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.acct summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px 16px}
.acct summary::-webkit-details-marker{display:none}
.acct summary b{font-weight:400;color:var(--ink);flex:1}
.acct summary .st2{font-size:12.5px;color:var(--muted)}
.acct summary .st2.ok{color:var(--green)}
.acct summary::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
.acct[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.acct .body{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}
.vault{border:1px dashed var(--line2);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.vault .lock{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.vault .lock svg{flex:none;width:18px;height:18px;margin-top:2px;color:var(--green)}
.sealed{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--green);font-weight:400}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line2);background:var(--surface);color:var(--ink);border-radius:999px;padding:10px 20px;cursor:pointer;font-size:15px;font-weight:400;text-decoration:none}
.btn:hover{border-color:var(--steel)}
.btn.pri{background:var(--navy);border-color:var(--navy);color:var(--onNavy);font-weight:500}
.btn.pri:hover{filter:brightness(1.08)}
.btn.link{border-color:transparent;background:none;color:var(--steel);padding-inline:6px}
.btn.link:hover{color:var(--orange)}
.btn.sm{padding:6px 14px;font-size:14px}
.nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}
.nav .grow{flex:1}
.nav .later{font-size:14px}

/* review */
.rev{list-style:none;margin:0;padding:0}
.rev li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.rev li:first-child{border-top:0}
.rev .ic{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:12px;color:#fff;background:var(--green)}
.rev .ic.later{background:var(--line2);color:var(--muted)}
.rev b{font-weight:400;color:var(--ink);flex:1}
.rev span{font-size:13.5px;color:var(--muted)}
.done{text-align:left}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);margin-left:6px}
.timeline li{position:relative;padding:0 0 18px 22px}
.timeline li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--sky)}
.timeline li:first-child::before{background:var(--orange);border-color:var(--orange)}
.timeline b{display:block;color:var(--ink);font-weight:400}
.timeline span{font-size:14.5px;color:var(--muted)}

/* confirm-first pieces */
.from{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--steel);font-weight:400;letter-spacing:0;text-transform:none}
.from::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sky)}
.ch{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.ch>div:first-child{flex:1;min-width:180px;display:flex;flex-direction:column;gap:4px}
.cb{display:flex;align-items:center;gap:6px}
.okt{color:var(--green);font-size:14px;font-weight:400}
.card.okc{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}
.sum{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;margin:0}
.sum dt{font-size:13px;color:var(--muted)}
.sum dd{margin:0;color:var(--ink);font-weight:400;min-width:0;overflow-wrap:anywhere}
@media (max-width:520px){.sum{grid-template-columns:minmax(0,1fr);gap:2px}.sum dd{margin-bottom:8px}}
.miss{color:var(--muted);font-weight:300;font-size:14px}
.ppl2{list-style:none;margin:0;padding:0}
.ppl2 li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.4fr) auto;gap:4px 14px;padding:9px 0;border-top:1px solid var(--line);align-items:baseline}
.ppl2 li:first-child{border-top:0}
.ppl2 b{font-weight:400;color:var(--ink)}
.ppl2 span{font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.ppl2 .dev{font-size:12px;color:var(--steel)}
@media (max-width:620px){.ppl2 li{grid-template-columns:minmax(0,1fr) auto}.ppl2 li span:nth-of-type(2){grid-column:1/-1}}
.tasks{list-style:none;margin:0;padding:0;counter-reset:t}
.tasks li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:2px 12px;padding:11px 0;border-top:1px solid var(--line);counter-increment:t}
.tasks li:first-child{border-top:0}
.tasks li::before{content:counter(t);grid-row:1/3;width:26px;height:26px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;font-size:12px;font-weight:500;color:var(--steel)}
.tasks b{font-weight:400;color:var(--ink)}
.tasks span{grid-column:2;font-size:14.5px;color:var(--muted)}
.tasks em{grid-column:3;grid-row:1;font-style:normal;font-size:13px;color:var(--steel);white-space:nowrap}
.need{background:var(--tint);border-radius:10px;padding:10px 14px;font-size:14.5px}
.need b{font-weight:500;color:var(--ink)}
.mail{user-select:all;color:var(--ink);font-weight:400;background:var(--tint);padding:1px 6px;border-radius:6px}
.vault summary{cursor:pointer;color:var(--steel);font-size:14.5px;list-style:none}
.vault summary::-webkit-details-marker{display:none}
.vault[open] summary{margin-bottom:10px}
.vault .vb{display:flex;flex-direction:column;gap:10px}
.st .nm{flex:1}
.st .opt{margin-left:auto;font-size:11.5px;color:var(--muted);white-space:nowrap}


.video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#002E48}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ns{font-size:12.5px;color:var(--muted)}
.mt8{margin-top:8px}.self-start{align-self:flex-start}
.adminrow{margin-top:10px}
.adminrow .inp{flex:1;min-width:200px}
.gone{max-width:560px;margin:10vh auto;text-align:center;display:flex;flex-direction:column;gap:14px;padding-inline:16px}
.lnk{color:var(--steel);font-size:14.5px;cursor:pointer}
.err{color:#C23B33;font-size:13.5px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
