@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--bg:#ecf5fb;--bg-soft:#e2eef7;--surface:rgba(255,255,255,0.82);--surface-strong:#ffffff;--line:#c8dae6;--ink:#172b38;--ink-muted:#5a7180;--accent:#1a9eb3;--accent-strong:#0f7188;--accent-soft:#d8eff5;--warm:#748a95}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% -2%,rgba(26,158,179,.2),transparent 36%),radial-gradient(circle at 90% 0,rgba(103,170,208,.19),transparent 34%),linear-gradient(180deg,#f4fafe,#edf5fb 54%,#e8f1f9);min-height:100vh}.portfolio-shell{position:relative;width:min(1220px,92vw);margin:0 auto;padding:24px 0 72px}.ambient-gradient,.ambient-grain{position:fixed;inset:0;pointer-events:none;z-index:-1}.ambient-gradient{background:radial-gradient(ellipse at 20% 15%,rgba(26,158,179,.11),transparent 48%),radial-gradient(ellipse at 82% 10%,rgba(103,170,208,.11),transparent 42%);animation:breath 16s ease-in-out infinite}.ambient-grain{opacity:.05;background-image:radial-gradient(circle at 1px 1px,#7c8680 1px,transparent 0);background-size:18px 18px}.topbar{position:sticky;top:14px;z-index:20;flex-direction:column;align-items:stretch;justify-content:center;padding:12px 16px;border:1px solid var(--line);border-radius:18px;background:rgba(248,250,248,.86);backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(24,42,48,.07)}.topbar,.topbar-row{display:flex;gap:12px}.topbar-row{align-items:center;justify-content:space-between}.top-identity{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-family:IBM Plex Sans,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.01em}.brand-center{justify-content:center;font-size:1.48rem;font-weight:800;letter-spacing:.02em}.brand-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#7ca6aa);box-shadow:0 0 0 6px rgba(63,127,134,.14)}.top-role{margin:0;color:#3f6070;font-size:.82rem;font-family:IBM Plex Sans,sans-serif;font-weight:700;letter-spacing:.01em;min-height:1.2em}.type-cursor{margin-left:2px;color:var(--accent-strong);animation:cursorBlink .85s step-end infinite}.menu{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:center}.menu-link{border-radius:999px;border:1px solid transparent;text-decoration:none;padding:7px 11px;font-size:.75rem;color:var(--ink-muted);font-family:IBM Plex Sans,sans-serif;transition:all .18s ease}.menu-link.active,.menu-link:hover{color:var(--ink);border-color:var(--line);background:rgba(255,255,255,.7)}.topbar-cta{border-radius:999px;text-decoration:none;padding:13px 22px;font-size:1rem;font-weight:800;letter-spacing:.02em;color:#f4f8f8;background:linear-gradient(120deg,#0e6e87,#1aa8bd);box-shadow:0 10px 24px rgba(47,100,106,.27)}.wiggle-cta{animation:ctaWiggle 1.2s ease-in-out infinite;transform-origin:center}.hero,.section{border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:0 18px 34px rgba(26,43,49,.07)}.hero{margin-top:50px;padding:clamp(22px,4vw,44px)}.hero-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center}.eyebrow,.section-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:.12em;font-family:IBM Plex Sans,sans-serif;font-size:.69rem;color:var(--accent-strong);font-weight:600}.hero h1{margin:0;font-size:clamp(2rem,5vw,3.6rem);line-height:1.07;letter-spacing:-.03em}.hero h1 span{display:block;color:#2b6268}.hero-copy{margin:15px 0 0;max-width:62ch;color:var(--ink-muted);line-height:1.72;font-size:.96rem}.hero-actions{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}.btn{text-decoration:none;border-radius:12px;border:1px solid transparent;padding:11px 14px;font-size:.82rem;font-weight:700;transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(120deg,var(--accent-strong),var(--accent));color:#f5f8f8;box-shadow:0 10px 22px rgba(63,127,134,.2)}.btn-secondary{background:rgba(255,255,255,.74);color:var(--ink);border-color:var(--line)}.ai-stage{position:relative;min-height:280px;border-radius:20px;border:1px solid #cfd9d3;background:radial-gradient(circle at 28% 24%,rgba(63,127,134,.2),transparent 52%),radial-gradient(circle at 80% 78%,rgba(154,143,112,.2),transparent 44%),linear-gradient(145deg,rgba(255,255,255,.92),rgba(242,246,244,.84));overflow:hidden}.ai-beam,.ai-node,.ai-orb,.ai-ring{position:absolute}.ai-orb{border-radius:50%;filter:blur(2px)}.orb-one{width:140px;height:140px;top:-28px;left:-20px;background:rgba(63,127,134,.22);animation:driftOne 10s ease-in-out infinite}.orb-two{width:110px;height:110px;right:10px;top:38px;background:rgba(122,160,166,.23);animation:driftTwo 12s ease-in-out infinite}.orb-three{width:130px;height:130px;right:-28px;bottom:-30px;background:rgba(154,143,112,.2);animation:driftThree 11s ease-in-out infinite}.ai-ring{width:220px;height:220px;border-radius:50%;border:1px solid rgba(63,127,134,.28);left:50%;top:50%;transform:translate(-50%,-50%);animation:pulseRing 4.2s ease-in-out infinite}.ai-node{width:12px;height:12px;border-radius:50%;background:#2f646a;box-shadow:0 0 0 6px rgba(63,127,134,.17)}.node-one{left:44px;top:82px;animation:bob 3.6s ease-in-out infinite}.node-two{right:54px;top:118px;animation:bob 3.8s ease-in-out infinite reverse}.node-three{left:138px;bottom:52px;animation:bob 3.4s ease-in-out infinite}.ai-beam{height:1px;background:linear-gradient(90deg,transparent,rgba(47,100,106,.55),transparent);transform-origin:left center;animation:beamFlow 3.3s linear infinite}.beam-one{width:120px;left:52px;top:92px;transform:rotate(22deg)}.beam-two{width:130px;left:130px;top:140px;transform:rotate(-18deg);animation-delay:.8s}.beam-three{width:110px;left:86px;top:188px;transform:rotate(7deg);animation-delay:1.4s}.ai-badge{position:absolute;padding:7px 10px;border-radius:999px;font-size:.69rem;font-family:IBM Plex Sans,sans-serif;background:rgba(255,255,255,.9);border:1px solid #ced8d2;color:#32565b;animation:bob 4.4s ease-in-out infinite}.badge-one{left:14px;top:16px}.badge-two{right:16px;top:16px;animation-delay:.8s}.badge-three{left:50%;bottom:14px;transform:translateX(-50%);animation-delay:1.3s}.stat-grid{margin-top:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card{border-radius:15px;border:1px solid var(--line);padding:13px;background:rgba(255,255,255,.74)}.stat-value{margin:0;color:#2f646a;font-size:1.35rem;font-weight:800}.stat-card h2{margin:6px 0 7px;font-size:.88rem}.stat-card p{margin:0;color:var(--ink-muted);font-size:.78rem;line-height:1.5}.section{margin-top:22px;padding:clamp(20px,3vw,34px)}.section-head h2{margin:0;font-size:clamp(1.35rem,2.8vw,2rem);max-width:24ch}.section-intro{margin:8px 0 0;color:var(--ink-muted);line-height:1.74;max-width:80ch}.guidance-track{position:relative;margin-top:14px;overflow:hidden;background:linear-gradient(90deg,rgba(63,127,134,.12),rgba(63,127,134,.04))}.guidance-track,.track-pulse{height:8px;border-radius:999px}.track-pulse{position:absolute;top:0;width:80px;background:linear-gradient(90deg,rgba(63,127,134,0),rgba(63,127,134,.55),rgba(63,127,134,0));animation:trackFlow 4.8s linear infinite}.pulse-one{left:-80px}.pulse-two{left:-140px;animation-delay:1.5s}.pulse-three{left:-210px;animation-delay:3s}.guidance-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guidance-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.78)}.guidance-card p{margin:8px 0 0;color:var(--ink-muted);line-height:1.62;font-size:.84rem}.guidance-phase{margin:0 0 6px;color:var(--accent-strong);font-size:.8rem;font-weight:700}.quote-line{margin:14px 0 0;border-left:4px solid var(--accent);padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.7);color:#2a4e5f;font-size:.9rem}.workspace-panel{scroll-margin-top:110px}.view-switch{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.view-pill{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.76);color:var(--ink-muted);font-size:.74rem;font-family:IBM Plex Sans,sans-serif;font-weight:700;cursor:pointer}.view-pill.active{color:#f3fbff;border-color:transparent;background:linear-gradient(120deg,var(--accent-strong),var(--accent))}.lens-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lens-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:rgba(255,255,255,.76)}.lens-title{margin:0;text-transform:uppercase;letter-spacing:.1em;font-family:IBM Plex Sans,sans-serif;font-size:.68rem;color:var(--accent-strong);font-weight:700}.lens-label{margin:6px 0 0;font-size:.9rem;font-weight:800;color:var(--ink)}.lens-card ul{margin:10px 0 0;padding-left:18px}.lens-card li{color:var(--ink-muted);margin-bottom:8px;line-height:1.5;font-size:.82rem}.audience-toggle{margin-top:14px;display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:4px;background:rgba(255,255,255,.65)}.audience-pill{border:none;border-radius:999px;background:transparent;color:var(--ink-muted);padding:8px 14px;font-size:.78rem;font-weight:700;cursor:pointer}.audience-pill.active{background:linear-gradient(120deg,var(--accent-soft),#e7f1f2);color:var(--accent-strong)}.audience-card{margin-top:14px;border:1px solid var(--line);border-radius:16px;padding:16px;background:rgba(255,255,255,.75)}.audience-card h3{margin:0;font-size:1.02rem}.audience-card p{margin:8px 0 0;color:var(--ink-muted);line-height:1.7}.why-hire-highlight{margin-top:14px;border:1px solid #bfd4d7;border-radius:16px;padding:16px;background:linear-gradient(145deg,#e9f3f4,#f4f9f9);box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}.highlight-kicker{margin:0 0 6px;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;font-family:IBM Plex Sans,sans-serif;color:#2f646a;font-weight:700}.why-hire-highlight h3{margin:0;font-size:1.06rem}.why-hire-highlight p{margin:8px 0 0;color:#4f666c;line-height:1.67}.audience-grid{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.audience-hm-grid,.audience-recruiter-grid{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hm-card,.recruiter-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:rgba(255,255,255,.75)}.hm-card h3,.recruiter-card h3{margin:0;font-size:.96rem}.hm-card p,.recruiter-card p{margin:8px 0 0;color:var(--ink-muted);line-height:1.6;font-size:.83rem}.audience-grid h4{margin:0 0 8px;font-size:.9rem}.audience-grid ul,.project-card ul,.timeline-card ul{margin:0;padding-left:18px}.audience-grid li,.project-card li,.timeline-card li{color:var(--ink-muted);margin-bottom:8px;line-height:1.55}.pillar-grid,.projects-grid,.story-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.action-card,.contact-card,.pillar-card,.project-card,.story-card,.timeline-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(255,255,255,.74)}.action-card h3,.pillar-card h3,.project-head h3,.story-card h3,.timeline-head h3{margin:0}.action-card p,.contact-card p,.filter-count,.pillar-summary,.pillar-translation,.project-summary,.story-card p{color:var(--ink-muted);line-height:1.67}.pillar-summary{margin:9px 0 5px}.pillar-translation{margin:0 0 10px}.tag-wrap{display:flex;gap:7px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:.69rem;font-family:IBM Plex Sans,sans-serif;background:var(--accent-soft);color:var(--accent-strong);border:1px solid #c6dce0}.action-map-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.action-step{margin:0 0 7px;text-transform:uppercase;letter-spacing:.12em;font-family:IBM Plex Sans,sans-serif;font-size:.66rem;color:var(--accent-strong);font-weight:700}.action-card p,.story-card p{margin:8px 0 0;font-size:.85rem}.compact-pillars{margin-top:12px}.pillar-card.compact{padding:12px}.pillar-card.compact h3{margin:0 0 9px;font-size:.86rem}.action-verb{margin:8px 0 0;color:#2e5365;font-size:.84rem;font-weight:700;line-height:1.55}.action-outcome{margin:6px 0 0;color:var(--ink-muted);font-size:.82rem;line-height:1.52}.compact-story-grid{margin-top:12px}.story-card.compact h3{font-size:.94rem}.story-outcome,.story-what{margin:8px 0 0;color:var(--ink-muted);font-size:.82rem;line-height:1.54}.story-outcome{color:#2e5365;font-weight:700}.timeline{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.timeline-card{border-left:4px solid var(--accent)}.timeline-head p{margin:4px 0 0;color:#4f646a}.timeline-meta{margin:10px 0;display:flex;justify-content:space-between;gap:7px;flex-wrap:wrap;font-size:.72rem;color:var(--warm);font-family:IBM Plex Sans,sans-serif}.interest-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.interest-card{padding:0;text-align:left;cursor:pointer;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.74);overflow:hidden;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}.interest-card:hover{transform:translateY(-3px);border-color:#bfd5d8;box-shadow:0 13px 30px rgba(47,100,106,.14)}.interest-card.active{border-color:#a9c8cc;box-shadow:0 14px 32px rgba(47,100,106,.18)}.interest-copy{padding:10px 12px 11px}.interest-label{margin:0;font-size:.8rem;color:var(--accent-strong);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.interest-label,.interest-line{font-family:IBM Plex Sans,sans-serif}.interest-line{margin:7px 0 0;color:#4f666c;line-height:1.5;font-size:.75rem}.lane-pill{border-radius:999px;background:linear-gradient(120deg,rgba(236,245,246,.9),rgba(249,252,251,.9));animation:laneWiggle 5s ease-in-out infinite}.lane-pill:nth-child(2){animation-delay:.6s}.lane-pill:nth-child(3){animation-delay:1.2s}.projects-list{margin-top:12px;display:grid;grid-template-columns:1fr;gap:10px}.project-order{display:inline-flex;min-width:30px;margin-right:8px;color:var(--accent-strong);font-size:.74rem;font-family:IBM Plex Sans,sans-serif;letter-spacing:.08em}.filter-count{margin:10px 0 0;font-size:.82rem}.project-card{display:flex;flex-direction:column;gap:10px}.project-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.project-head a{text-decoration:none;font-size:.74rem;font-family:IBM Plex Sans,sans-serif;color:var(--accent-strong)}.project-summary{margin:0;font-size:.85rem}.project-toggle{align-self:flex-start;border:1px solid #c3d7e5;border-radius:999px;padding:6px 10px;font-size:.72rem;font-family:IBM Plex Sans,sans-serif;background:rgba(255,255,255,.78);color:var(--accent-strong);cursor:pointer;display:inline-flex;align-items:center;gap:5px}.toggle-chevron{display:inline-block;transition:transform .18s ease}.project-toggle.active .toggle-chevron{transform:rotate(180deg)}.project-details{max-height:0;opacity:0;overflow:hidden;padding-left:18px;margin:0;transition:max-height .22s ease,opacity .22s ease,margin-top .22s ease}.project-details.expanded{max-height:180px;opacity:1;margin-top:2px}.guidance-timeline{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.guidance-step-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.78)}.step-head{margin:0;display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--ink)}.step-badge{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:IBM Plex Sans,sans-serif;font-size:.7rem;font-weight:800;color:#f3fbff;background:linear-gradient(120deg,var(--accent-strong),var(--accent))}.step-summary{margin:8px 0 0;color:var(--ink-muted);font-size:.8rem;line-height:1.5}.contact-card{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(236,244,242,.83));padding:clamp(20px,3vw,30px)}.contact-card h2{margin:0;font-size:clamp(1.35rem,3.2vw,2rem);max-width:24ch}.contact-card p{margin:10px 0 0;max-width:68ch}.contact-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes breath{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes driftOne{0%,to{transform:translate(0)}50%{transform:translate(12px,6px)}}@keyframes driftTwo{0%,to{transform:translate(0)}50%{transform:translate(-8px,12px)}}@keyframes driftThree{0%,to{transform:translate(0)}50%{transform:translate(-11px,-7px)}}@keyframes pulseRing{0%,to{transform:translate(-50%,-50%) scale(.95);opacity:.55}50%{transform:translate(-50%,-50%) scale(1.03);opacity:.85}}@keyframes beamFlow{0%{opacity:.15}50%{opacity:.95}to{opacity:.15}}@keyframes trackFlow{0%{transform:translateX(0)}to{transform:translateX(520px)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes ctaWiggle{0%,to{transform:rotate(0deg) translateY(0)}20%{transform:rotate(-2.5deg) translateY(-1px)}40%{transform:rotate(2.5deg) translateY(-1px)}60%{transform:rotate(-1.9deg) translateY(0)}80%{transform:rotate(1.9deg) translateY(0)}}@keyframes laneWiggle{0%,86%,to{transform:rotate(0deg) translateY(0)}89%{transform:rotate(-1.5deg) translateY(-1px)}92%{transform:rotate(1.5deg) translateY(-1px)}95%{transform:rotate(-1deg) translateY(0)}}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width:1080px){.hero-layout{grid-template-columns:1fr}.action-map-grid,.guidance-timeline,.lens-grid,.pillar-grid,.stat-grid,.story-grid,.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.interest-grid{grid-template-columns:1fr}}@media (max-width:760px){.portfolio-shell{width:min(640px,94vw);padding-top:16px}.topbar{align-items:flex-start;border-radius:14px}.topbar,.topbar-row{flex-direction:column}.topbar-row{width:100%;align-items:stretch}.top-identity{width:100%;align-items:center}.top-role{font-size:.69rem}.menu{width:100%;justify-content:center}.topbar-cta{width:100%;text-align:center}.hero{margin-top:18px}.ai-stage{min-height:230px}.ai-badge{font-size:.62rem}.action-map-grid,.audience-grid,.guidance-timeline,.lens-grid,.pillar-grid,.stat-grid,.story-grid,.timeline{grid-template-columns:1fr}.project-head{flex-direction:column;align-items:flex-start;gap:6px}}