@font-face{font-family:Portfolio;src:url('assets/sans.woff') format('woff');font-display:swap;font-weight:400}@font-face{font-family:Portfolio;src:url('assets/sans-bold.woff') format('woff');font-display:swap;font-weight:700}
:root{--ink:#153f4a;--text:#273e43;--muted:#587078;--line:#d5dfe0;--soft:#f0f5f5;--paper:#fff;--accent:#a56831}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--text);font:17px/1.65 Portfolio,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit}img{max-width:100%;display:block}figure{margin:0}h1,h2,h3,h4{color:var(--ink);line-height:1.2;margin:0;font-weight:400}h1{font-size:42px;letter-spacing:-.035em}h2{font-size:30px;letter-spacing:-.025em}h3{font-size:21px}h4{font-size:16px;font-weight:700}p{margin:0 0 19px}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(1130px,calc(100% - 80px));margin:auto}.narrow{max-width:900px}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:99}.skip:focus{top:10px}header{background:#fffefefa;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.header-inner{width:min(1210px,calc(100% - 80px));min-height:92px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{text-decoration:none;font-size:24px;color:var(--ink);white-space:nowrap;font-weight:700;letter-spacing:-.03em}nav{display:flex;align-items:center;gap:28px}nav a{font-size:14px;text-decoration:none;padding:10px 0;position:relative}nav a:after{content:'';height:2px;background:var(--ink);position:absolute;bottom:1px;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .2s}nav a:hover:after,nav a[aria-current=page]:after{transform:scaleX(1)}nav a[aria-current=page]{color:var(--ink);font-weight:700}.menu{display:none;background:none;border:1px solid var(--line);padding:6px 13px;color:var(--ink)}.bio{padding:68px 0 72px;display:grid;grid-template-columns:.9fr 1.12fr;gap:64px;align-items:start}.headshot{margin-top:4px;border:1px solid #b3c2c5;padding:7px;background:white}.headshot img{width:100%;height:auto}.bio-copy h1{margin-bottom:23px;font-size:40px}.bio-copy p{font-size:16px;line-height:1.65}.bio-copy .lead{font-size:18px;color:var(--ink)}.button{display:inline-flex;align-items:center;gap:35px;background:var(--ink);color:white;padding:11px 20px;text-decoration:none;font-size:14px;border:1px solid var(--ink);transition:background .2s}.button:hover{background:#245966}.bio-copy .button{margin-top:4px}.video-section{border-top:1px solid var(--line);padding:55px 0 65px}.section-heading{margin-bottom:28px}.section-heading p{margin:10px 0 0;font-size:16px;color:var(--muted)}.video{max-width:860px;aspect-ratio:16/9;background:var(--soft)}.video iframe{width:100%;height:100%;border:0}.underlink{display:inline-block;font-size:14px;margin-top:18px;text-decoration-thickness:1px;color:var(--ink)}.page-heading{padding:53px 0 42px}.page-heading h1{margin-bottom:15px}.page-heading p{max-width:760px;color:var(--muted);font-size:17px;margin-bottom:0}.page-heading .button{margin-top:22px}.resume-preview{display:block;margin:0 auto;border:1px solid var(--line);max-width:830px;box-shadow:0 8px 28px #153f4a0a;transition:box-shadow .2s}.resume-preview:hover{box-shadow:0 10px 30px #153f4a1c}.resume-preview img{width:100%;height:auto}.caption{font-size:13px;color:var(--muted);margin:17px 0 55px}.centered{text-align:center}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding:0 0 70px}.work-image{display:flex;align-items:center;justify-content:center;background:var(--soft);border:1px solid var(--line);padding:17px;height:350px;overflow:hidden}.work-image img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.work-image:hover img{transform:scale(1.025)}.work .course{font-size:12px;color:var(--muted);margin:22px 0 10px}.work h2{font-size:24px;line-height:1.25;margin-bottom:16px}.work h2 a{text-decoration:none}.work h2 a:hover{text-decoration:underline}.work p{font-size:15px;line-height:1.65;margin-bottom:13px}.work .underlink{margin-top:5px}.growth-heading p{max-width:820px}.section-nav{gap:30px;flex-wrap:wrap;margin-top:24px}.section-nav a{font-size:14px;color:var(--ink);border-bottom:1px solid var(--line)}.analysis-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;padding:55px 0;border-top:1px solid var(--line)}.category{font-size:13px;color:var(--muted);margin-bottom:13px}.analysis-copy h2{margin-bottom:25px;font-size:31px;max-width:480px}.analysis-copy p{font-size:16px;line-height:1.7}.analysis-copy p:last-child{margin-bottom:0}.analysis-copy strong{color:var(--ink)}.chart{background:var(--soft);padding:28px;border:1px solid #e0e9e9}.chart h3{font-size:20px;line-height:1.35;margin-bottom:6px}.chart-sub{font-size:12px;color:var(--muted);margin-bottom:25px}.bar-row{margin:25px 0}.bar-label{display:flex;align-items:baseline;justify-content:space-between;font-size:14px;gap:15px;margin-bottom:8px}.bar-label strong{font-size:18px;color:var(--ink)}.track{height:9px;background:#d8e3e5}.track>span{height:100%;background:var(--ink);display:block}.scale{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.chart figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:24px}.legend{display:flex;gap:23px;flex-wrap:wrap;font-size:12px;margin-bottom:25px}.legend span{display:flex;gap:8px;align-items:center}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%}.self{background:var(--ink)}.others{background:var(--accent)}.comparison+.comparison{border-top:1px solid var(--line);padding-top:20px}.comparison h4{font-size:15px;margin:0 0 5px}.comparison p{font-size:12px;color:var(--muted);margin:0 0 2px}.comparison svg{width:100%;height:auto;display:block}.svg-label{font-family:Portfolio,Arial,sans-serif;font-size:15px;fill:var(--muted)}.svg-value{font-family:Portfolio,Arial,sans-serif;font-size:16px;fill:var(--ink);font-weight:700}.mini-trend{margin-top:27px}.mini-trend h4{font-size:15px;margin-bottom:13px}.round-bar{display:grid;grid-template-columns:60px 1fr 39px;gap:12px;align-items:center;font-size:12px;margin:10px 0}.round-bar strong{text-align:right;color:var(--ink)}.round-bar .track{height:7px}.next-step{padding:40px;background:var(--soft);margin:12px 0 30px}.next-step h2{font-size:27px;margin-bottom:19px}.next-step p{font-size:16px;max-width:900px;margin:0}.source-note{font-size:12px;line-height:1.65;color:var(--muted);max-width:880px;margin:0 0 55px}.contact-page{min-height:65vh;max-width:950px}.contact-page .page-heading p{max-width:600px}.contact-options{max-width:680px;margin:5px 0 80px}.contact-options>a{display:flex;gap:23px;align-items:center;padding:27px 0;border-top:1px solid var(--line);text-decoration:none}.contact-options>a:last-child{border-bottom:1px solid var(--line)}.contact-options svg{width:27px;height:27px;stroke:var(--ink);fill:none;stroke-width:1.5;flex:none}.contact-options h2{font-size:23px;margin-bottom:4px}.contact-options span{font-size:16px;color:var(--muted)}.contact-options b{margin-left:auto;font-weight:400}.contact-options a:hover span{text-decoration:underline}footer{border-top:1px solid var(--line);background:#f8faf9}.footer-inner{width:min(1130px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:100px;font-size:13px;color:var(--muted)}.footer-links{display:flex;gap:25px}.footer-links a{display:flex;align-items:center;gap:8px;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-links svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.5}.will-reveal{opacity:0;transform:translateY(10px);transition:opacity .45s,transform .45s}.will-reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.header-inner{gap:20px}nav{gap:20px}.bio{gap:36px;grid-template-columns:.85fr 1.15fr}.bio-copy h1{font-size:35px}.portfolio-grid{gap:23px}.work-image{height:290px}.analysis-row{gap:35px}.chart{padding:23px}.bar-label{font-size:12px}}
@media(max-width:760px){html{scroll-padding-top:85px}.wrap,.header-inner,.footer-inner{width:calc(100% - 40px)}.header-inner{min-height:74px}.brand{font-size:22px}.menu{display:block}header nav{display:none;position:absolute;top:74px;left:0;right:0;padding:12px 20px 22px;background:white;border-bottom:1px solid var(--line);box-shadow:0 8px 15px #153f4a0a}header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}header nav a{padding:11px 0}.bio{grid-template-columns:1fr;padding:30px 0 40px;gap:30px}.headshot{width:min(100%,380px);margin:auto;padding:5px}.bio-copy h1{font-size:34px}.bio-copy p{font-size:16px}.bio-copy .lead{font-size:18px}.desktop-break{display:none}.video-section{padding:35px 0 45px}h1{font-size:35px}h2{font-size:27px}.section-heading p{font-size:15px}.page-heading{padding:35px 0 30px}.page-heading p{font-size:16px}.portfolio-grid{grid-template-columns:1fr;gap:42px;padding-bottom:45px}.work-image{height:390px;max-width:450px}.work .course{margin-top:17px}.work h2{font-size:25px}.work p{font-size:16px}.analysis-row{grid-template-columns:1fr;padding:35px 0;gap:27px}.analysis-copy h2{font-size:28px;margin-bottom:20px}.chart{padding:22px}.chart h3{font-size:20px}.bar-label{font-size:14px}.section-nav{gap:15px;margin-top:20px}.section-nav a{font-size:12px}.next-step{padding:25px 22px;margin-top:5px}.next-step h2{font-size:25px}.source-note{margin-bottom:35px}.contact-page{min-height:65vh}.contact-options{margin-bottom:50px}.contact-options>a{gap:17px}.contact-options span{font-size:15px}.footer-inner{min-height:100px;flex-wrap:wrap;justify-content:center;gap:12px;padding:25px 0}.footer-links{gap:22px}.caption{font-size:12px;margin-bottom:35px}}
/* Aligned identity, larger portrait, and clear project image links. */
:root{--gold:#dfbc7d;--network:#a36a30;--warm:#f8f4eb;--ink:#153f4a;--muted:#526c72}
.wrap,.header-inner,.footer-inner{width:min(1220px,calc(100% - 80px))}.brand{display:flex;align-items:center;gap:14px;font-size:23px}.brand-mark{width:46px;height:46px;color:var(--ink);flex:none}.brand-mark text{font:20px Portfolio,Arial,sans-serif;letter-spacing:-1px}.logo-outline{stroke-dasharray:1;animation:draw-logo 1.25s ease both}.header-inner{min-height:96px}nav{gap:29px}nav a{font-size:15px}
.bio{grid-template-columns:1fr 1fr;gap:65px;padding:56px 0 64px;align-items:start}.bio-copy{grid-column:1;grid-row:1;padding-top:4px}.headshot{grid-column:2;grid-row:1;width:100%;padding:6px;margin:0;border-color:#bdc9ca;animation:portrait-enter 1.05s cubic-bezier(.2,.7,.2,1) both}.headshot img{height:auto;width:100%}.bio-copy h1{font-size:42px;line-height:1.16;letter-spacing:-.035em;margin-bottom:25px}.bio-copy p{font-size:17px;line-height:1.65;margin-bottom:19px}.bio-copy .lead{font-size:19px;line-height:1.6}.bio-copy>*{animation:copy-enter .8s ease both}.bio-copy>:nth-child(2){animation-delay:.1s}.bio-copy>:nth-child(3){animation-delay:.2s}.bio-copy>:nth-child(4){animation-delay:.3s}.bio-copy>:nth-child(5){animation-delay:.4s}.bio-copy>:nth-child(6){animation-delay:.5s}.button{font-size:15px;padding:12px 22px}.button span{transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}
.portfolio-grid{gap:35px;align-items:stretch}.work{display:flex;flex-direction:column;text-align:left}.work-image{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:0;height:395px;text-decoration:none;border-color:#d0dcdd;background:#edf3f2;box-shadow:0 0 0 #153f4a00;transition:box-shadow .3s,transform .3s,border-color .3s;position:relative}.work-preview{padding:23px 24px 18px;flex:1;min-height:0}.work-preview img{object-fit:contain;object-position:center;transition:transform .45s cubic-bezier(.2,.65,.2,1);height:100%;width:100%}.work-image:hover,.work-image:focus-visible{transform:translateY(-5px);box-shadow:0 15px 28px #153f4a14;border-color:#a0b7ba}.work-image:hover img{transform:scale(1.035)}.image-link-label{display:flex;align-items:center;justify-content:space-between;font-size:15px;color:var(--ink);padding:12px 18px;border-top:1px solid #d2dedf;background:#ffffffdb;gap:15px}.image-arrow{height:29px;width:29px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;transition:transform .25s,background .25s}.work-image:hover .image-arrow{transform:rotate(45deg);background:#327385}.work .course{font-size:14px;line-height:1.5;margin:22px 0 12px}.work h2{font-size:26px;line-height:1.25;min-height:67px;margin:0 0 17px}.work p{font-size:17px;line-height:1.65}.work .project-context{min-height:85px;margin-bottom:16px}.portfolio-grid .work:nth-child(2){transition-delay:.1s}.portfolio-grid .work:nth-child(3){transition-delay:.2s}
/* Evidence has three distinct visual treatments, with exact scores retained. */
.evolution-heading{padding-bottom:36px}.evolution-heading>p{max-width:850px;color:var(--text);font-size:18px;line-height:1.65}.evolution-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.evolution-toolbar .section-nav{margin:0;gap:10px}.section-nav a{border:1px solid var(--line);border-radius:30px;padding:8px 18px;font-size:14px;background:#fff}.section-nav a:hover{background:var(--soft)}.section-nav a:after{display:none}.replay{border:0;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px}.replay span{font-size:21px;display:inline-block;transition:transform .4s}.replay:hover span{transform:rotate(-180deg)}.evolution-section{border-top:1px solid var(--line);padding:48px 0 57px}.evolution-section-heading{max-width:890px;margin-bottom:30px}.evolution-section-heading h2{font-size:34px;max-width:850px;margin:0 0 18px}.evolution-section-heading>p:not(.category){font-size:18px;line-height:1.65;margin:0;max-width:850px}.category{font-size:14px;letter-spacing:.015em;margin-bottom:12px}.evidence-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start}.evidence-panel{border:1px solid var(--line);border-radius:5px;padding:30px}.figure-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:24px;flex-wrap:wrap}.figure-heading h3{font-size:23px}.figure-heading>span{font-size:13px;color:var(--muted)}.motivations{background:var(--ink);border-color:var(--ink);color:white}.motivations .figure-heading h3,.motivations h4{color:white}.motivations .figure-heading>span{color:#c6d9dc}.motivation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;text-align:center;margin:15px 0 29px}.motivation svg{width:100%;max-width:170px;display:block;margin:0 auto 14px}.ring-track{fill:none;stroke:#41636b;stroke-width:7}.ring-value{fill:none;stroke:var(--gold);stroke-width:7;stroke-linecap:round;transform:rotate(-90deg);transform-origin:75px 75px}.ring-number{font-family:Portfolio,Arial,sans-serif;font-size:38px;fill:white}.ring-max{font-family:Portfolio,Arial,sans-serif;font-size:12px;fill:#cfdee0}.motivation h4{font-size:16px;font-weight:400}.motivation p{font-size:13px;line-height:1.5;color:#c6d9dc;margin:7px 0 0}.alignment-strip{border-top:1px solid #4e6c73;padding-top:22px}.alignment-strip>p{font-size:13px;color:#c6d9dc;margin-bottom:11px}.trait-list{display:flex;flex-wrap:wrap;gap:9px}.trait-list span{font-size:14px;padding:5px 13px;border:1px solid #617c83;border-radius:30px}.evidence-panel figcaption,.semester-figure figcaption{font-size:13px;line-height:1.6;margin-top:23px;color:var(--muted)}.motivations figcaption{color:#c6d9dc}.reflection h3{font-size:21px;margin:2px 0 13px}.reflection h3:not(:first-child){margin-top:27px}.reflection p{font-size:17px;line-height:1.7;margin-bottom:19px}.reflection p:last-child{margin-bottom:0}.perspectives{background:var(--warm);border-color:#e9e1d2}.perspectives .legend{font-size:14px;gap:24px;margin-bottom:25px}.others{background:var(--network)}.perspective-metric+ .perspective-metric{padding-top:22px;border-top:1px solid #e2daca;margin-top:17px}.perspective-metric h4{font-size:17px;margin-bottom:5px;font-weight:400}.perspective-metric p{font-size:13px;margin-bottom:0;color:var(--muted)}.perspective-metric svg{width:100%;display:block;margin-top:10px;overflow:visible}.axis{stroke:#d7d1c6;stroke-width:4;stroke-linecap:round}.zero{stroke:#b2ab9e;stroke-width:1}.connection-line{stroke:#607c7d;stroke-width:4}.point-self{fill:var(--ink);stroke:var(--warm);stroke-width:3}.point-network{fill:var(--network);stroke:var(--warm);stroke-width:3}.point-label{font-family:Portfolio,Arial,sans-serif;font-size:18px;fill:var(--ink);font-weight:700}.network-text{fill:#875426}.axis-label{font-family:Portfolio,Arial,sans-serif;font-size:15px;fill:#597077}.common-ground{padding-top:21px;margin-top:23px;border-top:1px solid #e2daca}.common-ground span{display:block;font-size:13px;margin-bottom:6px;color:var(--muted)}.common-ground strong{font-size:16px;font-weight:400;color:var(--ink)}.reflection blockquote{margin:24px 0;padding:17px 0 17px 22px;border-left:3px solid #c7a66e;font-size:23px;line-height:1.4;color:var(--ink)}.reflection cite{font-style:normal;display:block;font-size:13px;color:var(--muted);margin-top:9px}
.semester-figure{margin-top:28px}.semester-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative}.semester-grid:before{content:'';position:absolute;height:1px;left:24px;right:24px;top:38px;background:#c1d1d3;z-index:1}.semester-card{background:#f0f5f5;border:1px solid #d5e1e1;border-radius:5px;padding:25px 25px 22px;position:relative}.semester-card:nth-child(2){background:#e8f0ef;border-color:#b8cdcd}.round-heading{font-size:20px;color:var(--ink);margin:0 0 28px;position:relative;z-index:2;display:flex;align-items:center;gap:10px;background:inherit;width:max-content;padding-right:14px;line-height:25px}.round-dot{height:10px;width:10px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 5px #f0f5f5}.semester-card:nth-child(2) .round-dot{background:#a36a30;box-shadow:0 0 0 5px #e8f0ef}.semester-metric{margin:18px 0}.semester-metric>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;font-size:14px}.semester-metric strong{font-size:22px;color:var(--ink);white-space:nowrap;font-weight:400}.semester-metric small{font-size:12px;color:var(--muted)}.semester-track{height:6px;background:#ceddde;border-radius:4px;overflow:hidden}.semester-track>span{height:100%;display:block;background:#2b6170;border-radius:4px;transform-origin:left}.round-note{border-top:1px solid #c9d8da;margin-top:24px;padding-top:19px}.round-note h4{font-size:18px;font-weight:400;margin-bottom:9px}.round-note p{font-size:15px;line-height:1.6;margin:0}.team-reflection{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:36px}.practice{padding:28px 32px;background:var(--warm);border-radius:5px;border:1px solid #e9e1d2}.practice h3{font-size:22px;margin-bottom:22px}.practice ul{padding:0;list-style:none;margin:0 0 20px}.practice li{display:flex;gap:15px;align-items:start;margin:15px 0;font-size:17px;line-height:1.5}.practice li>span{color:#7b602f}.practice p{font-size:14px;color:var(--muted);margin:0}.next-step{background:var(--ink);color:white;padding:37px 40px;display:flex;gap:40px;align-items:center;border-radius:5px;margin-top:0}.next-step h2{color:white;font-size:28px}.next-step p{font-size:17px;line-height:1.7}.next-step .button{flex:none;background:var(--gold);color:var(--ink);border-color:var(--gold)}.source-note{font-size:13px;max-width:1020px;line-height:1.6}
/* Motion is visible on arrival, once per section, and optional to replay. */
@keyframes draw-logo{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes copy-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes portrait-enter{from{opacity:0;clip-path:inset(0 0 12% 0);transform:translateY(18px)}to{opacity:1;clip-path:inset(0);transform:none}}.will-reveal{transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.motion .chart-animate .ring-value{stroke-dashoffset:100;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.65,.2,1)}.motion .chart-animate.animated .ring-value{stroke-dashoffset:var(--ring-offset)}.motion .motivation:nth-child(2) .ring-value{transition-delay:.15s}.motion .motivation:nth-child(3) .ring-value{transition-delay:.3s}.motion .connection-line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s ease .15s}.motion .animated .connection-line{stroke-dashoffset:0}.motion .semester-track>span{transform:scaleX(0);transition:transform 1.25s cubic-bezier(.2,.65,.2,1)}.motion .animated .semester-track>span{transform:scaleX(1)}.motion .semester-card:nth-child(2) .semester-track>span{transition-delay:.15s}.motion .semester-card:nth-child(3) .semester-track>span{transition-delay:.3s}
@media(max-width:1100px){.bio{gap:42px}.bio-copy h1{font-size:38px}.bio-copy p{font-size:16px}.bio-copy .lead{font-size:18px}.portfolio-grid{gap:24px}.work-image{height:345px}.work-preview{padding:20px}.work h2{font-size:24px;min-height:90px}.work .project-context{min-height:112px}.work p{font-size:16px}.evidence-layout{gap:30px;grid-template-columns:1.2fr 1fr}.evidence-panel{padding:25px}.motivation-grid{gap:10px}.motivation h4{font-size:14px}.semester-card{padding:24px 18px}.semester-metric>div:first-child{font-size:12px;gap:6px}.semester-metric strong{font-size:19px}.round-note h4{font-size:16px}.next-step{display:block}.next-step .button{margin-top:25px}}
@media(max-width:850px){.header-inner{gap:20px}.brand{font-size:20px;gap:10px}.brand-mark{width:39px;height:39px}header nav{gap:18px}header nav a{font-size:13px}.evidence-layout{grid-template-columns:1fr 1fr}.motivation-grid{grid-template-columns:1fr;gap:18px}.motivation{display:grid;grid-template-columns:95px 1fr;text-align:left;column-gap:15px;align-items:center}.motivation svg{grid-row:span 2;margin:0}.motivation h4{align-self:end;font-size:17px}.motivation p{align-self:start;font-size:14px;margin:5px 0 0}.semester-grid{gap:15px}.semester-card{padding:24px 15px}.semester-metric>div:first-child{display:block}.semester-metric strong{display:block;font-size:22px}.work-preview{padding:15px}.work h2{font-size:22px}.work .course{font-size:13px}.team-reflection{gap:30px}}
@media(max-width:760px){.wrap,.header-inner,.footer-inner{width:calc(100% - 40px)}.header-inner{min-height:78px}.brand{font-size:21px}.brand-mark{width:40px;height:40px}header nav{top:78px}header nav a{font-size:16px}.bio{grid-template-columns:1fr;padding-top:30px;gap:28px}.bio-copy{grid-column:1;grid-row:1}.headshot{grid-column:1;grid-row:2;width:100%;max-width:540px;margin:auto}.bio-copy h1{font-size:35px}.bio-copy p{font-size:17px}.bio-copy .lead{font-size:18px}.portfolio-grid{gap:42px}.work-image{height:430px;max-width:none}.work-preview{padding:23px}.work h2{font-size:27px;min-height:0;margin-bottom:15px}.work .course{font-size:14px}.work p{font-size:17px}.work .project-context{min-height:0}.evolution-heading>p{font-size:17px}.evolution-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.evolution-toolbar .section-nav{gap:8px}.section-nav a{font-size:13px;padding:7px 13px}.replay{padding-left:0;font-size:13px}.evolution-section{padding:35px 0 38px}.evolution-section-heading h2{font-size:29px}.evolution-section-heading>p:not(.category){font-size:17px}.evidence-layout{grid-template-columns:1fr;gap:28px}.evidence-panel{padding:24px}.figure-heading h3{font-size:22px}.figure-heading>span{font-size:13px}.motivation-grid{grid-template-columns:repeat(3,1fr);gap:12px;text-align:center}.motivation{display:block;text-align:center}.motivation svg{margin:0 auto 12px}.motivation h4{font-size:14px}.motivation p{font-size:12px}.motivation-grid{margin-bottom:25px}.reflection h3{font-size:22px}.reflection p{font-size:17px}.perspective-metric h4{font-size:17px}.perspective-metric svg{margin-top:14px}.point-label{font-size:21px}.axis-label{font-size:19px}.common-ground strong{font-size:15px;line-height:1.6}.semester-grid{grid-template-columns:1fr;gap:20px}.semester-grid:before{display:none}.semester-card{padding:25px}.semester-metric>div:first-child{display:flex;font-size:15px}.semester-metric strong{font-size:23px}.round-heading{margin-bottom:20px;font-size:22px}.round-note h4{font-size:19px}.round-note p{font-size:16px}.team-reflection{grid-template-columns:1fr;gap:25px}.practice{padding:25px}.next-step{padding:29px 25px}.next-step h2{font-size:27px}.next-step p{font-size:17px}.source-note{font-size:12px}.image-link-label{font-size:16px}.footer-inner{flex-wrap:wrap}}
@media(max-width:390px){.evidence-panel{padding:21px 17px}.motivation-grid{gap:7px}.motivation h4{font-size:13px}.motivation p{font-size:12px}.section-nav a{font-size:12px;padding:7px 11px}.bio-copy h1{font-size:33px}.work-image{height:390px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.will-reveal{opacity:1;transform:none}.motion .chart-animate .ring-value{stroke-dashoffset:var(--ring-offset)}.motion .connection-line{stroke-dashoffset:0}.motion .semester-track>span{transform:none}.replay{display:none}}

/* Added: brand strategy, takeaways, portfolio CCR labels, business ring. */
.brand-strategy{margin-top:27px;padding:22px 24px;background:var(--warm);border:1px solid #e9e1d2;border-radius:5px}
.reflection .brand-strategy h3,.brand-strategy h3{margin:0 0 10px;font-size:19px}
.brand-strategy p{margin:0;font-size:17px;line-height:1.65}
.takeaways{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}
.takeaways li{display:flex;gap:12px;font-size:17px;line-height:1.55;color:#fff}
.takeaways li:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-top:.62em}
.ccr{margin:0;display:grid;gap:3px}
.ccr dt{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:12px}
.ccr dt:first-child{margin-top:0}
.ccr dd{margin:0;font-size:16px;line-height:1.65}
/* Core values bars (on the dark panel) */
.vbars{margin:6px 0 28px}
.vbar{margin:0 0 20px}
.vbar-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:9px}
.vbar-top span{font-size:17px;color:#fff;line-height:1.3}
.vbar-top small{display:block;font-size:13px;color:#c6d9dc;margin-top:3px}
.vbar-top strong{font-size:30px;line-height:1;color:#fff;font-weight:400;font-variant-numeric:tabular-nums}
.vtrack{height:12px;background:#2f5660;border-radius:6px;overflow:hidden}
.vtrack>span{display:block;height:100%;background:var(--gold);border-radius:6px;transform-origin:left}
.vscale{display:flex;justify-content:space-between;font-size:12px;color:#c6d9dc;border-top:1px solid #4e6c73;padding-top:8px}
/* Communication: Me vs Others bars */
.perspectives .legend{margin-bottom:22px}
.cmp-metric+.cmp-metric{margin-top:22px;padding-top:22px;border-top:1px solid #e2daca}
.cmp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.cmp-head h4{font-size:18px;font-weight:400;margin:0}
.cmp-verdict{font-size:13px;font-weight:700;color:#875426;background:#f1e4cc;border-radius:30px;padding:4px 11px}
.cmp-metric>p{font-size:14px;color:var(--muted);margin:4px 0 14px}
.cbar{display:grid;grid-template-columns:62px 1fr 44px;gap:12px;align-items:center;margin:9px 0}
.cbar-label{font-size:15px;color:var(--ink)}
.ctrack{height:16px;background:#ebe4d6;border-radius:8px;overflow:hidden}
.ctrack>span{display:block;height:100%;border-radius:8px;transform-origin:left}
.c-self{background:var(--ink)}.c-net{background:var(--network)}
.cbar strong{font-size:22px;color:var(--ink);font-weight:400;text-align:right;font-variant-numeric:tabular-nums}
.motion .chart-animate .vtrack>span,.motion .chart-animate .ctrack>span{transform:scaleX(0);transition:transform 1.25s cubic-bezier(.2,.65,.2,1)}
.motion .chart-animate.animated .vtrack>span,.motion .chart-animate.animated .ctrack>span{transform:scaleX(1)}
.motion .vbar:nth-child(2) .vtrack>span,.motion .cbar:nth-of-type(2) .ctrack>span{transition-delay:.12s}
.motion .vbar:nth-child(3) .vtrack>span{transition-delay:.24s}
.motion .vbar:nth-child(4) .vtrack>span{transition-delay:.36s}
@media(prefers-reduced-motion:reduce){.motion .chart-animate .vtrack>span,.motion .chart-animate .ctrack>span{transform:none}}
@media(max-width:760px){.vbar-top strong{font-size:26px}.cbar{grid-template-columns:56px 1fr 40px}}

/* ===== Round 3 additions ===== */
/* One body text size everywhere */
.bio-copy p,.bio-copy .lead,.page-heading p,.evolution-heading>p,.evolution-section-heading>p:not(.category),.reflection p,.brand-strategy p,.next-step p,.takeaways li,.practice li,.ccr dd,.work p,.section-heading p,.contact-options span,.round-note p,.t-head p,.t-card blockquote,.video-head>p,.map-note{font-size:17px!important;line-height:1.65!important}
.bio-copy .lead{color:var(--text)}
/* Centered page headings */
.centered-head{text-align:center}.centered-head p{margin-left:auto;margin-right:auto}
/* Video band */
.video-band{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:88px 0 92px;text-align:center}
.video-band:before{content:"";position:absolute;width:760px;height:760px;left:50%;top:-360px;transform:translateX(-50%);background:radial-gradient(circle,rgba(223,188,125,.22),rgba(223,188,125,0) 65%);pointer-events:none}
.video-band .wrap{position:relative}
.video-head{max-width:720px;margin:0 auto 40px}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.video-band h2{color:#fff;font-size:42px;letter-spacing:-.03em;margin:0 0 14px}
.video-head>p{color:#d3e1e3;margin:0 auto}
.video-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.video-tags span{font-size:14px;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:30px;padding:6px 14px;background:rgba(255,255,255,.05)}
.video-frame{position:relative;max-width:920px;margin:0 auto}
.video-frame:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1.5px solid var(--gold);border-radius:16px;opacity:.55}
.video-band .video{position:relative;max-width:none;width:100%;border-radius:14px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.4);background:#0d2a32}
.video-link{display:inline-flex;align-items:center;gap:10px;margin-top:44px;background:var(--gold);color:var(--ink);text-decoration:none;font-size:15px;padding:12px 22px;border-radius:30px;transition:transform .2s,background .2s}
.video-link:hover{transform:translateY(-2px);background:#e9cb94}
.video-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;text-decoration:none;aspect-ratio:16/9}
.video-ph:hover{color:#fff}
.play{width:78px;height:78px}.play circle{fill:var(--gold)}.play path{fill:var(--ink)}
/* Motivator bars */
.vbars{margin:4px 0 26px}
.vbar{margin:0 0 15px}
.vbar-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:7px}
.vbar-top span{font-size:15px;color:#fff;line-height:1.35}
.vbar-top strong{font-size:22px;line-height:1;color:#fff;font-weight:400;font-variant-numeric:tabular-nums}
.vtrack{height:10px;background:#2f5660;border-radius:6px;overflow:hidden}
.vtrack>span{display:block;height:100%;background:var(--gold);border-radius:6px;transform-origin:left}
.vbar.dim .vbar-top span,.vbar.dim .vbar-top strong{color:#a9c3c7}
.vbar.dim .vtrack>span{background:#6f9399}
.vscale{display:flex;justify-content:space-between;font-size:12px;color:#c6d9dc;border-top:1px solid #4e6c73;padding-top:8px;margin-top:4px}
/* Style map */
.stylemap{width:100%;height:auto;display:block;margin:4px 0 6px;overflow:visible}
.q{stroke:none}.q-other{fill:#f3ede1}.q-main{fill:#ecdcbc}
.mid{stroke:#c9bda6;stroke-width:1.5}
.qn{font-family:Portfolio,Arial,sans-serif;font-size:15px;fill:#8a8070}
.qn-main{fill:var(--ink);font-weight:700}
.qe{text-anchor:end}
.pt-me circle:not(.halo){fill:var(--ink)}.pt-net circle:not(.halo){fill:var(--network)}
.pt .halo{opacity:.16}.pt-me .halo{fill:var(--ink)}.pt-net .halo{fill:var(--network)}
.pl{font-family:Portfolio,Arial,sans-serif;font-size:17px;font-weight:700;fill:var(--ink)}
.pt-net .pl{fill:#875426}
.ax{font-family:Portfolio,Arial,sans-serif;font-size:14px;fill:#6c7a7c}
.map-note{color:var(--muted);margin:4px 0 22px}
.cmp-wrap{border-top:1px solid #e2daca;padding-top:20px}
.cmp-metric+.cmp-metric{margin-top:20px;padding-top:20px;border-top:1px solid #e2daca}
.cmp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.cmp-head h4{font-size:17px;font-weight:400;margin:0}
.cmp-verdict{font-size:13px;font-weight:700;color:#875426;background:#f1e4cc;border-radius:30px;padding:4px 11px}
.cmp-metric>p{font-size:14px;color:var(--muted);margin:4px 0 12px}
.cbar{display:grid;grid-template-columns:62px 1fr 44px;gap:12px;align-items:center;margin:8px 0}
.cbar-label{font-size:15px;color:var(--ink)}
.ctrack{height:14px;background:#ebe4d6;border-radius:8px;overflow:hidden}
.ctrack>span{display:block;height:100%;border-radius:8px;transform-origin:left}
.c-self{background:var(--ink)}.c-net{background:var(--network)}
.cbar strong{font-size:20px;color:var(--ink);font-weight:400;text-align:right;font-variant-numeric:tabular-nums}
/* Venn */
.venn-figure{margin-top:44px;border:1px solid var(--line);border-radius:5px;padding:30px}
.venn{position:relative;display:grid;grid-template-columns:40fr 18fr 40fr;min-height:330px;padding:0 1%;align-items:center}
.vc{position:absolute;top:0;bottom:0;width:58%;border-radius:50%}
.vc-me{left:1%;background:rgba(21,63,74,.09);border:1.5px solid rgba(21,63,74,.35)}
.vc-them{right:1%;background:rgba(163,106,48,.10);border:1.5px solid rgba(163,106,48,.45)}
.venn-col{position:relative;z-index:1;text-align:center;padding:0 8%}
.v-mid{padding:0}
.venn-col h4{font-size:15px;margin:0 0 12px;color:var(--ink)}
.v-right h4{color:#875426}
.words{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}
.words span{font-size:14px;padding:5px 11px;border-radius:30px;background:#fff;border:1px solid var(--line);color:var(--ink);white-space:nowrap}
.v-mid .words{flex-direction:column;align-items:center}
.v-mid .words span{background:var(--ink);color:#fff;border-color:var(--ink)}
.v-right .words span{border-color:#e3cfb3}
/* Testimonials */
.testimonials{border-top:1px solid var(--line);padding:56px 0 40px;margin-top:8px}
.t-head{text-align:center;max-width:720px;margin:0 auto 34px}
.t-head h2{font-size:34px;margin-bottom:12px}
.t-head p{color:var(--muted);margin:0}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.t-card{position:relative;margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;padding:34px 28px 26px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;transition:transform .25s,box-shadow .25s}
.t-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #153f4a14}
.t-card:nth-child(2){background:var(--ink);border-color:var(--ink)}
.t-card:nth-child(2) blockquote,.t-card:nth-child(2) strong{color:#fff}.t-card:nth-child(2) figcaption span{color:#c6d9dc}
.t-mark{position:absolute;top:6px;left:22px;font-size:64px;line-height:1;color:var(--gold)}
.t-card blockquote{margin:18px 0 0;color:var(--ink)}
.t-card figcaption{display:flex;flex-direction:column;gap:2px;border-top:1px solid #d9e3e3;padding-top:14px}
.t-card:nth-child(2) figcaption{border-color:#4e6c73}
.t-card strong{font-size:16px;color:var(--ink);font-weight:700}
.t-card figcaption span{font-size:14px;color:var(--muted)}
/* Contact journey */
.contact-page{max-width:1100px}
.contact-page .page-heading{padding-bottom:34px}
.journey{margin:0 auto 40px;max-width:980px}
.journey-map{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 24px 60px #153f4a26}
.journey figcaption{text-align:center;color:var(--muted);font-size:15px;margin:18px auto 0;max-width:640px}
.j-bg{fill:var(--ink)}
.j-dots circle{fill:#ffffff;opacity:.09}
.j-glow{fill:none;stroke:var(--gold);stroke-width:10;stroke-linecap:round;opacity:0;filter:blur(6px);animation:j-fade 1.4s ease 2.2s forwards}
.j-arc{fill:none;stroke:var(--gold);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:j-draw 1.6s cubic-bezier(.4,0,.2,1) forwards}
.j-next{stroke-dasharray:.02 .02;stroke-dashoffset:0;opacity:0;animation:j-fade .9s ease forwards}
.j-stop{opacity:0;animation:j-pop .6s cubic-bezier(.2,.8,.2,1.2) forwards}
.j-node{fill:#fff;stroke:var(--gold);stroke-width:3}
.j-node.gold{fill:var(--gold);stroke:#fff}
.j-pulse{fill:none;stroke:var(--gold);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;animation:j-pulse 2.6s ease-out infinite}
.j-name{font-family:Portfolio,Arial,sans-serif;font-size:17px;font-weight:700;fill:#fff}
.j-name.gold{fill:var(--gold)}
.j-note{font-family:Portfolio,Arial,sans-serif;font-size:13.5px;fill:#bcd2d5}
.j-name.end,.j-note.end{text-anchor:end}.j-name.mid,.j-note.mid{text-anchor:middle}
.j-dist{font-family:Portfolio,Arial,sans-serif;font-size:15px;letter-spacing:.12em;text-transform:uppercase;fill:var(--gold);text-anchor:middle;opacity:0;animation:j-show 1s ease 2.4s forwards}
@keyframes j-show{to{opacity:1}}
.j-traveler{display:none}
@supports (offset-path: path('M0 0')){.j-traveler{display:block;fill:#fff;offset-rotate:0deg;opacity:0;animation:j-travel 4.5s ease-in-out 2.6s infinite}}
@keyframes j-draw{to{stroke-dashoffset:0}}
@keyframes j-fade{to{opacity:.35}}
@keyframes j-pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes j-pulse{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
@keyframes j-travel{0%{offset-distance:0%;opacity:0}6%{opacity:1}92%{opacity:1}100%{offset-distance:100%;opacity:0}}
.journey-list{display:none;list-style:none;margin:0;padding:24px 22px 24px 46px;background:var(--ink);border-radius:16px;position:relative}
.journey-list:before{content:"";position:absolute;left:27px;top:34px;bottom:34px;width:2px;background:var(--gold);opacity:.6;transform-origin:top;animation:j-grow 2.2s ease forwards}
.journey-list li{position:relative;padding:10px 0;opacity:0;animation:j-pop .5s ease forwards}
.journey-list li:before{content:"";position:absolute;left:-25px;top:16px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--gold)}
.journey-list li:last-child:before{background:var(--gold)}
.journey-list b{display:block;color:#fff;font-weight:700;font-size:17px}
.journey-list li:last-child b{color:var(--gold)}
.journey-list span{color:#bcd2d5;font-size:15px}
@keyframes j-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.contact-options{margin:10px auto 80px;max-width:680px}
/* motion for new charts */
.motion .chart-animate .vtrack>span,.motion .chart-animate .ctrack>span{transform:scaleX(0);transition:transform 1.2s cubic-bezier(.2,.65,.2,1)}
.motion .chart-animate.animated .vtrack>span,.motion .chart-animate.animated .ctrack>span{transform:scaleX(1)}
.motion .chart-animate .vbar:nth-child(n) .vtrack>span{transition-delay:calc(var(--i,0) * 70ms)}
.motion .chart-animate .pt{opacity:0;transform:scale(.6);transform-box:fill-box;transform-origin:center;transition:opacity .6s ease,transform .7s cubic-bezier(.2,.8,.2,1.3)}
.motion .chart-animate.animated .pt{opacity:1;transform:none}
.motion .chart-animate.animated .pt-me{transition-delay:.35s}
.motion .chart-animate .vc{transition:transform 1s cubic-bezier(.2,.7,.2,1),opacity 1s}
.motion .chart-animate .vc-me{transform:translateX(-14%);opacity:0}.motion .chart-animate .vc-them{transform:translateX(14%);opacity:0}
.motion .chart-animate.animated .vc{transform:none;opacity:1}
@media(prefers-reduced-motion:reduce){.j-dist{opacity:1}.j-arc{stroke-dashoffset:0}.j-next{opacity:.9}.j-stop,.journey-list li{opacity:1}.j-pulse,.j-traveler{display:none}.journey-list:before{transform:none}.motion .chart-animate .vtrack>span,.motion .chart-animate .ctrack>span{transform:none}.motion .chart-animate .pt,.motion .chart-animate .vc{opacity:1;transform:none}}
@media(max-width:1100px){.t-grid{gap:18px}.t-card{padding:30px 22px 22px}}
@media(max-width:850px){.t-grid{grid-template-columns:1fr}.venn{grid-template-columns:1fr;min-height:0;gap:16px;padding:0}.vc{display:none}.venn-col{padding:18px;border-radius:12px;background:var(--soft)}.v-mid{background:#e6eeee}.v-mid .words{flex-direction:row;justify-content:center}}
@media(max-width:760px){.video-band{padding:60px 0 64px}.video-band h2{font-size:32px}.video-frame:before{inset:10px -10px -10px 10px}.video-link{margin-top:32px}.journey-map{display:none}.journey-list{display:block}.venn-figure{padding:22px}.testimonials{padding-top:42px}.t-head h2{font-size:28px}.cbar{grid-template-columns:56px 1fr 40px}}
