:root{color-scheme:light;--ink:#17233d;--muted:#687386;--violet:#635bff;--line:rgba(55,65,100,.10)}
*{box-sizing:border-box}
html{min-height:100%;background:#fafbff}
body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--violet);outline-offset:5px;border-radius:4px}
.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.light{position:absolute;inset:-35%;background:radial-gradient(ellipse at 26% 23%,#635bff32,transparent 37%),radial-gradient(ellipse at 73% 15%,#80e9ff60,transparent 35%),radial-gradient(ellipse at 80% 68%,#a960ee22,transparent 34%);filter:blur(65px);animation:drift 26s ease-in-out infinite alternate}
main{width:min(100% - 56px,980px);margin:0 auto}
.identity{min-height:300px;height:32svh;max-height:380px;display:grid;place-items:center}
.signature{display:flex;align-items:center;gap:clamp(16px,3vw,36px);padding:12px 0}
h1{margin:0;font-size:clamp(3rem,8vw,6rem);font-weight:500;line-height:1;letter-spacing:-.065em}
h1 a{transition:color .3s}h1 a:hover{color:var(--violet)}
.code{appearance:none;border:0;background:transparent;color:var(--violet);padding:0;cursor:pointer;height:112px;width:98px;display:grid;grid-template-columns:repeat(7,1fr);transition:width 2.8s cubic-bezier(.4,0,.2,1)}
.code.hex{width:clamp(168px,39vw,392px)}
.column{position:relative;min-width:0}.dots{position:absolute;inset:0;display:grid;grid-template-rows:repeat(8,9px);gap:5px;justify-content:center;align-content:center;transition:transform 1.6s ease,opacity 1.1s ease;transition-delay:calc(var(--i)*120ms)}
.bit{width:9px;height:9px;border-radius:50%;background:#17233d18}.bit.on{background:var(--violet);box-shadow:0 0 8px #635bff22}
.pair{position:absolute;inset:0;display:grid;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(16px,3.2vw,36px);font-weight:500;letter-spacing:-.07em;opacity:0;transform:translateY(8px);filter:blur(5px);transition:opacity 1.4s ease,transform 1.4s ease,filter 1.4s ease;transition-delay:0ms}
.hex .dots{transform:scaleY(.06);opacity:0}.hex .pair{opacity:1;transform:translateY(0);filter:blur(0);transition-delay:calc(750ms + var(--i)*160ms)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}
h2{font-size:1rem;font-weight:600;letter-spacing:-.025em;margin:0}.section-note{font-size:.8125rem;color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.project-card{grid-column:span 2;display:flex;flex-direction:column;min-width:0;padding:21px 20px 19px;border:1px solid rgba(255,255,255,.95);background:rgba(255,255,255,.72);border-radius:15px;box-shadow:0 2px 8px #17233d03;transition:transform .25s,border-color .25s,box-shadow .25s,background .25s}
.project-card:nth-last-child(-n+2){grid-column:span 3}
.project-top{display:flex;gap:10px;align-items:center;margin-bottom:22px}
.project-mark{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:9px;font-size:1rem;font-weight:600;letter-spacing:-.07em}
.vanta{background:#eae9ed;color:#484255}.tempora{background:#e9f3f5;color:#24586a}.ringring{background:#f9eee9;color:#9a523a}.radar{background:#edeafa;color:#6550a8}.life{background:#eaf0ef;color:#406257}
.project-category{font-size:.75rem;color:var(--muted)}.outbound{margin-left:auto;color:#8991a3;font-size:1rem;transition:color .25s,transform .25s}
.project-card h3{margin:0 0 9px;font-size:1.0625rem;letter-spacing:-.035em;font-weight:600}
.project-card p{margin:0 0 22px;font-size:.875rem;line-height:1.6;color:#536076}
.project-url{font-size:.75rem;color:var(--muted);margin-top:auto;overflow-wrap:anywhere}
.nova{margin-top:0}.projects{margin-top:43px}.nova-name{display:flex;align-items:center;gap:12px}.nova-label{font-size:.8125rem;color:var(--muted)}
.nova-panel{border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.43);padding:0 24px}
.activity-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 0 4px}.activity-heading h3{margin:0;color:var(--muted);font-size:.8125rem;font-weight:500}.updated{font-size:.75rem;color:var(--muted)}
.activity-list{list-style:none;margin:0;padding:0}.activity-row{display:grid;grid-template-columns:34px 115px minmax(0,1fr) auto;align-items:center;gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}
.agent-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:.8125rem;font-weight:500;color:#6555c6;background:#eeebfb}
.agent-name{font-size:.875rem;font-weight:500}.agent-role{display:block;font-size:.75rem;color:var(--muted);margin-top:4px}.activity-description{margin:0;font-size:.875rem;line-height:1.55}.activity-project{display:block;color:var(--muted);font-size:.75rem;margin-top:4px}.activity-time{font-size:.75rem;color:var(--muted);text-align:right;white-space:nowrap;line-height:1.6}.activity-time span{display:block}.activity-empty{padding:24px 0;font-size:.875rem;color:var(--muted)}
.team summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:59px;gap:20px;font-size:.8125rem;color:var(--muted)}.team summary::-webkit-details-marker{display:none}.team summary:hover{color:var(--violet)}.plus{font-size:1.25rem;font-weight:400;transition:transform .2s}.team[open] .plus{transform:rotate(45deg)}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;padding:4px 0 27px}.team-group h4{font-size:.75rem;color:var(--violet);font-weight:500;margin:0 0 13px}.team-group p{margin:0 0 10px;font-size:.8125rem;line-height:1.5}.team-group p span{display:block;font-size:.75rem;color:var(--muted)}
footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:27px 0 30px;font-size:.75rem;color:var(--muted)}footer a{padding:8px 0}footer a:hover{color:var(--violet)}
@media(hover:hover){.project-card:hover{transform:translateY(-4px);background:#fff;border-color:#d9d4ff;box-shadow:0 12px 30px #635bff09}.project-card:hover .outbound{color:var(--violet);transform:translate(2px,-2px)}}
@media(min-width:1440px){.identity{min-height:340px}}
@media(max-width:850px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card,.project-card:nth-last-child(-n+2){grid-column:auto}.project-card:last-child{grid-column:1/-1}.project-top{margin-bottom:18px}.project-card p{max-width:32ch}.identity{min-height:255px;height:28svh}.activity-row{grid-template-columns:32px 100px minmax(0,1fr);gap:12px}.activity-time{grid-column:3;text-align:left;display:flex;gap:8px;margin-top:-8px}.activity-time span{display:inline}.updated{max-width:140px;text-align:right}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){main{width:calc(100% - 32px)}.identity{min-height:220px;height:27svh}.section-note{display:none}.project-grid{grid-template-columns:1fr;gap:10px}.project-card{padding:18px 20px}.project-top{margin-bottom:12px}.project-card p{max-width:none;margin-bottom:14px}.projects{margin-top:32px}.nova-panel{padding:0 18px}.nova-name{gap:10px}.nova-label{font-size:.75rem}.activity-heading{align-items:flex-start}.activity-row{grid-template-columns:32px minmax(0,1fr);gap:10px 12px}.activity-description{grid-column:2}.activity-time{grid-column:2;margin-top:0}.team-grid{gap:20px 12px}.team-group p{font-size:.875rem}footer{align-items:flex-start}footer span{max-width:150px;text-align:right;line-height:1.6}}
@keyframes drift{0%{transform:translate(-4%,3%) rotate(-12deg)}100%{transform:translate(4%,-3%) rotate(10deg)}}
@media(prefers-reduced-motion:reduce){.light{animation:none}*,*::before,*::after{transition:none!important}}

/* Natural portraits for the AI team. */
img.agent-avatar{object-fit:cover;flex-shrink:0;background:#eeebfb}
.team-member{display:flex;align-items:center;gap:10px;margin-bottom:13px}.team-member .agent-avatar{width:36px;height:36px}.team-member p{margin:0;min-width:0}
.agent-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:22px}.contact-card{display:flex;align-items:center;gap:12px;min-width:0}.contact-card>div{min-width:0}.contact-card .agent-avatar{width:40px;height:40px}.contact-card h3{font-size:.875rem;font-weight:500;margin:0 0 5px}.contact-card h3 span{font-size:.75rem;color:var(--muted);font-weight:400;margin-left:7px}.contact-card a{font-size:.75rem;color:var(--violet);overflow-wrap:anywhere}.contact-card a:hover{text-decoration:underline}.contact-note{font-size:.6875rem;color:var(--muted);margin:14px 0 0;padding-bottom:20px;border-bottom:1px solid var(--line)}
@media(max-width:600px){.agent-contacts{grid-template-columns:1fr;gap:20px}.team-grid{grid-template-columns:1fr 1fr}.team-member{align-items:flex-start}.team-member .agent-avatar{width:30px;height:30px}.team-member{gap:8px}}
@media(max-width:360px){.team-grid{grid-template-columns:1fr}}

.hero-lockup{display:flex;align-items:center;justify-content:center;gap:28px}
.portrait-toggle{position:relative;display:block;flex-shrink:0;width:132px;height:132px;padding:0;border:0;border-radius:28px;background:#eeebfb;cursor:pointer;overflow:hidden;box-shadow:0 3px 16px #17233d10}
.max-video{display:block;width:100%;height:100%;object-fit:cover}.portrait-state{position:absolute;bottom:5px;right:5px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#17233d99;color:#fff;font-size:9px;line-height:1}
@media(max-width:850px){.hero-lockup{flex-direction:column;gap:8px;padding:24px 0}.portrait-toggle{width:100px;height:100px;border-radius:24px}.identity{min-height:295px;height:auto}.signature{padding:8px 0}}

/* Local identity and the connected editorial team. */
.identity{align-content:center;gap:12px}.location{margin:0;color:var(--ink);font-size:.875rem;display:flex;gap:10px;align-items:center}.location span{color:var(--muted);font-size:.75rem}.activity-context{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.6875rem;margin:12px 0 0;line-height:1.5}.activity-context span:first-child::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--violet);margin-right:7px}.activity-badge{display:table;margin-bottom:6px;padding:3px 8px;border-radius:6px;background:#635bff0c;color:#594fd8;font-size:.625rem;font-weight:500;letter-spacing:.02em}.agent-contacts{padding-bottom:22px;border-bottom:1px solid var(--line)}.team-intro{font-size:.8125rem;line-height:1.7;color:var(--muted);max-width:64ch;margin:0 0 24px}.team-group{padding:16px;border:1px solid var(--line);border-radius:12px;background:#ffffff45}.team-group .team-description{font-size:.75rem;line-height:1.65;color:var(--muted);margin:12px 0 0}.team-grid{gap:14px}.activity-heading{align-items:flex-start}.updated{max-width:260px;text-align:right;line-height:1.6}
@media(max-width:600px){.activity-context{flex-direction:column;gap:5px}.location{flex-direction:column;gap:4px}.team-grid{grid-template-columns:1fr}.identity{padding-bottom:25px}.updated{max-width:140px}}

.team-group .team-status{font-size:.6875rem;line-height:1.6;color:var(--violet);border-top:1px solid var(--line);padding-top:10px;margin-top:14px}

.company-team{margin:28px 0}.company-team-title{display:flex;align-items:center;gap:10px;font-size:17px;margin-bottom:18px}.company-dot{width:14px;height:14px;border-radius:50%;display:inline-block}.company-team .agent-avatar{width:56px;height:56px;object-fit:cover;border-radius:50%;flex:none}.company-team .team-grid{gap:20px}.company-team .team-status{font-size:12px;line-height:1.5}.company-team .team-group{padding:14px;border:1px solid rgba(115,99,150,.12);border-radius:12px}

.team-contact{font-size:12px;overflow-wrap:anywhere;display:inline-block;margin-top:6px}

/* Brand-led cards retain Nova's public visibility and content settings. */
.experience{margin-top:43px}
.experience .project-card:last-child{grid-column:span 3}
@media(max-width:850px){.experience .project-card:last-child{grid-column:auto}}
@media(max-width:480px){.experience{margin-top:32px}}
.project-card{position:relative;overflow:hidden;min-height:205px;padding:26px;border-radius:20px;border:1px solid #e2ddf6;background:linear-gradient(130deg,#fff,#f2edff);box-shadow:0 5px 18px #28335a06}
.project-card[data-brand="temporacare"]{--card-accent:#c94b3c;border-color:#edd5cc;background:linear-gradient(125deg,#fffaf4 15%,#f9e3d8)}
.project-card[data-brand="helloanna"]{--card-accent:#2862ed;border-color:#d2dffe;background:linear-gradient(125deg,#f8fbff 15%,#e1eaff)}
.project-card[data-brand="studyadvisor"]{--card-accent:#e94055;border-color:#f3cdd2;background:linear-gradient(125deg,#fffafb,#fce4e7)}
.project-card[data-brand="sqwad"]{--card-accent:#464cff;border-color:#d9daff;background:linear-gradient(125deg,#fafaff,#e8e9ff)}
.experience .project-top{justify-content:space-between;min-height:65px}
.experience-logo{display:block;object-fit:contain;flex-shrink:0}
.studyadvisor-logo{width:56px;height:56px;border-radius:14px}
.sqwad-logo{width:142px;height:65px;border-radius:8px}
.experience-visual{display:block;width:100%;height:auto;margin-top:8px;border-radius:12px}
.project-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--card-accent,#8266d8)}
.project-top{flex-wrap:wrap;gap:12px;margin-bottom:24px}
.project-mark.brand-logo{width:160px;height:44px;background:transparent;border-radius:0}
.project-logo{display:block;width:100%;height:40px;object-fit:contain;object-position:left center}
.project-category{padding:5px 9px;border-radius:100px;color:var(--card-accent,#7154bc);background:#ffffffb3;font-size:.6875rem}
.project-card .outbound{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffffba;color:var(--card-accent,#7154bc)}
.project-url{color:var(--card-accent,#7154bc);font-weight:500}
.project-card:focus-visible{outline:3px solid var(--card-accent,#7154bc);outline-offset:4px}
@media(hover:hover){.project-card:hover{background:linear-gradient(125deg,#fff,#f5f1ff);border-color:var(--card-accent,#8266d8);box-shadow:0 14px 32px #28335a12}.project-card[data-brand="temporacare"]:hover{background:linear-gradient(125deg,#fffaf4,#f8d8c9)}.project-card[data-brand="helloanna"]:hover{background:linear-gradient(125deg,#f8fbff,#d5e2ff)}}
@media(max-width:480px){.project-card{padding:22px;min-height:195px}.project-top{gap:8px}.project-mark.brand-logo{width:140px}}

/* Shared dimensions and logo surfaces for work and experience. */
.project-card{height:280px;min-height:280px;box-sizing:border-box}
.project-top,.experience .project-top{min-height:56px;margin-bottom:18px}
.project-mark.brand-logo{box-sizing:border-box;width:160px;height:56px;padding:8px 10px;background:#fff;border-radius:10px}
.project-logo{height:40px}
.experience-logo{box-sizing:border-box;width:160px;height:56px;padding:8px 10px;background:#fff;border-radius:10px;object-position:left center}
.studyadvisor-logo{object-position:center}
.project-card p{margin-bottom:14px}
.experience-more{align-self:flex-start;border:0;background:none;padding:0;font:inherit;font-size:.75rem;cursor:pointer}
.experience-dialog{box-sizing:border-box;width:min(560px,calc(100% - 40px));padding:32px;border:1px solid #d9daff;border-radius:20px;color:#17233d;background:#fafaff;box-shadow:0 24px 80px #17233d33}
.experience-dialog::backdrop{background:#17233d66}
.experience-dialog p{font-size:.9375rem;line-height:1.75;margin:20px 0 0}
.dialog-close{float:right;border:0;background:transparent;font-size:26px;cursor:pointer;color:#536076}
@media(max-width:480px){.project-card{height:300px;min-height:300px}.project-mark.brand-logo,.experience-logo{width:140px}.experience-dialog{padding:24px}}

/* Personal Knack project occupies the complete first row. */
.project-card.knack-card{grid-column:1/-1;height:auto;min-height:280px;background:#f8f7f4;border-color:#e5e3dc;--card-accent:#747568;color:#20221f;justify-content:space-between}
.knack-card .project-top{justify-content:space-between;margin-bottom:28px}
.knack-logo{display:block;width:167px;height:49px;object-fit:contain;mix-blend-mode:multiply}
.knack-card h3{max-width:22ch;margin:0;font-size:clamp(30px,4.4vw,48px);line-height:1.08;letter-spacing:-.045em;font-weight:500}
.knack-card h3 span{color:#747568}
@media(max-width:480px){.project-card.knack-card{min-height:260px}.knack-logo{width:140px;height:auto}.knack-card .project-top{gap:16px}.knack-card h3{font-size:34px}}
