:root{--ink:#3E484D;--ink2:#3E484D;--muted:#5B5B5B;--cream:#F7F7F7;--paper:#FFFFFF;--border:#EEEEEE;--ochre:#5B5B5B;--serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.65}a{color:inherit}a:focus-visible{outline:3px solid #5B5B5B;outline-offset:4px}img{max-width:100%;display:block}.site-header{height:70px;padding:0 max(28px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--border);background:rgba(0,0,0,.97);display:flex;justify-content:space-between;gap:18px;align-items:center;position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}.mark{text-decoration:none;font-size:12px;letter-spacing:.11em;font-weight:820;white-space:nowrap}.mark span{color:var(--ochre)}nav{display:flex;align-items:center;gap:21px}nav a{text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}nav a:hover{color:var(--ochre)}nav .navcv{background:var(--ink);color:#FFFFFF;padding:10px 17px}nav .navcv:hover{background:#3E484D;color:#FFFFFF}main{max-width:1240px;margin:auto;padding:0 28px}.hero{padding:77px 0 78px;display:grid;grid-template-columns:1fr minmax(360px,.72fr);gap:64px;align-items:center;border-bottom:1px solid var(--border)}.overline{font-weight:800;color:#5B5B5B;letter-spacing:.16em;font-size:11px;margin:0 0 18px;text-transform:uppercase}.dot{display:inline-block;background:#A9A9A9;width:8px;height:8px;border-radius:50%;margin-right:8px}.hero h1{font-size:clamp(49px,5.1vw,77px);font-weight:500;line-height:1.09;letter-spacing:-.06em;margin:0 0 30px}.hero h1 em,.sect-intro h2 em,.editorial h2 em,.sources h2 em{font-family:var(--serif);font-weight:400;color:#5B5B5B}.hero .lead{font-size:17px;line-height:1.7;max-width:650px;color:#3E484D}.credentials{font-size:12px;letter-spacing:.01em;color:#5B5B5B;margin-top:24px;border-left:2px solid #C8C8C8;padding:3px 0 3px 13px;line-height:1.8}.actions{display:flex;gap:11px;align-items:center;margin-top:32px;flex-wrap:wrap}.actions a,.caselinks a.primary{display:inline-flex;justify-content:space-between;gap:28px;align-items:center;text-decoration:none;font-weight:780;font-size:12px;padding:13px 17px;line-height:1.4}.actions .primary,.caselinks .primary{background:var(--ink);color:white}.actions .primary:hover,.caselinks .primary:hover{background:#3E484D}.actions .secondary{border:1px solid #A9A9A9;color:#3E484D}.actions .secondary:hover{border-color:var(--ink);background:#EEEEEE}.hero-visual{margin:0;background:var(--ink);padding:18px 18px 0;border-radius:2px;box-shadow:18px 18px 0 #EEEEEE}.hero-visual img{height:450px;width:100%;object-fit:contain;background:#F7F7F7;transition:transform .2s}.hero-visual a{display:block;overflow:hidden}.hero-visual a:hover img{transform:scale(1.01)}.hero-visual figcaption{font-size:11px;color:#EEEEEE;line-height:1.5;padding:14px 0 18px}.hero-visual figcaption b{font-weight:500;color:#C8C8C8}.orientation{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border);padding:32px 0 38px;gap:30px}.orientation b{font-size:12px}.orientation p{color:var(--muted);font-size:12px;margin:7px 0 0;line-height:1.65}.selected{padding:104px 0 82px}.sect-intro{max-width:870px;margin-bottom:39px}.sect-intro h2,.editorial h2,.sources h2{font-size:clamp(39px,4.5vw,64px);line-height:1.12;font-weight:500;letter-spacing:-.055em;margin:0 0 22px}.sect-intro>p:not(.overline){color:#3E484D;font-size:16px;line-height:1.7;max-width:825px;margin:0}.feature{background:var(--paper);border:1px solid var(--border)}.lead-case{display:grid;grid-template-columns:1.15fr .85fr}.feature-copy{padding:39px 41px}.project-meta{font-size:10px;letter-spacing:.15em;color:#5B5B5B;font-weight:820;text-transform:uppercase;margin:0 0 10px}.feature-copy h3{font-weight:600;font-size:37px;line-height:1.17;letter-spacing:-.048em;margin:0 0 11px}.project-sub{font-size:16px;color:#3E484D;margin:0 0 22px!important;line-height:1.5}.case-reason{margin:0;display:grid;grid-template-columns:85px 1fr;gap:9px 12px}.case-reason dt{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--ochre);padding-top:3px}.case-reason dd{margin:0;color:#3E484D;font-size:13px;line-height:1.65}.deliverable{font-size:12px;color:#3E484D;line-height:1.6;background:#F7F7F7;padding:13px 14px;margin:20px 0}.caselinks{display:flex;flex-wrap:wrap;align-items:center;gap:13px}.textlink{font-size:12px;font-weight:800;color:#3E484D;text-decoration:none;border-bottom:1px solid #C8C8C8;padding-bottom:3px;line-height:1.6}.textlink:hover{color:var(--ochre)}.feature-media{background:#EEEEEE;padding:18px;display:flex;flex-direction:column;gap:17px;min-width:0}.feature-media a{background:#FFFFFF;text-decoration:none;display:block;border:1px solid #DFDFDF}.feature-media img{height:264px;width:100%;object-fit:contain;padding:12px}.feature-media span{display:block;font-size:10px;color:#5B5B5B;border-top:1px solid var(--border);padding:8px 13px;letter-spacing:.035em;font-weight:700}.feature-grid{margin-top:21px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.mini-case{background:var(--paper);border:1px solid var(--border)}.mini-image{display:block;background:#EEEEEE;padding:17px;overflow:hidden}.mini-image img{width:100%;height:280px;object-fit:contain;transition:transform .2s}.mini-image:hover img{transform:scale(1.015)}.mini-body{padding:24px 28px 30px}.mini-body h3{font-size:35px;font-weight:600;letter-spacing:-.05em;margin:0 0 10px;line-height:1}.mini-body .project-sub{font-size:16px;margin-bottom:10px!important}.mini-body>p:not(.project-meta):not(.project-sub):not(.deliverable){font-size:13px;color:var(--muted);line-height:1.65}.mini-body .deliverable{margin:16px 0}.more-work{margin-top:20px;border:1px solid var(--border);display:grid;grid-template-columns:1.05fr 1fr;background:#F7F7F7}.more-work>div:first-child{padding:28px 30px}.more-work h3{font-size:24px;font-weight:600;letter-spacing:-.03em;margin:0 0 12px}.more-work p{color:#5B5B5B;font-size:13px;line-height:1.8}.more-work a:not(.more-images a){display:inline-block;margin-right:22px;font-weight:800;font-size:12px;text-decoration:none;border-bottom:1px solid #A9A9A9}.more-images{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:15px}.more-images a{display:block;overflow:hidden;background:white;border:1px solid var(--border)}.more-images img{width:100%;height:220px;object-fit:contain;padding:8px}.approach-section{padding:83px 0;border-top:1px solid var(--border)}.approach-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:33px;align-items:center}.approach-layout figure{margin:0;background:#FFFFFF;border:1px solid var(--border);padding:18px}.approach-layout img{width:100%;object-fit:contain;max-height:320px}.approach-layout figcaption{font-size:11px;color:var(--muted);line-height:1.6;border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.approach-copy{padding:22px}.approach-copy h3{font-size:28px;letter-spacing:-.04em;line-height:1.22;margin:0 0 20px}.approach-copy p{font-size:14px;color:#3E484D;line-height:1.8}.editorial{background:var(--ink);color:#FFFFFF;padding:57px 65px;display:grid;grid-template-columns:.82fr 1.18fr;gap:43px;margin:20px 0 82px}.editorial h2{font-size:clamp(38px,4vw,57px)}.editorial h2 em{color:#DFDFDF}.editorial p:not(.overline){font-size:15px;color:#EEEEEE;line-height:1.75;margin:0 0 17px}.editorial .overline{color:#C8C8C8}.editorial .actions .primary{background:#EEEEEE;color:var(--ink)}.editorial .actions .secondary{border:1px solid #A9A9A9;color:#FFFFFF}.editorial .actions .secondary:hover{color:var(--ink)}.sources{padding:0 0 88px;display:grid;grid-template-columns:.88fr 1.12fr;gap:37px}.sources h2{font-size:clamp(35px,3.4vw,50px)}.sources>div:first-child>p:not(.overline){font-size:13px;color:#5B5B5B;line-height:1.8}.source-list{display:flex;flex-direction:column;gap:10px}.source-list>div{display:flex;flex-direction:column;gap:7px;background:var(--paper);border:1px solid var(--border);padding:20px 24px}.source-list span{font-size:10px;letter-spacing:.13em;color:var(--ochre);font-weight:800}.source-list b{font-size:17px;letter-spacing:-.02em}.source-list small{color:var(--muted);font-size:12px}.source-list a{color:#3E484D;text-decoration:none;border-bottom:1px solid #C8C8C8;font-weight:800;font-size:12px;align-self:start}.fineprint{grid-column:1/-1;font-size:11px;color:var(--muted);line-height:1.6;margin:-12px 0 0}.footer{border-top:1px solid var(--border);padding:25px max(28px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:11px;color:#5B5B5B;font-weight:700;letter-spacing:.04em}.footer a{text-decoration:none}.footer a:hover{color:var(--ochre)}
@media(max-width:1060px){.hero{grid-template-columns:1fr .8fr;gap:34px}.hero-visual img{height:365px}.feature-copy{padding:28px}.feature-media img{height:245px}.site-header{padding:0 20px}main{padding:0 20px}}@media(max-width:760px){.site-header{padding:0 16px;height:63px}.mark{font-size:10px}.mark span{display:none}nav{gap:12px}nav a{font-size:11px}nav a:nth-child(2){display:none}main{padding:0 17px}.hero{padding:42px 0;grid-template-columns:1fr;gap:30px}.hero h1{font-size:clamp(45px,10.5vw,64px)}.hero .lead{font-size:15px}.hero-visual img{height:300px}.hero-visual{box-shadow:8px 8px 0 #EEEEEE}.orientation{grid-template-columns:1fr;gap:12px;padding:24px 0}.orientation div{padding-bottom:10px;border-bottom:1px solid var(--border)}.selected{padding:65px 0 55px}.sect-intro h2{font-size:clamp(37px,9vw,55px)}.lead-case,.feature-grid,.more-work,.approach-layout,.editorial,.sources{grid-template-columns:1fr}.feature-copy{padding:25px 20px}.feature-copy h3{font-size:30px}.case-reason{grid-template-columns:1fr;gap:5px}.case-reason dd{margin-bottom:12px}.feature-media{padding:13px}.feature-media img{height:210px}.mini-image img{height:230px}.mini-body{padding:22px}.more-images img{height:170px}.approach-section{padding:58px 0}.approach-copy{padding:5px}.editorial{padding:35px 25px;gap:12px;margin:0 0 55px}.sources{gap:20px;padding-bottom:50px}.fineprint{margin:0}.footer{display:block;padding:25px 17px}.footer span{display:block;margin-bottom:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mini-image img,.hero-visual img{transition:none}}
@media print{.site-header,.footer,.actions{display:none}.hero,.lead-case,.feature-grid{break-inside:avoid}}

/* On small screens, show original work before the detailed professional summary. */
@media(max-width:760px){.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.hero-text{display:contents}.hero-text .overline{grid-row:1;margin-bottom:0}.hero-text h1{grid-row:2;margin:0}.hero-visual{grid-row:3;margin:4px 0 0}.hero-text .lead{grid-row:4;margin:12px 0 0}.hero-text .credentials{grid-row:5;margin:3px 0 0}.hero-text .actions{grid-row:6;margin:12px 0 0}.hero-visual img{height:250px}}

/* Additional source-led teaching case, 2026-11-10 */
.teaching-feature{border-top:1px solid var(--border);padding:75px 0 85px}
.learning-showcase{display:grid;grid-template-columns:1fr .93fr;gap:24px;background:#F7F7F7;border:1px solid var(--border);padding:18px}
.teaching-main-img{position:relative;background:#FFFFFF;display:flex;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;min-width:0}
.teaching-main-img img{width:100%;max-height:360px;object-fit:contain;padding:20px}
.teaching-main-img span{font-size:10px;font-weight:760;color:#5B5B5B;letter-spacing:.13em;padding:12px}
.teaching-copy{padding:23px 16px}.teaching-copy h3{font-size:clamp(23px,2.8vw,37px);letter-spacing:-.04em;line-height:1.18;margin:10px 0 22px}
.teaching-copy p:not(.project-meta){color:#3E484D;font-size:13px;line-height:1.75;margin:0 0 13px}.teaching-copy .textlink{display:inline-block;margin-top:17px}
.teaching-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:13px}
.teaching-gallery a{background:#FFFFFF;border:1px solid var(--border);text-decoration:none;min-width:0}
.teaching-gallery img{width:100%;height:164px;object-fit:contain;padding:10px;background:#F7F7F7}
.teaching-gallery span{display:block;padding:11px;font-size:11px;font-weight:750;color:#3E484D}
.teaching-aside{font-size:12px;line-height:1.75;color:#5B5B5B;margin:19px 0 0}
@media(max-width:800px){.learning-showcase{grid-template-columns:1fr}.teaching-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.teaching-gallery img{height:160px}.teaching-feature{padding:60px 0}}
/* Prevent a fifth nav link causing horizontal overflow at phone widths */
@media(max-width:650px){.site-header nav a:nth-child(3){display:none}.teaching-feature{scroll-margin-top:75px}}

/* v6 / source-driven case hierarchy */
.feature-grid-v6{grid-template-columns:repeat(2,minmax(0,1fr))}
.feature-grid-v6 .hero-mini{border-top:4px solid #5B5B5B}
.feature-grid-v6 .mini-image img{height:310px}
.feature-grid-v6 .mini-body{min-height:350px}
.feature-grid-v6 .mini-case .caselinks{margin-top:16px}
.feature-grid-v6 .mini-body>p:not(.project-meta):not(.project-sub):not(.deliverable){font-size:13.2px}
@media(max-width:760px){.feature-grid-v6{grid-template-columns:1fr}.feature-grid-v6 .mini-image img{height:235px}.feature-grid-v6 .mini-body{min-height:0}}
/* Small-screen navigation: preserve access without horizontal overflow */
@media(max-width:840px){.site-header{padding:0 16px}.site-header nav{gap:10px}.site-header nav a:nth-child(3),.site-header nav a:nth-child(4){display:none}}
@media(max-width:590px){.site-header nav{gap:8px}.site-header nav a:nth-child(2){display:none}.site-header nav a{font-size:10px}.site-header nav .navcv{padding:8px 11px}.site-header .mark{font-size:10px;letter-spacing:.02em}.site-header nav a:nth-child(5){font-size:10px}}
@media(max-width:370px){.site-header nav a:nth-child(1){display:none}}

.orientation .evidence-proof{display:inline-block;margin-top:7px;color:#3E484D;font-size:12px;font-weight:780;text-decoration:none;border-bottom:1px solid #C8C8C8}
.orientation .evidence-proof:hover{color:#5B5B5B}

/* Interactive CV v7 — only three chromatic brand colors plus neutral grayscale.
Slate #3E484D, Reddish-Gray #3A3237, Gold Mid #FFC46B.
Original project imagery retains its actual colors. */
:root { --ink:#3E484D;--ink2:#3A3237;--mid:#575757;--muted:#575757;--cream:#F7F7F7;--paper:#FFFFFF;--bg:#F7F7F7;--line:#D7D7D7;--border:#D7D7D7;--edge:#D7D7D7;--rust:#3A3237;--accent:#FFC46B;--lime:#FFC46B;--blue:#3E484D;--pill:#EEEEEE; }
html{scroll-behavior:smooth;scroll-padding-top:85px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3A3237;outline-offset:3px;box-shadow:0 0 0 6px #FFC46B}
::selection{background:#FFC46B;color:#3A3237}

/* Core visual identity: restrained grayscale surfaces, structured dark accents and warm gold actions. */
body{background:#F7F7F7;color:#3E484D}
.site-header{background:#3A3237;border-bottom:3px solid #FFC46B}
.site-header .mark,.site-header nav a{color:#FFFFFF}
.site-header nav .navcv{background:#FFC46B;color:#3A3237;border:0}
.site-header nav a:hover{color:#FFC46B}
.site-header nav .navcv:hover{background:#FFFFFF;color:#3A3237}
.hero h1 em,.sect-intro h2 em,.meta-case h2 em{color:#3A3237}
.hero-visual{box-shadow:10px 10px 0 #FFC46B}
.hero .overline,.selected .overline,.teaching-feature .overline{color:#3A3237}
.actions .primary,.caselinks .primary{background:#FFC46B;color:#3A3237;border:1px solid #3A3237}
.actions .primary:hover,.caselinks .primary:hover{background:#3A3237;color:#FFFFFF}
.actions .secondary{color:#3E484D;border:1px solid #3E484D}
.orientation{border-bottom:1px solid #D7D7D7}
.orientation .evidence-proof{color:#3A3237;border-bottom:2px solid #FFC46B}
.feature-grid-v6 .hero-mini{border-top-color:#FFC46B}
.teaching-feature{background:#F7F7F7}
.teaching-gallery img,.learning-showcase{background:#EEEEEE}
.teaching-gallery span{color:#3A3237}
.mini-case a:hover,.textlink:hover{color:#3A3237}
.meta-case{padding:80px 0;border-top:2px solid #3E484D;border-bottom:1px solid #D7D7D7;scroll-margin-top:90px}
.meta-brief{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0 28px}
.meta-brief>div{padding:19px 17px;border-top:4px solid #FFC46B;background:#EEEEEE;min-width:0}
.meta-brief b{display:block;letter-spacing:.04em;color:#3A3237;font-size:13px}
.meta-brief p{font-size:12px;line-height:1.68;color:#3E484D;margin:9px 0 0}
.interaction-system{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;border:1px solid #C8C8C8;background:#FFFFFF;padding:21px;margin:15px 0}
.interaction-system>div{display:flex;flex-direction:column;gap:6px;padding:20px;background:#F7F7F7;border:1px solid #D7D7D7}
.interaction-system>div small{font-size:10px;font-weight:780;letter-spacing:.12em;color:#3A3237}
.interaction-system>div strong{font-size:16px;color:#3E484D}
.interaction-system>div span{font-size:12px;color:#575757}
.interaction-system>b{font-size:24px;color:#3A3237}
.meta-accuracy{max-width:980px;color:#575757;font-size:12px;line-height:1.75;border-left:3px solid #FFC46B;padding:10px 17px;margin:20px 0 25px}
.interaction-states{display:grid;grid-template-columns:1.25fr .75fr 1fr;gap:13px;margin-top:18px}
.interaction-states>div{min-width:0;border:1px solid #D7D7D7;background:#FFFFFF}
.interaction-states img{display:block;width:100%;height:235px;object-fit:cover;object-position:top center;background:#EEEEEE}
.interaction-states span{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;padding:12px 15px;color:#3A3237}
.meta-link{display:inline-block;background:#3A3237;color:#FFFFFF;padding:13px 17px;margin-top:20px;text-decoration:none;font-size:13px;font-weight:700;border-bottom:4px solid #FFC46B}
.meta-link:hover{background:#3E484D;color:#FFFFFF}
@media(max-width:930px){.meta-brief{grid-template-columns:repeat(2,minmax(0,1fr))}.interaction-states{grid-template-columns:1fr 1fr}.interaction-states>div:last-child{grid-column:1/-1}}
@media(max-width:650px){.meta-case{padding:50px 0}.meta-brief{grid-template-columns:1fr}.interaction-system{grid-template-columns:1fr;gap:6px}.interaction-system>b{text-align:center;transform:rotate(90deg)}.interaction-states{grid-template-columns:1fr}.interaction-states>div:last-child{grid-column:auto}.interaction-states img{height:245px}}
/* On mobile the introduction and CTA precede the image, preserving the story. */
@media(max-width:760px){.hero-text .overline{grid-row:1}.hero-text h1{grid-row:2}.hero-text .lead{grid-row:3;margin:10px 0 0}.hero-text .credentials{grid-row:4}.hero-text .actions{grid-row:5}.hero-visual{grid-row:6;margin:15px 0 0;box-shadow:7px 7px 0 #FFC46B}.hero .lead{font-size:15px}}

/* Retrospective wireframes, visibly analytical rather than fabricated screenshots */
.ui-state{background:#FFFFFF;border:1px solid #C8C8C8;min-width:0}
.ui-state-top{background:#3A3237;color:#FFC46B;padding:12px 15px;font-size:11px;font-weight:800;letter-spacing:.12em}
.ui-layout{height:240px;display:grid;gap:8px;padding:15px;background:#F7F7F7;align-content:stretch}
.ui-layout div:not(.ui-arrow){border:1px solid #C8C8C8;background:#EEEEEE;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;color:#3E484D;font-size:11px;font-weight:600}
.ui-layout .ui-big{background:#3E484D!important;color:#FFFFFF!important}
.ui-layout .ui-right{border:2px solid #FFC46B!important}
.desktop-layout{grid-template-columns:1fr 1fr;grid-template-rows:60px 1fr 35px}
.desktop-layout .ui-big,.desktop-layout .ui-span{grid-column:1/-1}
.mobile-layout{grid-template-columns:1fr;grid-template-rows:55px 35px 1fr 1fr}
.linked-layout{grid-template-columns:1fr;grid-template-rows:52px 19px 52px 19px 1fr;gap:2px}
.ui-layout .ui-arrow{font-size:15px;text-align:center;line-height:1;color:#3A3237}
.ui-state>span{display:block;padding:12px 15px;font-size:10px;color:#3A3237;letter-spacing:.08em;font-weight:750}

/* Browser QA v7.1: preserve legibility of the sub-brand in the dark sticky header. */
.site-header .mark span{color:#FFC46B}
