/* Material details share the palette in professional.css; brand colors stay local. */
.hero-product::before {
  inset: -13% -17% -6%;
  background: repeating-radial-gradient(ellipse at 76% 37%, transparent 0 60px, #d0a36c0d 61px 62px, transparent 63px 103px), radial-gradient(ellipse at 60% 45%, #aa71372b, transparent 65%);
  transform: rotate(-10deg);
}
.hero-product .mmi { opacity:.8; }
.hero-product-label { font-family:var(--body); font-size:.75rem; letter-spacing:.015em; }
.hero-screen { border-color:#b58b5866; box-shadow:0 35px 80px -24px #000c,0 0 0 1px #e3bb7210,inset 0 1px #f7d5a526; }
.hero-miniatures a { transition:border-color .2s,box-shadow .2s; }
.hero-miniatures a:hover { border-color:#cba97288; box-shadow:0 15px 40px #0008; }
.hero-rail { max-width:100%; }
.hero-dock { position:relative; display:flex; align-items:center; gap:1rem; margin:1.4rem 0 0 9%; padding:1.1rem 0 0; border-top:1px solid var(--line); }
.hero-dock-label { flex:1; color:var(--muted); font-size:.67rem; line-height:1.5; max-width:12ch; }
.hero-dock-apps { display:flex; gap:.5rem; }
.hero-dock-apps a { --app-color:#cba972; position:relative; display:grid; place-items:center; width:43px; height:43px; padding:9px; background:linear-gradient(145deg,#faf8f4,#d9d6d2); border:1px solid #fff7; border-radius:12px; box-shadow:0 5px 9px #0004,inset 0 1px #fff; transition:transform .22s var(--ease),box-shadow .22s; }
.hero-dock-apps img { width:100%; height:100%; object-fit:contain; }
.hero-dock-apps a:hover,.hero-dock-apps a:focus-visible { transform:translateY(-5px); box-shadow:0 10px 22px #0008,0 0 18px color-mix(in srgb,var(--app-color) 28%,transparent); }
.hero-dock-apps a span { position:absolute; bottom:calc(100% + 12px); left:50%; transform:translateX(-50%); padding:.35rem .6rem; color:var(--text); background:#261c14; border:1px solid var(--line); border-radius:5px; font-size:.65rem; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .15s; }
.hero-dock-apps a:hover span,.hero-dock-apps a:focus-visible span { opacity:1; }
.hero-dock-apps a[data-tool-select=claude] { --app-color:#d97757; }
.hero-dock-apps a[data-tool-select=python] { --app-color:#ffd343; }
.hero-dock-apps a[data-tool-select=slack] { --app-color:#e01e5a; }
.hero-dock-apps a[data-tool-select=xcode] { --app-color:#49a9f8; }

/* The sample screen and resource browser read as one instrument. */
.professional-screen { border-color:#b58e594f; background:#19120e; box-shadow:0 35px 75px -35px #000,inset 0 1px #fff1; }
.screen-bar { background:linear-gradient(110deg,#3a2c20,#251c16); padding-block:1rem; }
.screen-bar>span:first-child { display:flex; align-items:center; gap:.65rem; }
.screen-bar>span:first-child::before { content:""; width:6px; height:6px; flex:none; border-radius:50%; background:var(--accent); box-shadow:11px 0 #cba97255,22px 0 #cba9722a; margin-right:22px; }
.resource-workbench { box-shadow:0 22px 60px -38px #000; }
.resource-heading { background:linear-gradient(110deg,#403023,#251c1680); }
.resource-tabs button { display:flex; align-items:center; gap:.8rem; }
.resource-icon { width:19px; height:19px; flex:none; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; color:var(--accent); }
.resource-tabs button[aria-selected=true] .resource-icon { color:var(--accent-bright); }
.resource-tabs button:hover { color:var(--text); background:#cba9720c; }
.resource-links a { padding:1rem; border:1px solid var(--line-soft); border-radius:5px; background:linear-gradient(120deg,#3c2d1b33,transparent); transition:background .2s,border-color .2s; }
.resource-links a:hover { background:#cba9720a; border-color:var(--line); }

/* Repeated surfaces have a shared light direction without flattening the sections. */
.repo,.desk,.doct,.prin { border-radius:9px; box-shadow:inset 0 1px #fce4bd09,0 20px 45px -35px #000b; }
.repo { background:linear-gradient(145deg,#34281e,#241b15 60%); }
.repo .rurl { align-items:center; }
.repo .rurl>span:first-child { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.repo .rurl img { width:19px; height:19px; object-fit:contain; background:#eee9e1; padding:2px; border-radius:50%; flex:none; }
.tool-row .titem { padding:.45rem .6rem; background:#cba97209; border:1px solid var(--line); border-radius:7px; }
.tool-row .titem .brand-mark { width:22px; height:22px; padding:3px; background:#eee9e1; border-radius:5px; object-fit:contain; flex:none; }
.cpill .brand-mark { display:inline-block; width:17px; height:17px; padding:2px; margin-right:.4rem; vertical-align:-4px; object-fit:contain; background:#eee9e1; border-radius:4px; }
#arch { background-image:radial-gradient(ellipse at 100% 45%,#7c4e292e,transparent 58%),linear-gradient(125deg,#241b15,#1c1612); }
#operation { background-image:radial-gradient(ellipse at 0 100%,#85552f17,transparent 65%),linear-gradient(130deg,#1b1510,#241b14); }
#ledger { background-image:radial-gradient(ellipse at 85% 15%,#7452331c,transparent 60%),linear-gradient(145deg,#241b15,#1b1410); }
#operator { background-image:radial-gradient(ellipse at 0 25%,#91613b29,transparent 60%),linear-gradient(120deg,#251b14,#18120f); }
#selected-work { background-image:radial-gradient(ellipse at 95% 55%,#64435424,transparent 55%),linear-gradient(135deg,#2c2118,#1f1712); }
#native { background-image:radial-gradient(ellipse at 85% 45%,#a34b4820,transparent 55%),linear-gradient(125deg,#281d17,#1d1511); }
.flow .stop { border-radius:5px; }
.flow .stop[aria-pressed=true] { background:linear-gradient(160deg,#a9793420,#3b2d201a); }
.flow-explanation { background:linear-gradient(105deg,#30221980,transparent); padding:1.4rem; border-radius:7px; }
.schedule-panel { border-color:#b0906355; box-shadow:0 28px 60px -35px #000,inset 0 1px #e7c18917; }
.schedule-track { border-color:#cba97233; }

/* Career marks sit with career context, separate from independent project tooling. */
.career-brands { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; margin-bottom:3.3rem; }
.career-brand { --career-tint:#b0b3bc; display:flex; flex-direction:column; align-items:flex-start; position:relative; overflow:hidden; padding:1.5rem; border:1px solid var(--line); border-radius:10px; background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--career-tint) 10%,transparent),transparent 70%),linear-gradient(140deg,#34281e,#221913); box-shadow:inset 0 1px #fff1; }
.career-brand[data-company=coinbase] { --career-tint:#5789ff; }
.career-brand[data-company=cantor] { --career-tint:#d84157; }
.career-brand-label { font-size:.65rem; color:var(--muted); margin-bottom:1rem; }
.company-plaque { display:flex; align-items:center; justify-content:flex-start; width:100%; height:55px; margin-bottom:1.2rem; }
.company-plaque img { width:auto; max-width:185px; max-height:33px; object-fit:contain; }
.career-brand[data-company=morgan-stanley] .company-plaque { padding:12px; width:200px; max-width:100%; background:#f5f3ef; border-radius:5px; }
.career-brand[data-company=morgan-stanley] .company-plaque img { width:100%; max-height:30px; }
.career-brand h3 { font:400 1.25rem/1.3 var(--display); color:var(--text); margin-bottom:.5rem; }
.career-brand p { color:var(--muted); font-size:.76rem; line-height:1.7; max-width:38ch; }
.company-context { display:inline-flex; align-items:center; gap:.5rem; margin-top:auto; padding-top:1.1rem; font-size:.64rem; color:var(--muted); }
.company-context img { width:auto; max-width:48px; height:14px; object-fit:contain; }
.career-brands-note { margin:-2rem 0 2.7rem; font-size:.68rem; color:var(--muted); }
.about-portrait figure { border-radius:12px; box-shadow:0 25px 70px -35px #000,0 0 0 7px #cba97208; }
.career li { grid-template-columns:90px minmax(0,1fr); gap:1.2rem; padding:1.3rem .7rem 1.3rem 0; }
.career .yrs { color:var(--accent-detail); }
.career .role { position:relative; padding-left:1.2rem; border-left:1px solid var(--line); }
.career .role::before { content:""; position:absolute; top:.4rem; left:-4px; width:7px; height:7px; border-radius:50%; background:#73573b; box-shadow:0 0 0 4px #241b14; }
.career .career-highlight { background:linear-gradient(90deg,#75604d0b,#a9886620); border-radius:7px; }
.career-highlight .role::before { background:var(--accent-bright); }
.career .career-mark { display:flex; align-items:center; gap:.6rem; margin-bottom:.45rem; }
.career .career-mark img { position:static; width:25px; height:25px; object-fit:contain; border-radius:6px; padding:3px; background:#f1ede6; filter:none; }
.career-filter { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.25rem 0 -1.2rem; }
.career-filter[hidden] { display:none; }
.career-filter button { background:transparent; border:1px solid var(--line); border-radius:99px; padding:.6rem .85rem; min-height:40px; color:var(--muted); cursor:pointer; font:400 .72rem var(--body); }
.career-filter button[aria-pressed=true] { color:var(--accent-bright); background:#cba97217; border-color:#cba97280; }
.career li[hidden] { display:none; }
.career-status { color:var(--muted); font-size:.65rem; margin-top:-1.1rem; }

.work-tabs button { display:flex; align-items:center; gap:.5rem; }
.work-tab-icon { display:inline-grid; place-items:center; width:27px; height:27px; border-radius:7px; background:#d1b68518; color:#d8b975; }
.work-tab-icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; }
#work-tab-forge .work-tab-icon { background:#5d8bc222; color:#9fbee0; }
#work-tab-music .work-tab-icon { background:#f7616b22; color:#ff8593; }
#work-tab-music[aria-selected=true] { color:#ff9ba3; }
#work-tab-music[aria-selected=true]::after { background:#f87884; }
#work-tab-forge[aria-selected=true] { color:#a7c1df; }
#work-tab-forge[aria-selected=true]::after { background:#7aa2d1; }
#work-music .work-image { border-color:#ca596b66; }
#work-forge .work-image { border-color:#7094c466; }
.work-image,.cw-shot { box-shadow:0 25px 55px -25px #000b; }
.native-platforms { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; margin:0 0 1.5rem; }
.native-platforms span { display:inline-flex; align-items:center; gap:.5rem; font-size:.72rem; color:var(--legible); }
.native-platforms img { width:28px; height:28px; object-fit:contain; }
.native-platforms span+span { padding-left:.75rem; border-left:1px solid var(--line); }
.contact { border-top:1px solid var(--line); }
@media (min-width:901px) { .hero-inner { min-height:820px; } }
@media (max-width:1100px) { .hero-dock { gap:.6rem; margin-left:0; }.hero-dock-apps { gap:.35rem; }.hero-dock-apps a { width:38px; height:38px; padding:8px; }.career-brand { padding:1.2rem; }.career-brand h3 { font-size:1.1rem; } }
@media (max-width:900px) { .hero-dock { margin-left:9%; }.hero-dock-apps a { width:43px; height:43px; }.hero-dock-apps { gap:.6rem; }.career-brands { gap:.7rem; }.company-plaque img { max-width:150px; } }
@media (max-width:600px) {
  .hero-product::before { inset:-5% -8%; }.hero-dock { margin-left:0; gap:.6rem; }.hero-dock-label { font-size:.61rem; }.hero-dock-apps { gap:.4rem; }.hero-dock-apps a { width:35px; height:35px; padding:7px; border-radius:9px; }
  .hero-rail { font-size:.55rem; }.resource-tabs button { gap:.5rem; }.resource-icon { width:17px; height:17px; }.screen-bar { font-size:.51rem; }.screen-bar>span:first-child::before { margin-right:5px; box-shadow:none; }
  .career-brands { grid-template-columns:1fr; gap:.75rem; margin-bottom:2.7rem; }.career-brand { padding:1.3rem; display:grid; grid-template-columns:1fr 1.05fr; column-gap:1.2rem; }.career-brand-label { grid-column:1/-1; margin-bottom:.75rem; }.company-plaque { grid-column:1; grid-row:2/4; align-self:center; margin:0; height:46px; }.company-plaque img { max-width:130px; max-height:28px; }.career-brand h3,.career-brand>p { grid-column:2; }.company-context { grid-column:1/-1; padding-top:.65rem; }.career-brands-note { margin-top:-1.5rem; }.career li { grid-template-columns:65px minmax(0,1fr); gap:.7rem; }.career .yrs { font-size:.6rem; }.career .role { padding-left:.9rem; }.career-filter { gap:.35rem; }.career-filter button { font-size:.66rem; padding:.55rem .65rem; }.work-tabs button { padding-inline:.6rem; gap:.4rem; font-size:.73rem; }.work-tabs button:first-child { padding-right:.7rem; }.work-tab-icon { width:24px; height:24px; }
}
@media (max-width:370px) { .hero-dock { display:block; }.hero-dock-label { max-width:none; margin-bottom:.7rem; }.career-brand { display:flex; }.company-plaque { margin-bottom:.8rem; }.work-tabs button { font-size:.65rem; } }
@media (prefers-reduced-motion:reduce) { .hero-dock-apps a { transition:none; }.hero-dock-apps a:hover,.hero-dock-apps a:focus-visible { transform:none; } }
@media print { .hero-dock,.career-filter { display:none!important; }.career-brands { break-inside:avoid; }.career-brand { background:#fff; box-shadow:none; }.career-brand h3,.career-brand p { color:#222; }.career li[hidden] { display:grid; } }
.brand-mark { display:inline-block; width:18px; height:18px; object-fit:contain; vertical-align:-3px; flex:none; }
.career-brand[data-company=cantor] .company-plaque { padding:7px 12px; width:180px; max-width:100%; background:#fff; border-radius:5px; }
.career-brand[data-company=cantor] .company-plaque img { width:100%; max-height:40px; }
.career .career-mark img[src*="morgan-stanley"],.career .career-mark img[src*="cantor-fitzgerald"] { width:70px; height:29px; padding:5px; border-radius:4px; }
.hero-miniatures img { aspect-ratio:2/1; max-height:120px; }
.career-brand[data-company=coinbase] .company-plaque { padding:12px; width:180px; max-width:100%; background:#f5f3ef; border-radius:5px; }
.career-brand[data-company=coinbase] .company-plaque img { width:100%; max-height:30px; }
.career .career-mark img[src*="coinbase"] { width:70px; height:29px; padding:5px; border-radius:4px; }
@media (min-width:371px) and (max-width:600px) {
  .career-brand { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); }
  .career-brand[data-company] .company-plaque { width:100%; padding:9px; }
  .career-brand[data-company] .company-plaque img { max-width:100%; height:auto; }
}
/* Supporting text is for portfolio readers, so it shares the body face and normal spacing. */
.eyebrow,.hero-kicker .eyebrow,.hero-rail,.status-chip,.scroll-cue,
.counter .lab,.inv .k,.rstat .k,.repo .use .u,.repo-links a,
.tool-row .tcap,.cpill,.desk .status,.desk .pill,.desk .open-desk,
.prin .n,.doct .n,.doct .why b,.specs .cap,.shelf-more .cap,.proj .tag,
.about-portrait figcaption,.app .st,.fchip,.ctrl-table th,.econ-table th,.val-table th,.reg-table th,
.cw-kicker,.cw-eyebrow,.cw-pre,.cw-lead-head .cw-seam,.devices figcaption,
.contact-row a,.chain .cap,.tl-now .ncap,.tl-row.next .body .t::after {
  text-transform:none; letter-spacing:.015em; font-family:var(--body);
}
.hero-kicker .eyebrow { font-size:.81rem; max-width:39ch; line-height:1.6; letter-spacing:.035em; }
.hero-rail { font-size:.75rem; line-height:1.7; gap:.45rem 1.15rem; }
.hero-rail span { padding-left:0; }
.status-chip { font-size:.74rem; padding:.6rem .85rem; }
.career-strip { font-size:.77rem; }
.pbar,.plate figcaption,.cw-cap,.cw-context,.cw-kicker,.cw-eyebrow,.cw-lead-head .cw-seam,
.cw-card-skills li,.cw-facts,.lb .sys,.lb .cap,.lb .cnt,.method-note,.sample-note,
.hero-product-note,.hero-dock-label,.work-display figcaption,.native-stage .devices figcaption {
  font-size:.77rem; line-height:1.7; letter-spacing:0;
}
.counter .lab,.inv .k,.rstat .k,.repo .use .u,.desk .status,.desk .pill,.desk .open-desk,
.prin .n,.doct .n,.doct .why b,.specs .cap,.shelf-more .cap,.proj .tag,.cpill,
.tool-row .tcap,.app .st,.app .facts span,.ship .when,.econ-aside .cap,.valeng .tier .k,
.ctrl-table th,.econ-table th,.val-table th,.reg-table th,.reg-table td.dk {
  font-size:.74rem; line-height:1.6; letter-spacing:.01em;
}
.tl-row .body .id,.desk .roster,.spec .nm,.spec .st,.shelf-more .idx,.eq .from,.eq .basis,
.agents .aid,.agents .cad,.reg-table td.id,.reg-table td.cd,.career .yrs,.tool-row .titem,.repo .rurl,
.schedule-top,.schedule-time,.schedule-detail code,.schedule-detail dl div,.schedule-caption,.schedule-caveat,
.schedule-choice-label,#schedule-choice,.resource-heading p,.resource-footer,.resource-links small {
  font-size:.77rem; letter-spacing:0; line-height:1.7;
}
.schedule-hours { font-size:.7rem; letter-spacing:0; }
.schedule-panel h3 { margin-bottom:1.4rem; }
.tl-row .body .id { display:block; margin:.3rem 0 0; }
.career-status,.career-brands-note,.career-brand-label,.company-context,.hero-product-label { font-size:.75rem; }
.hero-dock-label { max-width:13ch; }
.cw-tab,.fchip { font-size:.75rem; letter-spacing:0; text-transform:none; }
.btn,.repo-links a { text-transform:none; letter-spacing:.02em; font-size:.8rem; }
.rail .lbl { font-size:.68rem; letter-spacing:.02em; text-transform:none; }
footer .colophon .versions,footer .stamp { font-size:.74rem; letter-spacing:0; }
@media(max-width:600px) {
 .hero-kicker .eyebrow { font-size:.73rem; }.hero-rail { font-size:.72rem; }.status-chip { font-size:.69rem; }.career-strip { font-size:.73rem; }.hero-product-note { font-size:.73rem; }
 .hero-dock { flex-wrap:wrap; gap:.85rem; }.hero-dock-label { max-width:none; flex-basis:100%; }.hero-dock-apps { justify-content:space-between; width:100%; gap:.5rem; }.hero-dock-apps a { width:42px; height:42px; padding:9px; }
 .career .yrs { font-size:.7rem; }.career li { grid-template-columns:72px minmax(0,1fr); }.career-brand-label,.company-context,.career-brands-note { font-size:.72rem; }
 .repo .rurl { flex-wrap:wrap; }.repo .rurl>span:first-child { overflow-wrap:anywhere; }.hero h1 { margin-bottom:1.5rem; }
 .resource-footer,.resource-links small { font-size:.74rem; }.schedule-top,.schedule-caption,.schedule-caveat { font-size:.74rem; }.app .st { white-space:normal; }
 .pbar { flex-wrap:wrap; gap:.25rem .6rem; }.plate figcaption { flex-wrap:wrap; }.cw-cap { font-size:.73rem; }.cw-cap>span:last-child { white-space:nowrap; }
}
.plate.wide[data-cat="fleet"] .pimg { aspect-ratio:16/10; }
.plate[data-cat="fleet"] .pimg,
.plate[data-cat="fleet"] .pimg img { background:#211b15; }
.plate[data-cat="fleet"] .pimg img { filter:none; }
.plate[data-cat="fleet"] .pimg::after { display:none; }
