/* Desktop portfolio. Independent of the retired desktop concept styles. */
body[data-concept="desktop"] {
  --desktop-ui: var(--portfolio-ui);
  --desktop-ink: var(--portfolio-ink);
  --desktop-muted: var(--portfolio-muted);
  --desktop-blue: var(--portfolio-blue);
  --glass: rgba(255,255,255,.60);
  --widget-shadow: 0 10px 32px rgba(29,38,58,.075), 0 2px 7px rgba(29,38,58,.025);
  font-family: var(--desktop-ui);
  color: var(--desktop-ink);
  background: #f4f6f8;
  -webkit-font-smoothing: auto;
}

body[data-concept="desktop"] .concept-picker { display:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ui-icon { display:inline-block; flex:none; width:24px; height:24px; vertical-align:middle; }
.app-icon { display:block; object-fit:contain; user-select:none; pointer-events:none; }
.desktop-home { height:100dvh; min-height:660px; overflow:hidden; }
.desktop-skip { position:fixed; top:50px; left:20px; z-index:100; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); border-radius:10px; background:white; }
.desktop-skip:focus { width:auto; height:auto; padding:12px 18px; clip-path:none; }
.desktop-topbar { position:relative; z-index:20; display:flex; align-items:center; gap:18px; height:32px; padding:0 20px; background:rgba(255,255,255,.34); border-bottom:1px solid rgba(0,0,0,.07); backdrop-filter:blur(28px) saturate(1.3); color:#30333a; font-size:13px; }
.desktop-topbar__identity { display:flex; align-items:center; height:100%; gap:19px; white-space:nowrap; }
.desktop-monogram { display:inline-flex; align-items:center; justify-content:center; height:100%; font-size:20px; line-height:1; font-weight:750; letter-spacing:-.08em; translate:0 -1px; }
.desktop-menu { display:flex; height:100%; align-items:stretch; gap:5px; }
.desktop-menu button { border:0; background:transparent; padding:0 8px; color:inherit; cursor:pointer; font-size:13px; }
.desktop-menu button:hover { background:rgba(0,0,0,.045); }
.desktop-status { display:flex; align-items:center; gap:13px; margin-left:auto; white-space:nowrap; font-variant-numeric:tabular-nums; }
.desktop-status__city { display:flex; align-items:center; gap:5px; font-size:13px; }
.desktop-status__city .ui-icon { width:15px; height:15px; }
.desktop-status time { font-size:13px; }
.desktop-status time[data-clock] { font-weight:600; }
.menubar-control { display:grid; place-items:center; width:30px; height:28px; border:0; border-radius:7px; background:transparent; color:inherit; cursor:pointer; }
.menubar-control:hover { background:rgba(0,0,0,.06); }
.menubar-control .ui-icon { width:19px; height:19px; }
.desktop-controls { position:fixed; inset:40px 20px auto auto; width:285px; margin:0; padding:20px; border:1px solid white; border-radius:18px; color:#303944; background:rgba(247,249,253,.94); box-shadow:0 12px 45px #22304725; backdrop-filter:blur(24px); font-size:15px; }
.desktop-controls p { font-size:14px; line-height:1.5; color:#626974; }
.desktop-controls button { display:flex; gap:9px; align-items:center; width:100%; padding:12px; border:0; border-radius:10px; background:#e4edfc; color:#245da8; cursor:pointer; font-size:14px; }
.desktop-controls small { display:block; margin-top:14px; color:#727b87; font-size:12px; line-height:1.5; }
.layout-feedback { display:block; margin-top:8px; color:#245da8; font-size:13px; }
.desktop-home__canvas { position:relative; isolation:isolate; height:calc(100dvh - 32px); min-height:620px; overflow:hidden; background:#e3edf5 url("../Assets/img/desktop-wallpaper-landscape.svg") center/cover no-repeat; }
.desktop-home__canvas { --widget-square:clamp(158px,13vw,216px); }
.desktop-widget-grid { position:absolute; top:6%; left:3.5%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; width:clamp(314px,26vw,476px); }
.desk-card { position:relative; border:1px solid rgba(255,255,255,.95); border-radius:21px; background:var(--glass); box-shadow:var(--widget-shadow), inset 0 1px 0 #fff9, inset 0 -1px 0 #ffffff40; backdrop-filter:blur(24px) saturate(1.15); }
[data-draggable] { user-select:none; -webkit-user-select:none; cursor:grab; }
[data-draggable] img { -webkit-user-drag:none; }
[data-draggable].is-dragging { z-index:30; cursor:grabbing; box-shadow:0 20px 55px #263d611f; }
.clock-widget, .calendar-widget { height:var(--widget-square); }
.clock-widget { display:grid; place-items:center; padding:16px; }
.clock-face { position:relative; width:100%; max-width:178px; aspect-ratio:1; }
.clock-ticks { position:absolute; inset:0; }
.clock-ticks i { position:absolute; inset:5px calc(50% - 1px) 50%; width:2px; transform-origin:50% calc(100% - 0px); transform:rotate(var(--tick)); }
.clock-ticks i::before { display:block; width:2px; height:5px; background:#adb2ba; content:""; }
.clock-ticks i:nth-child(3n + 1)::before { width:3px; height:7px; background:#818892; }
.clock-city { position:absolute; top:25%; left:0; right:0; text-align:center; color:#656d78; font-size:clamp(11px,.9vw,15px); }
.clock-hand { position:absolute; bottom:50%; left:calc(50% - 2px); width:4px; border-radius:4px; background:#272c33; transform-origin:50% 100%; }
.clock-hand--hour { height:28%; }.clock-hand--minute { height:39%; width:3px; left:calc(50% - 1.5px); }
.clock-hand--second { height:42%; width:1.5px; left:calc(50% - .75px); background:#ec5a40; }
.clock-pin { position:absolute; width:7px; height:7px; top:calc(50% - 3.5px); left:calc(50% - 3.5px); border-radius:50%; background:#ec5a40; }
.calendar-widget { display:flex; flex-direction:column; padding:clamp(14px,1.2vw,19px); }
.calendar-widget header { display:flex; flex-direction:column; }
.calendar-widget header span { color:#df543f; font-size:clamp(11px,.9vw,14px); font-weight:650; text-transform:uppercase; }
.calendar-widget header strong { color:#252a31; font-size:clamp(30px,2.3vw,38px); line-height:1.05; font-weight:650; letter-spacing:-.045em; }
.forecast-widget { grid-column:1/-1; padding:17px 18px; }
.forecast-widget header { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:13px; font-size:13px; }
.forecast-widget header strong { font-weight:550; }.forecast-widget header > span { color:#68717d; font-size:12px; }
.forecast-days { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; }
.forecast-day { display:grid; justify-items:center; gap:7px; font-size:14px; font-variant-numeric:tabular-nums; }
.forecast-day > span:first-child { color:#737b86; font-size:12px; }.forecast-day .ui-icon { width:23px; height:23px; }.forecast-day strong { font-weight:500; }
.forecast-placeholder { height:23px; width:23px; border-radius:50%; background:#edf0f4; }
.desktop-note { display:flex; flex-direction:column; padding:17px; min-height:157px; }
.desktop-note--process { grid-column:1; background:rgba(227,238,255,.63); }
.note-label { display:flex; align-items:center; gap:8px; color:#4d668a; font-size:13px; font-weight:550; }
.note-label .ui-icon { width:18px; height:18px; }
.desktop-note p { margin:12px 0 17px; color:#304565; font-size:clamp(15px,1vw,20px); font-weight:550; line-height:1.35; letter-spacing:-.025em; }
.note-link { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding:0; width:100%; border:0; background:transparent; color:#466794; cursor:pointer; font-size:12px; text-align:left; }
.note-link:hover { color:#135ec8; }
.experience-widget { position:absolute; top:6%; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; width:clamp(314px,26vw,476px); height:var(--widget-square); padding:20px 24px; }
.experience-heading { display:flex; align-items:center; gap:8px; color:#626c7a; font-size:12px; }
.live-dot { display:inline-block; width:7px; height:7px; flex:none; border-radius:50%; background:#3779db; }
.experience-counter { display:flex; align-items:baseline; gap:8px; margin:16px 0 0; font-variant-numeric:tabular-nums; }
.experience-counter strong { font-size:clamp(24px,2vw,36px); font-weight:600; letter-spacing:-.04em; }.experience-counter > span { color:#657184; font-size:12px; margin-right:5px; }
.experience-bottom { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:10px; border-top:1px solid #778aa022; }
.experience-bottom time { flex:none; color:#697586; font-size:clamp(13px,1vw,17px); font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.experience-foot { display:block; color:#657183; font-size:12px; }
.desktop-welcome { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:40%; max-width:680px; padding-block:12px; text-align:center; }
.desktop-welcome__eyebrow { margin:0 0 17px; color:#6b7480; font-size:clamp(13px,.9vw,16px); }
.desktop-welcome h1 { margin:0 0 18px; color:#282d35; font-size:clamp(48px,4.9vw,88px); font-weight:650; letter-spacing:-.065em; line-height:1.04; }
.desktop-welcome h1 span { color:var(--desktop-blue); }
.desktop-welcome > p:not(.desktop-welcome__eyebrow) { margin:0; color:#65707e; font-size:clamp(16px,1.2vw,21px); line-height:1.55; letter-spacing:-.015em; }
.welcome-link { display:inline-flex; align-items:center; gap:10px; margin-top:19px; padding:0; border:0; background:none; color:#3565a9; font-size:15px; cursor:pointer; }
.welcome-link .ui-icon { width:20px; height:20px; transition:translate .2s; }.welcome-link:hover .ui-icon { translate:4px; }
.desktop-note--community { grid-column:2; background:rgba(255,246,211,.70); }
.desktop-note--community p { color:#594d33; }.desktop-note--community .note-label, .desktop-note--community .note-link { color:#867344; }
.desktop-right-rail { position:absolute; top:5%; right:2.6%; display:flex; flex-direction:column; gap:14px; width:clamp(168px,12vw,216px); }
.desktop-folders { display:grid; gap:4px; width:100%; }
.desktop-folder { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; min-height:clamp(74px,6.1vw,116px); padding:5px; border:1px solid transparent; border-radius:12px; background:transparent; color:#353b44; cursor:grab; font-size:clamp(13px,.9vw,16px); font-weight:450; }
.desktop-folder .folder-art { width:clamp(58px,4.9vw,83px); height:clamp(47px,4vw,68px); filter:drop-shadow(0 3px 3px #31688515); }
.desktop-folder > span { max-width:100%; padding:3px 7px; border-radius:5px; background:rgba(255,255,255,.22); line-height:1.2; }
.desktop-folder:hover, .desktop-folder:focus-visible { background:#dce8fb66; border-color:#c8daf677; }.desktop-folder:hover > span { background:#dbe9fe; }
.desktop-dock { position:absolute; z-index:10; bottom:16px; left:50%; display:flex; align-items:end; gap:8px; padding:8px; border:1px solid #ffffffee; border-radius:23px; background:linear-gradient(135deg,#ffffff70,#ffffff1a 50%,#ffffff45); box-shadow:0 1px 1px #fffd inset, 0 -1px 1px #ffffff70 inset, 0 10px 32px #324c7326, 0 0 0 1px #7184a21a; backdrop-filter:blur(18px) saturate(1.35); transform:translateX(-50%); }
.dock-item { position:relative; display:block; padding:0; border:0; background:none; cursor:pointer; }
.dock-art { display:grid; place-items:center; width:clamp(44px,3.4vw,54px); height:clamp(44px,3.4vw,54px); filter:drop-shadow(0 1px 2px #18345414); transition:translate .2s cubic-bezier(.2,.8,.2,1), filter .2s; }
.dock-art .ui-icon { width:100%; height:100%; }
.dock-item:hover .dock-art, .dock-item:focus-visible .dock-art { translate:0 -5px; filter:drop-shadow(0 7px 7px #324c7630); }
.dock-label { position:absolute; bottom:calc(100% + 15px); left:50%; translate:-50% 4px; padding:6px 11px; border:1px solid white; border-radius:9px; background:#ffffffed; box-shadow:0 3px 15px #22304718; color:#414b59; font-size:13px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .15s,translate .15s; }
.dock-item:hover .dock-label, .dock-item:focus-visible .dock-label { opacity:1; translate:-50% 0; }


.menubar-user { display:flex; align-items:center; gap:6px; padding:3px 5px; border:0; border-radius:5px; background:none; font-size:13px; color:inherit; cursor:pointer; white-space:nowrap; }
.menubar-user:hover { background:#ffffff5e; }.menubar-user .ui-icon { width:17px; height:17px; }
.desktop-credits { margin-top:14px; padding-top:12px; border-top:1px solid #d8e0ec; font-size:12px; color:#697787; }.desktop-credits summary { cursor:pointer; }.desktop-credits > div { display:grid; gap:5px; margin-top:10px; }.desktop-credits a { color:#3d669a; }.desktop-credits a:hover { text-decoration:underline; }
.calendar-next { position:absolute; right:12px; top:12px; display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:50%; background:#ffffff60; color:#788596; cursor:pointer; }.calendar-next:hover { background:#fff; color:#2469d8; }.calendar-next .ui-icon { width:16px; height:16px; }
.calendar-thought { display:flex; flex-direction:column; justify-content:center; gap:8px; flex:1; padding-top:12px; }
.calendar-thought blockquote { margin:0; font-size:clamp(13px,.9vw,16px); line-height:1.35; font-weight:500; letter-spacing:-.015em; color:#485365; }
.calendar-thought a { align-self:start; font-size:11px; line-height:1.3; color:#626e81; }.calendar-thought a:hover { color:#2469d8; text-decoration:underline; }
/* Stocks-inspired watchlist. Symbolic values express a mindset, not live metrics. */
.product-pulse { grid-column:1; position:relative; width:100%; min-width:0; min-height:182px; aspect-ratio:1; padding:9px 14px; border-color:#ffffff24; background:rgba(36,37,39,.97); color:#f5f5f7; box-shadow:var(--widget-shadow),inset 0 1px 0 #ffffff0a; line-height:1.2; }
.pulse-watchlist { display:grid; grid-template-rows:repeat(3,1fr); height:100%; margin:0; padding:0; list-style:none; }
.pulse-row { --pulse-trend:#70dda0; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:6px; row-gap:4px; align-content:center; align-items:baseline; padding:9px 0; border-bottom:1px solid #ffffff16; }
.pulse-row:last-child { border-bottom:0; }
.pulse-ticker { display:flex; align-items:center; gap:4px; font-size:14px; font-weight:650; letter-spacing:-.02em; }
.pulse-triangle { flex:none; width:7px; height:6px; background:var(--pulse-trend); clip-path:polygon(50% 0,100% 100%,0 100%); }
.pulse-value { text-align:right; font-size:17px; font-weight:600; font-variant-numeric:tabular-nums lining-nums; letter-spacing:-.035em; white-space:nowrap; }
.pulse-name { color:#b6b6bb; font-size:12px; letter-spacing:-.02em; }
.pulse-change { color:var(--pulse-trend); text-align:right; font-size:12px; font-weight:500; letter-spacing:-.015em; white-space:nowrap; }
.pulse-row--down { --pulse-trend:#ff837e; }.pulse-row--down .pulse-triangle { rotate:180deg; }
.desktop-home :focus-visible { outline:2px solid #2469d8; outline-offset:4px; }

/* An optional audio layer, with an always-reachable mute control. */
.sound-toggle .sound-icon--off { display:none; }
body[data-sound-enabled="false"] .sound-toggle .sound-icon--on { display:none; }
body[data-sound-enabled="false"] .sound-toggle .sound-icon--off { display:block; }
.sound-toggle:disabled { opacity:.45; cursor:default; }
.sound-settings { margin-top:16px; padding-top:12px; border-top:1px solid #d8e0ec; }
.sound-settings__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:14px; }
.desktop-controls .sound-switch { position:relative; flex:none; display:block; width:44px; height:44px; padding:0; background:transparent; }
.sound-switch::before { content:""; position:absolute; inset:12px 5px; border-radius:20px; background:#aeb9c8; }
.sound-switch[aria-checked="true"]::before { background:#2469d8; }
.sound-switch > span { position:absolute; top:15px; left:8px; width:14px; height:14px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #1a2d4430; transition:transform 160ms ease-out; }
.sound-switch[aria-checked="true"] > span { transform:translateX(14px); }
.sound-volume-label { display:flex; justify-content:space-between; gap:12px; margin-top:3px; font-size:12px; color:#526174; }
.sound-volume-label output { font-variant-numeric:tabular-nums; }
.sound-settings input[type="range"] { display:block; width:100%; height:32px; margin:0; accent-color:#2469d8; cursor:pointer; }
.desktop-controls .sound-status { margin:8px 0 0; font-size:11px; line-height:1.45; color:#626e7e; }
.sound-settings button:disabled,.sound-settings input:disabled { opacity:.45; cursor:default; }
.sound-option { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:50px; }
.sound-option strong { display:block; font-size:12px; font-weight:600; }.sound-option div > span { display:block; margin-top:3px; font-size:11px; line-height:1.4; color:#626e7e; }
.sound-diagnostic { display:block; margin-top:10px; color:#526174; font:11px/1.4 var(--desktop-ui); }

/* Tactile feedback never animates translate: that property belongs to dragging. */
.desktop-home .desk-card[data-draggable] { transition:box-shadow 160ms ease-out; }
.desktop-folder .folder-art { transition:translate 160ms ease-out,scale 160ms cubic-bezier(.2,.8,.2,1); }
.desktop-home :is(.menubar-control,.menubar-user,.calendar-next,.note-link,.welcome-link,.desktop-menu button) { transition:scale 100ms ease-out,background-color 150ms ease-out,color 150ms ease-out; }
@media (hover:hover) and (pointer:fine) {
  .desktop-home .desk-card[data-draggable]:hover:not(.is-dragging) { box-shadow:0 14px 35px #1d263a17,0 3px 9px #1d263a08; }
  .desktop-folder:hover:not(.is-dragging) .folder-art { translate:0 -2px; scale:1.025; }
}
.desktop-home .desk-card[data-draggable]:active:not(.is-dragging) { box-shadow:0 3px 12px #1d263a12; }
.desktop-home .desk-card[data-draggable].is-dragging { box-shadow:0 22px 50px #263d6129; }
.desktop-folder:active:not(.is-dragging) .folder-art { scale:.95; translate:0 0; }
.desktop-folder.is-dragging .folder-art { scale:1.04; }
.desktop-home :is(.menubar-control,.menubar-user,.calendar-next,.note-link,.welcome-link,.desktop-menu button):active { scale:.96; }
.desktop-home .dock-item:active .dock-art { scale:.92; translate:0 -2px; }
.desktop-home .dock-art { transition:translate 180ms cubic-bezier(.2,.8,.2,1),scale 100ms ease-out,box-shadow 180ms ease-out; }

/* App windows: readable content and restrained, directional motion. */
.folder-window { position:fixed; inset:0; width:min(1400px,calc(100vw - 60px)); height:min(1000px,calc(100dvh - 72px)); max-width:none; max-height:none; margin:auto; padding:0; overflow:hidden; border:1px solid #ffffffcf; border-radius:20px; background:#fcfdff; color:#29323f; box-shadow:0 30px 110px #2636543d,0 0 0 1px #8893a429; font-family:var(--desktop-ui); }
.folder-window[open] { display:grid; grid-template-rows:52px minmax(0,1fr); }
.folder-window::backdrop { background:#29374b24; backdrop-filter:blur(7px); }
.folder-window.is-opening { animation:window-in 240ms cubic-bezier(.2,.8,.2,1); }
@keyframes window-in { from { opacity:0; translate:0 12px; } to { opacity:1; translate:0 0; } }
.folder-window.is-maximized { inset:8px!important; width:calc(100vw - 16px); height:calc(100dvh - 16px); margin:0!important; }
.folder-window__bar { display:grid; grid-template-columns:120px 1fr 150px; align-items:center; padding:0 20px; border-bottom:1px solid #dbe1e975; background:#edf1f5bb; cursor:grab; user-select:none; touch-action:none; }
.folder-window__bar > p { margin:0; color:#495363; font-size:15px; font-weight:600; text-align:center; }
.folder-window__bar-meta { justify-self:end; color:#808a96; font-size:12px; }
.window-controls { display:flex; gap:9px; }
.window-controls button { display:grid; place-items:center; width:14px; height:14px; padding:0; border:1px solid #00000010; border-radius:50%; font:13px/1 var(--desktop-ui); color:transparent; cursor:pointer; }
.window-controls button > svg { display:block; width:10px; height:10px; pointer-events:none; }
.window-controls:hover button, .window-controls:focus-within button { color:#573b3688; }
.window-close { background:#ff625b; }.window-minimize { background:#ffbe44; }.window-expand { background:#34c84a; }
.folder-window__body { display:grid; grid-template-columns:205px minmax(0,1fr); min-height:0; }
.folder-window__sidebar { display:flex; flex-direction:column; gap:5px; padding:28px 14px 20px; border-right:1px solid #dce2eb7d; background:#ecf1f6c9; }
.folder-window__sidebar > p { margin:0 0 10px 13px; color:#7e8895; font-size:12px; font-weight:650; }
.folder-window__sidebar > button { display:flex; align-items:center; gap:9px; min-height:44px; padding:10px 12px; border:0; border-radius:9px; background:none; color:#546174; cursor:pointer; text-align:left; font-size:14px; }
.folder-window__sidebar > button .ui-icon { width:26px; height:26px; }
.folder-window__sidebar > button:hover { background:#dee7f4a8; }.folder-window__sidebar > button.is-active { color:#255697; background:#d8e5f6; font-weight:550; }
.folder-window__sidebar-note { margin-top:auto; padding:16px 10px 0; color:#7a8593; font-size:12px; line-height:1.8; }.folder-window__sidebar-note .live-dot { margin-right:6px; width:5px; height:5px; }.folder-window__sidebar-note time { margin-left:12px; font-variant-numeric:tabular-nums; }
.folder-window__content { min-width:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c8d1dd transparent; }
.folder-room { padding:clamp(28px,3.5vw,56px); min-height:100%; }
.room-eyebrow { margin:0 0 15px; color:#577191; font-size:13px; font-weight:550; letter-spacing:.04em; }
.folder-room h2 { margin:0; color:#293545; font-size:clamp(38px,3.7vw,64px); font-weight:600; letter-spacing:-.055em; line-height:1.05; }
.folder-room h2 span { color:#4575b1; font:inherit; font-style:normal; }
.folder-room p { font-size:17px; line-height:1.65; color:#687587; }
.folder-room p.room-eyebrow { font-size:13px; line-height:1.4; }
.room-heading { max-width:780px; margin-bottom:35px; }.room-heading > p:last-child { max-width:660px; margin-bottom:0; }
.about-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:36px; align-items:start; }
.about-portrait { position:relative; margin:0; height:540px; overflow:hidden; border-radius:18px; background:#e8ecf1; }
.about-portrait--dark { background:#000; }
.about-portrait img { width:100%; height:100%; object-fit:cover; object-position:50% 40%; transition:scale .8s cubic-bezier(.2,.8,.2,1); }.about-portrait:hover img { scale:1.035; }
.about-portrait figcaption { position:absolute; bottom:14px; left:14px; right:14px; padding:12px 15px; border:1px solid #ffffff40; border-radius:12px; background:#ffffffd9; backdrop-filter:blur(15px); font-size:13px; color:#515d6d; }
.about-copy h2 { font-size:clamp(36px,3.2vw,54px); }.about-copy p { margin:20px 0; font-size:16px; }
.about-copy p.about-statement { color:#384b66; font-size:clamp(21px,1.8vw,28px); line-height:1.4; letter-spacing:-.025em; }.about-statement span { background:linear-gradient(transparent 63%,#dceaff 63%); }
.about-bottom { display:grid; grid-template-columns:1fr 1.1fr; gap:24px; margin-top:36px; }
.career-live { padding:30px; border-radius:18px; background:#edf4fe; }.career-live .room-eyebrow .live-dot { margin-right:7px; }.career-live > div { display:flex; gap:8px; align-items:baseline; font-variant-numeric:tabular-nums; }.career-live strong { font-size:48px; font-weight:550; letter-spacing:-.04em; }.career-live > div span { margin-right:12px; color:#738299; font-size:14px; }.career-live > time { display:block; margin-top:10px; color:#5d7fad; font-size:25px; font-variant-numeric:tabular-nums; }.career-live > p:last-child { margin-bottom:0; font-size:13px; }
.career-live .career-live__timeline { display:flex; align-items:center; gap:11px; margin-top:20px; font-variant-numeric:tabular-nums; }
.career-live .career-live__timeline > span { margin:0; color:#5f789b; font-size:12px; }
.career-live .career-live__timeline-track { position:relative; flex:1; height:2px; background:#a9c4e5; }
.career-live .career-live__timeline-track::after { position:absolute; top:50%; right:0; width:8px; height:8px; border-radius:50%; background:#4c83c2; translate:0 -50%; content:""; }
.career-receipt { position:relative; padding:28px; border:1px solid #e7e2d7; border-radius:18px; background:#fffefa; box-shadow:0 5px 14px #4b42270a; font-size:14px; }
.career-receipt header, .career-receipt footer { display:flex; justify-content:space-between; gap:12px; color:#716c60; }.career-receipt header { padding-bottom:15px; border-bottom:1px dashed #d9d3c5; font-weight:600; }.career-receipt header span, .career-receipt footer span { color:#a39a87; font-size:12px; }.career-receipt dl { display:grid; gap:16px; margin:20px 0; }.career-receipt dl div { display:flex; justify-content:space-between; gap:15px; color:#767b83; }.career-receipt dd { margin:0; color:#495568; font-weight:600; }.career-receipt footer { padding-top:14px; border-top:1px dashed #d9d3c5; font-size:12px; }
.process-explorer { display:grid; grid-template-columns:240px minmax(0,1fr); gap:28px; }
.process-steps { display:flex; flex-direction:column; gap:7px; align-self:start; }
.process-steps button { display:grid; grid-template-columns:29px 1fr 18px; gap:8px; align-items:center; min-height:66px; padding:14px; border:1px solid transparent; border-radius:12px; color:#69778a; background:transparent; text-align:left; cursor:pointer; font-size:15px; transition:background .2s,color .2s; }
.process-steps button > span { color:#98a5b6; font-size:12px; font-variant-numeric:tabular-nums; }.process-steps .ui-icon { width:18px; height:18px; opacity:0; }.process-steps button[aria-selected="true"] { color:#275f9f; border-color:#d9e6f6; background:#eaf2fd; font-weight:600; }.process-steps button[aria-selected="true"] .ui-icon { opacity:1; }.process-steps button:hover { background:#eff4fb; }
.process-detail { border:1px solid #e2e8f1; border-radius:18px; overflow:hidden; background:#fff; }
.process-art { position:relative; height:240px; overflow:hidden; background:#f1f6fd; }
.process-art::before { position:absolute; inset:0; background-image:radial-gradient(#8dadd13d 1px,transparent 1px); background-size:20px 20px; content:""; }
.process-art svg.art-path { position:absolute; width:100%; height:100%; inset:0; }.art-path path { stroke:#a8c4e9; stroke-width:1.6; fill:none; stroke-dasharray:900; animation:path-draw 800ms ease-out both; }
@keyframes path-draw { from { stroke-dashoffset:900; } to { stroke-dashoffset:0; } }
.art-card { position:absolute; display:flex; align-items:center; justify-content:center; gap:8px; min-width:110px; padding:12px 17px; border:1px solid #d8e3f1; border-radius:10px; box-shadow:0 6px 18px #365c9210; background:#ffffffed; color:#647b99; font-size:13px; animation:art-in 450ms cubic-bezier(.2,.8,.2,1) both; }.art-card:nth-child(3) { animation-delay:80ms; }.art-card:nth-child(4) { animation-delay:140ms; }.art-card:nth-child(5) { animation-delay:200ms; }.art-card--a { left:8%; top:30px; }.art-card--b { left:8%; bottom:30px; }.art-card--c { right:7%; top:99px; color:#245fa9; background:#e2eeff; border-color:#bcd3f2; }.art-card .ui-icon { width:17px; height:17px; }
@keyframes art-in { from { opacity:0; translate:0 8px; } to { opacity:1; translate:0 0; } }
.process-detail__copy { padding:26px; }.process-detail__copy h3 { margin:0; color:#31445d; font-size:27px; line-height:1.2; letter-spacing:-.03em; }.process-detail__copy > p:not(.room-eyebrow) { font-size:16px; }
.process-outputs { display:flex; flex-wrap:wrap; gap:6px; margin:20px 0 25px; }.process-outputs span { padding:7px 10px; border-radius:6px; color:#6e82a0; background:#f1f5fa; font-size:12px; }
.text-link { display:inline-flex; gap:10px; align-items:center; padding:0; border:0; background:none; color:#366da9; font-size:14px; cursor:pointer; }.text-link .ui-icon { width:19px; height:19px; }.text-link:hover { color:#164ba0; }
.process-footnote { margin-top:30px; font-size:14px!important; color:#8491a3!important; }
.case-file-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.case-file { overflow:hidden; border:1px solid #e0e7ef; border-radius:16px; background:white; }.case-file--ready { transition:box-shadow .25s,border-color .25s; }.case-file--ready:hover { box-shadow:0 10px 25px #314b7510; border-color:#b7cfed; }.case-file__image { padding:16px; background:#e8eff8; }.case-file__image img { width:100%; aspect-ratio:1.7; object-fit:cover; border-radius:5px; }.case-file__copy { padding:24px; }.case-file__copy > span { color:#78889e; font-size:12px; }.case-file h3 { margin:9px 0; color:#334963; font-size:24px; letter-spacing:-.035em; }.case-file p { margin:0 0 16px; font-size:15px; line-height:1.5; }.case-file strong { display:flex; align-items:center; justify-content:space-between; color:#386da9; font-size:14px; font-weight:550; }.case-file__placeholder { position:relative; display:grid; place-items:center; aspect-ratio:1.95; background:#f4f7fb; }.case-file__placeholder .ui-icon { width:87px; height:72px; opacity:.42; }.case-file__placeholder > span { position:absolute; top:18px; right:21px; color:#bac5d5; font-size:14px; }.case-file--pending h3 { color:#64768e; }.case-file__status { color:#8f9bab!important; font-size:13px!important; }
.case-file__image--cover { padding:0; background:#041a40; }
.case-file__image--cover img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; border-radius:0; }
.room-brand-strip { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; padding:24px 0; margin-bottom:42px; border-block:1px solid #e2e7ee; }.room-brand-strip img { width:auto; max-width:115px; max-height:29px; opacity:.72; }
.giving-intro { margin:30px 0 35px; }.giving-kicker { display:flex; align-items:center; gap:12px; margin-bottom:17px; }.giving-kicker .room-eyebrow { margin:0; }.giving-mark { display:grid; place-items:center; flex:none; width:42px; height:42px; border-radius:12px; color:#b9636d; background:#fff0ef; }.giving-mark svg { width:22px; height:22px; fill:currentColor; }.giving-intro h3 { margin:0; color:#4c5360; font-size:clamp(28px,3vw,40px); line-height:1.14; font-weight:600; letter-spacing:-.04em; }.giving-intro p:last-child { max-width:750px; font-size:16px; }
.community-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; align-items:start; }
.community-gallery figure { margin:0; }
.community-gallery figure > div { aspect-ratio:1.5; overflow:hidden; border-radius:15px; background:#e8eff8; }
.community-gallery img { width:100%; height:100%; object-fit:cover; transition:scale .7s cubic-bezier(.2,.8,.2,1); }
.community-gallery figure:hover img { scale:1.035; }
.community-gallery .community-gallery__pair { grid-column:1/-1; }
.community-gallery .community-gallery__pair > div { display:grid; grid-template-columns:1.42fr .67fr; gap:12px; aspect-ratio:2.15; overflow:visible; background:none; }
.community-gallery .community-gallery__pair img { min-width:0; min-height:0; border-radius:15px; }
.community-gallery .community-gallery__pair:hover img { scale:1; }
.community-gallery .community-gallery__pair-image:last-child img { object-position:center 45%; }
.community-gallery figcaption { display:flex; flex-direction:column; gap:5px; margin-top:15px; }
.community-gallery figcaption strong { color:#4d617d; font-size:16px; font-weight:550; }
.community-gallery figcaption span { color:#8a97a8; font-size:13px; }
.community-gallery .community-gallery__pair-image { min-width:0; min-height:0; overflow:hidden; border-radius:15px; }
.community-gallery .community-gallery__pair-image:hover img { scale:1.035; }
.folder-room--contact { display:flex; flex-direction:column; justify-content:center; min-height:100%; padding-block:60px; }.contact-orbit { display:grid; place-items:center; width:88px; height:88px; margin-bottom:32px; border-radius:25px; color:#4e8cc6; background:#e8f1fc; box-shadow:0 12px 35px #548bd915; }.contact-orbit .ui-icon { width:42px; height:42px; }.contact-sheet > p:not(.room-eyebrow) { max-width:650px; margin:25px 0; }.contact-email { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:52px; width:fit-content; padding:13px 20px; border-radius:11px; background:#2868b5; color:#fff; font-size:16px; font-weight:650; text-decoration:none; transition:background-color 160ms ease-out; }.contact-email .ui-icon { width:19px; height:19px; }.contact-email:hover { background:#185293; }.contact-sheet footer { margin-top:40px; color:#8d97a5; font-size:14px; }.contact-sheet footer span { margin-inline:9px; }
.contact-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.contact-linkedin { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:52px; padding:13px 20px; border:1px solid #bfd0e5; border-radius:11px; color:#315e93; background:#f4f8fd; font-size:16px; font-weight:650; text-decoration:none; transition:background-color 160ms ease-out; }
.contact-linkedin .ui-icon { width:19px; height:19px; }
.contact-linkedin:hover { background:#e8f0fa; }
.contact-actions a:focus-visible { outline:2px solid #2868b5; outline-offset:4px; }

.system-art { position:absolute; inset:25px 12%; display:flex; flex-direction:column; justify-content:center; gap:16px; }
.system-art__label { color:#7c92b0; font-size:12px; }
.system-swatches { display:flex; gap:10px; }.system-swatches i { width:30px; height:30px; border-radius:50%; background:#d9e8ff; animation:art-in .4s ease both; }.system-swatches i:nth-child(2) { background:#a9c7f3; animation-delay:.05s; }.system-swatches i:nth-child(3) { background:#6d9ee3; animation-delay:.1s; }.system-swatches i:nth-child(4) { background:#3f79cd; animation-delay:.15s; }.system-swatches i:nth-child(5) { background:#2b528a; animation-delay:.2s; }
.system-components { display:flex; align-items:center; gap:13px; }.system-components > span { display:flex; align-items:center; gap:10px; border:1px solid #bfd2ef; border-radius:8px; background:#e2edfc; padding:9px 14px; color:#4a74a8; font-size:12px; }.system-components .ui-icon { width:17px; height:17px; }.system-components > span:nth-child(2) { background:white; }.system-components > .system-toggle { padding:3px; border-radius:20px; width:40px; height:24px; background:#528adb; }.system-toggle i { width:17px; height:17px; border-radius:50%; background:white; margin-left:auto; }.system-lines { display:grid; gap:6px; }.system-lines i { display:block; width:85%; height:5px; border-radius:3px; background:#dce6f4; }.system-lines i:nth-child(2) { width:65%; }.system-lines i:last-child { width:72%; }
.prototype-art { position:absolute; width:70%; max-width:320px; top:28px; left:15%; border:1px solid #d3dfef; border-radius:12px; background:#fff; box-shadow:0 8px 25px #44699612; animation:art-in .4s ease both; }.prototype-art__bar { display:flex; gap:4px; padding:12px; border-bottom:1px solid #edf1f7; }.prototype-art__bar i { width:5px; height:5px; border-radius:50%; background:#d8e3f2; }.prototype-art__body { display:flex; flex-direction:column; align-items:start; gap:9px; padding:17px; }.prototype-art__line { width:84%; height:6px; background:#e5ecf6; border-radius:3px; }.prototype-art__line:nth-child(2) { width:60%; }.prototype-art__button { display:flex; align-items:center; gap:9px; margin-top:8px; padding:9px 12px; border-radius:7px; color:#4d7db7; background:#e3efff; font-size:12px; }.prototype-art__button .ui-icon { width:16px; height:16px; }.prototype-cursor { position:absolute; right:13%; bottom:18%; color:#3e77c5; rotate:-40deg; animation:cursor-arrive 900ms ease-out both; }.prototype-caption { position:absolute; top:calc(100% + 14px); left:0; right:0; text-align:center; color:#7c90ab; font-size:12px; }
@keyframes cursor-arrive { from { translate:35px 20px; opacity:0; } to { translate:0 0; opacity:1; } }

@media (min-width:1700px) {
  .desktop-topbar { height:34px; font-size:14px; }.desktop-menu button,.desktop-status time,.menubar-user { font-size:14px; }.desktop-home__canvas { height:calc(100dvh - 34px); }
  .desk-card { border-radius:24px; }.forecast-widget { padding:22px; }.forecast-widget header { font-size:15px; }.forecast-widget header > span,.forecast-day > span:first-child { font-size:12px; }.forecast-day { font-size:16px; gap:8px; }.forecast-day .ui-icon { width:25px; height:25px; }
  .desktop-note { padding:24px; }.note-label { font-size:14px; }.note-link { font-size:14px; }.experience-widget { padding:26px 28px; }.experience-heading { font-size:14px; }.experience-foot { font-size:14px; }.experience-counter > span { font-size:15px; }.welcome-link { font-size:16px; }
  .calendar-thought a { font-size:12px; }.product-pulse { padding:11px 18px; }.pulse-ticker { font-size:17px; }.pulse-value { font-size:21px; }.pulse-name,.pulse-change { font-size:14px; }.pulse-triangle { width:8px; height:7px; }
}
/* Keep the four-row widget stack visible on shorter desktop displays. */
@media (min-width:1201px) and (min-height:741px) and (max-height:850px) {
  .desktop-widget-grid { top:3%; gap:12px; }
  .clock-widget,.calendar-widget { height:150px; }
  .calendar-widget { padding:13px; }.calendar-thought { padding-top:7px; gap:6px; }.calendar-thought blockquote { font-size:13px; }
  .forecast-widget { padding:12px 16px; }.forecast-widget header { margin-bottom:9px; }.forecast-day { gap:5px; font-size:14px; }.forecast-day .ui-icon { width:21px; height:21px; }
  .desktop-note { padding:14px; min-height:150px; }.note-label { font-size:13px; }.desktop-note p { font-size:14px; margin:10px 0 12px; }.note-link { font-size:12px; }
  .product-pulse { min-height:170px; padding:8px 13px; }.pulse-row { padding:7px 0; }.pulse-ticker { font-size:14px; }.pulse-value { font-size:17px; }.pulse-name,.pulse-change { font-size:12px; }
}
@media (max-width:1200px), (max-height:740px) {
  .desktop-home { height:auto; min-height:100dvh; overflow:visible; }.desktop-topbar { gap:16px; padding-inline:18px; }.desktop-menu { gap:0; }.desktop-menu button { padding:0 7px; font-size:13px; }.desktop-status__city { display:none; }
  .desktop-home__canvas { display:grid; grid-template-columns:1fr 1fr; gap:28px; height:auto; min-height:calc(100dvh - 40px); padding:36px 30px 130px; overflow:hidden; }
  .desktop-home__canvas > :not(.desktop-dock) { position:relative; inset:auto; width:100%; max-width:none; }
  .desktop-welcome { transform:none; grid-column:1/-1; grid-row:1; max-width:750px!important; margin-inline:auto; text-align:center; }.desktop-welcome h1 { font-size:clamp(48px,6vw,72px); }.desktop-welcome > p:not(.desktop-welcome__eyebrow) { font-size:20px; }
  .experience-widget { transform:none; grid-column:1/-1; grid-row:2; max-width:476px!important; justify-self:center; }
  .desktop-widget-grid { grid-column:1; grid-row:3; gap:16px; }.clock-widget,.calendar-widget { height:190px; }
  .desktop-right-rail { grid-column:2; grid-row:3; align-self:start; align-items:center; gap:24px; }.desktop-folders { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-self:start; }.desktop-folder { min-height:125px; font-size:15px; }.desktop-folder .folder-art { width:77px; height:63px; }
  .desktop-note--community { grid-column:2; grid-row:auto; }.experience-widget { height:auto; }.desktop-dock { position:fixed; bottom:14px; }
  .folder-window__body { grid-template-columns:180px minmax(0,1fr); }.folder-window__sidebar > button { padding-inline:8px; font-size:13px; }.folder-room { padding:28px; }.about-layout { grid-template-columns:1fr; }.about-portrait { height:360px; order:2; }.about-bottom { grid-template-columns:1fr; }.process-explorer { grid-template-columns:1fr; }.process-steps { flex-direction:row; overflow-x:auto; padding-bottom:7px; }.process-steps button { grid-template-columns:20px 1fr; min-width:155px; min-height:64px; font-size:14px; }.process-steps .ui-icon { display:none; }.room-brand-strip img { max-width:95px; }.case-file-grid { gap:16px; }.case-file__copy { padding:18px; }.case-file h3 { font-size:21px; }
}
@media (max-width:700px) {
  .desktop-status .sound-toggle { width:26px; }.desktop-status:has(.sound-toggle:not([hidden])) { gap:5px; }
  .desktop-controls { top:46px; right:12px; width:min(285px,calc(100% - 24px)); max-height:calc(100dvh - 58px); overflow-y:auto; }
  .desktop-topbar { height:42px; padding-inline:15px; gap:12px; }.desktop-topbar__identity { gap:10px; }.desktop-monogram { font-size:20px; }.desktop-menu { display:none; }.desktop-status { gap:8px; }.desktop-status [data-menubar-date] { display:none; }.desktop-status time { font-size:12px; }.menubar-user { font-size:12px; gap:5px; }.menubar-user .ui-icon { width:16px; height:16px; }
  .desktop-home__canvas { grid-template-columns:1fr; gap:22px; padding:32px 20px 125px; }.desktop-welcome h1 { font-size:clamp(44px,11vw,66px); letter-spacing:-.06em; }.desktop-welcome { padding-block:15px 20px; }.desktop-welcome__eyebrow { font-size:14px; }.desktop-welcome > p:not(.desktop-welcome__eyebrow) { font-size:18px; }.wide-break { display:none; }
  .experience-widget { padding:22px; }.experience-heading { font-size:12px; }.experience-counter { gap:6px; }.experience-counter strong { font-size:28px; }.experience-counter > span { font-size:12px; margin-right:2px; }.experience-bottom time { font-size:14px; }.experience-foot { font-size:12px; }
  .desktop-right-rail { grid-column:1; grid-row:3; }.desktop-folders { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }.desktop-folder { min-height:109px; padding:5px 2px; font-size:13px; }.desktop-folder .folder-art { width:65px; height:53px; }
  .desktop-widget-grid { grid-column:1; grid-row:4; }.clock-widget,.calendar-widget { height:185px; }.calendar-widget { padding:14px; }.calendar-widget header strong { font-size:32px; }.calendar-widget header span { font-size:11px; }
  .forecast-widget { padding:20px 16px 13px; }.forecast-widget header { font-size:14px; }.forecast-days { gap:2px; }.forecast-day { font-size:14px; }.forecast-day > span:first-child { font-size:11px; }.desktop-note--community { grid-column:2; grid-row:auto; }.desktop-note { padding:17px 15px; min-height:190px; }.desktop-note p { font-size:17px; }.note-label { font-size:12px; gap:6px; }.note-link { font-size:12px; }.desk-card { border-radius:21px; }.desktop-dock { gap:9px; padding:9px; border-radius:23px; }.dock-art { width:46px; height:46px; border-radius:14px; }
  .folder-window { width:calc(100vw - 16px); height:calc(100dvh - 20px); border-radius:16px; }.folder-window[open] { grid-template-rows:46px minmax(0,1fr); }.folder-window__bar { grid-template-columns:76px 1fr 40px; padding-inline:15px; }.folder-window__bar-meta { display:none; }.folder-window__bar > p { font-size:14px; }.window-controls { gap:7px; }.window-controls button { width:13px; height:13px; }
  .folder-window__body { grid-template-columns:1fr; grid-template-rows:59px minmax(0,1fr); }.folder-window__sidebar { flex-direction:row; gap:5px; align-items:center; overflow-x:auto; scrollbar-width:none; padding:7px; border-right:0; border-bottom:1px solid #dce2eb; }.folder-window__sidebar::-webkit-scrollbar { display:none; }.folder-window__sidebar > p,.folder-window__sidebar-note { display:none; }.folder-window__sidebar > button { flex:none; gap:7px; min-height:40px; padding:9px 11px; font-size:13px; }.folder-window__sidebar .ui-icon { width:18px!important; height:18px!important; }
  .folder-room { padding:27px 22px; }.folder-room h2 { font-size:40px; }.folder-room p { font-size:16px; }.about-layout { gap:24px; }.about-copy h2 { font-size:38px; }.about-copy p.about-statement { font-size:23px; }.about-portrait { height:340px; }.about-bottom { gap:18px; }.career-live,.career-receipt { padding:22px; }.career-live strong { font-size:39px; }.career-receipt { font-size:12px; }.career-receipt footer { flex-direction:column; gap:7px; }
  .process-explorer { gap:15px; }.process-steps button { min-width:143px; font-size:13px; padding:10px; }.process-art { height:220px; }.art-card { min-width:94px; padding:10px; font-size:11px; }.art-card--a,.art-card--b { left:5%; }.art-card--c { right:5%; top:89px; }.process-detail__copy { padding:22px; }.process-detail__copy h3 { font-size:26px; }
  .case-file-grid { grid-template-columns:1fr; }.room-heading { margin-bottom:25px; }.room-brand-strip { display:grid; grid-template-columns:repeat(3,1fr); justify-items:center; gap:24px 14px; }.room-brand-strip img { max-width:80px; max-height:25px; }.giving-intro h3 { font-size:34px; }.community-gallery { grid-template-columns:1fr; gap:28px; }.community-gallery .community-gallery__pair > div { grid-template-columns:1fr; aspect-ratio:auto; }.community-gallery .community-gallery__pair img { height:auto; aspect-ratio:1.5; }.community-gallery .community-gallery__pair-image:last-child img { aspect-ratio:4/5; }.contact-orbit { width:75px; height:75px; }.contact-sheet footer { font-size:12px; }
}
@media (max-width:700px) {
  .folder-window__sidebar > button { min-height:44px; }
  .folder-window__sidebar .ui-icon { width:22px!important; height:22px!important; }
}
@media (prefers-reduced-motion:reduce) {
  .desktop-home .desk-card[data-draggable],.desktop-home .folder-art,.desktop-home .dock-art,.desktop-home :is(.menubar-control,.menubar-user,.calendar-next,.note-link,.welcome-link,.desktop-menu button) { scale:none!important; }
  .desktop-home .folder-art,.desktop-home .dock-art { translate:none!important; }
  .desktop-home *, .desktop-home *::before, .desktop-home *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .about-portrait:hover img,.community-gallery figure:hover img { scale:1; }
}
