/* Morning paper: selected direction, layered over the existing interaction styles. */
:root{--paper:#f7f7ef;--ink:#626b54;--text:#454d42;--muted:#767d6d;--line:#dcdfd1;--sand:#b9ab8e;--photo-radius:20px;--media-shadow:0 20px 35px -18px rgba(46,58,37,.28),0 4px 12px rgba(55,65,43,.07);--media-shadow-raised:0 25px 40px -16px rgba(46,58,37,.34),0 6px 15px rgba(55,65,43,.09)}
body{background:var(--paper)}
.ambient-background{background:#f7f7ef}
.ambient-orb{opacity:.22;filter:blur(90px)}
.ambient-sage{background:#dce5ce}
.ambient-sand{background:#eee4ce}
.collection{padding:54px 0 58px;margin-inline:3.5%;border-top:1px solid rgba(157,166,140,.24)}
.collection::before{opacity:.14}
.direct-entry #foreign{padding-top:166px;padding-bottom:24px}
#foreign .collection-heading{margin-bottom:26px}
.collection-heading{gap:26px;margin-bottom:32px;position:relative;z-index:1}
.collection-heading h2{font-size:26px;letter-spacing:.075em;padding:10px 23px;border-color:#cbd2bb;background:rgba(251,251,244,.42);font-weight:400}
.topbar{height:68px;padding:9px 16px;gap:22px;background:rgba(252,252,246,.86);border-color:rgba(202,207,185,.65);box-shadow:0 9px 24px -14px rgba(79,85,57,.24)}
body.is-scrolled .topbar{height:64px;background:rgba(252,252,246,.92)}
.topbar nav{gap:10px}
.topbar nav a{font-size:15px;letter-spacing:.03em;min-height:42px;padding:8px 19px;border-color:rgba(180,190,161,.55);background:rgba(255,255,250,.35)}
.topbar nav a.active,.topbar nav a[aria-current="true"]{background:#e4e9d9;color:#47543e;border-color:#b4c09f}
.section-index{color:#b7ad96}
.section-index b{font-size:25px}
.section-index span{font-size:11px}
.progress{background:#b3bb9b;height:2px}
.trade-overview{column-gap:34px;row-gap:24px;margin-bottom:34px;align-items:center}
.total-views{--total-number-size:clamp(54px,7.4vw,106px);color:#626b54}
.total-views small{font-size:calc(var(--total-number-size)*.30);letter-spacing:.08em}
.trade-platform-note{flex:1 1 340px;font-size:clamp(20px,1.8vw,26px);line-height:1.75}
.trade-platform-note .facebook-label{font-size:1.12em;color:#4269a5}
.trade-platform-note,.brocade-project-note,.operations-project-note,.design-project-note{letter-spacing:.035em;border-inline-start:1px solid #aab695;padding-inline-start:22px;color:#68715d}
.brocade-project-note,#commerce .operations-project-note,.design-project-note{font-size:clamp(19px,1.7vw,25px);line-height:1.8}
.foreign-evidence{gap:clamp(24px,3vw,46px)}
.account-count{font-size:clamp(23px,2.35vw,34px);margin-bottom:22px;color:#545e48}
.trade-account{min-width:0}
.account-evidence{width:auto;max-width:100%;margin-inline:auto}
.account-evidence img{width:auto;max-width:100%;max-height:470px;height:auto;object-fit:contain}
.album-pagination{gap:16px;color:#7d876e}
.album-pagination button{border-radius:50%;background:rgba(255,255,248,.4);transition:background .2s}
.album-pagination button:hover{background:#e7ebdd}
.morning-decoration{position:absolute;inset:0 -3.76%;z-index:-1;pointer-events:none;user-select:none;overflow:clip}
.morning-decoration img{position:absolute;display:block;object-fit:contain;max-width:none}
#foreign .morning-leaf{width:350px;left:-25px;top:-22px;opacity:.68;transform:rotate(-5deg)}
#foreign .morning-decoration::after{content:"";position:absolute;width:340px;height:320px;right:-150px;top:190px;background:url('assets/morning/olive-branch.webp') center/contain no-repeat;transform:rotate(110deg);filter:blur(7px);opacity:.18}
#foreign .morning-orbit{width:195px;right:-12px;top:54px;opacity:.73}
#works .morning-textile{width:480px;right:-30px;top:-20px;opacity:.67}
#works .collection-heading{padding-right:150px}
#commerce .morning-leaf{width:230px;left:-94px;bottom:-15px;opacity:.34;transform:rotate(28deg)}
#commerce .morning-orbit{width:145px;right:-30px;bottom:28px;opacity:.65}
#graphic-design .morning-leaf{width:320px;left:-90px;top:32%;opacity:.52;transform:rotate(-18deg)}
#graphic-design .morning-orbit{width:200px;right:1%;top:51%;opacity:.78}
#ai-video .morning-orbit{width:145px;right:-20px;top:0;opacity:.60}
#ai-and-me .morning-leaf{width:260px;right:-80px;bottom:70px;opacity:.35;transform:rotate(160deg)}
.design-mosaic::before{border:0;box-shadow:none;background:none}
.video-work-title{font-size:20px;letter-spacing:.08em;color:#59634d}
.video-portfolio-grid{gap:32px}
.video-portfolio-grid .video-shell{--video-height:min(65svh,540px)}
.ai-toolbox{border-block:1px solid rgba(157,166,140,.24);padding-block:30px;margin-block:46px}
.ai-tool-mark{background:rgba(255,255,250,.78);box-shadow:0 6px 15px -9px #9bA28b}
.ai-journey-copy h3{color:#4d5844;letter-spacing:.03em}
.ai-journey-copy p{color:#747c6b;line-height:1.85}
.ai-journey-origin{padding-block:20px}
footer{border-color:rgba(157,166,140,.24);color:#8d957f}
@media(min-width:1100px){#works .brocade-project-note{max-width:720px}.trade-overview .trade-platform-note{max-width:540px}}
@media(max-width:900px){
 .collection{padding-block:38px}.direct-entry #foreign{padding-top:135px}
 .collection-heading{gap:20px}.collection-heading h2{font-size:23px;padding:9px 19px}
 #works .collection-heading{padding-right:0}
 #works .morning-textile{width:230px;right:-40px;top:-4px;opacity:.27}
 #graphic-design .morning-leaf{width:190px;left:-75px;opacity:.28}
 #graphic-design .morning-orbit{display:none}
 /* Keep decorations out of the two-column image flow. */
 .design-mosaic::before{content:none;display:none}
 .design-mosaic .design-piece:nth-child(4){grid-column:auto}
}
@media(max-width:640px){
 :root{--photo-radius:17px}
 .collection{margin-inline:6%;padding-block:34px}.morning-decoration{inset-inline:-6.82%}
 .direct-entry #foreign{padding-top:119px}
 .topbar,body.is-scrolled .topbar{top:10px;height:58px;max-width:calc(100% - 20px);width:calc(100% - 20px);padding:7px;gap:0}
 .topbar nav{gap:6px;scrollbar-width:none}.topbar nav a{font-size:13px;min-height:40px;padding:8px 13px;white-space:nowrap}
 .section-index{display:none}
 .collection-heading{gap:15px;margin-bottom:25px}
 .collection-heading h2{font-size:22px;padding:8px 18px}
 .trade-overview{gap:21px;margin-bottom:30px}
 .total-views{--total-number-size:clamp(42px,11.7vw,65px);gap:10px}
 .trade-platform-note{font-size:18px;line-height:1.85;max-width:100%;flex:none}
 .trade-platform-note .facebook-label{font-size:1.12em}
 .trade-platform-note,.brocade-project-note,.operations-project-note,.design-project-note{padding-inline-start:15px;letter-spacing:.025em}
 .brocade-project-note,#commerce .operations-project-note,.design-project-note{font-size:18px;line-height:1.85}
 .design-project-note{text-wrap:balance}
 .foreign-evidence{gap:25px}.trade-account{flex-basis:82%}.account-count{font-size:28px;margin-bottom:18px}
 .account-evidence img{max-height:none;width:100%}
 #foreign .morning-leaf{width:200px;left:-56px;top:-7px;opacity:.45}
 #foreign .morning-decoration::after{display:none}
 #foreign .morning-orbit{width:105px;right:-25px;top:68px;opacity:.55}
 #works .morning-textile{width:170px;top:0;right:-25px;opacity:.23}
 #commerce .morning-leaf{display:none}
 #commerce .morning-orbit{width:75px;right:-15px;bottom:4px;opacity:.45}
 #ai-video .morning-orbit{width:80px;top:18px;opacity:.4}
 #ai-and-me .morning-leaf{width:160px;right:-50px;bottom:25px;opacity:.22}
 .video-work-title{font-size:19px}.video-portfolio-grid{gap:32px}
 .ai-toolbox{padding-block:24px;margin-block:32px}
}

/* Resume-aligned project context */
.resume-project-meta{margin:0 0 24px;color:#78816c;font-size:clamp(13px,1.1vw,16px);line-height:1.7;letter-spacing:.035em}.resume-project-meta span{color:#b5bda7}.resume-results{display:flex;gap:clamp(28px,5vw,70px);flex-wrap:wrap;margin:0 0 20px;padding:20px 0;border-block:1px solid rgba(157,166,140,.28)}.resume-results p{display:flex;align-items:baseline;gap:12px;margin:0}.resume-results strong{font-family:"Roboto Mono",monospace;font-size:clamp(22px,2.2vw,30px);font-weight:400;color:#59654f}.resume-results span,.resume-project-detail{font-size:clamp(15px,1.2vw,18px);line-height:1.8;color:#68715d}.resume-project-detail{max-width:1000px;margin:0 0 34px}.resume-campus{margin:10px 0 0;padding:22px 0 0;border-top:1px solid rgba(157,166,140,.28);color:#68715d}.resume-campus>span{font-size:13px;letter-spacing:.06em;color:#828b77}.resume-campus p{max-width:950px;margin:8px 0 0;font-size:clamp(15px,1.3vw,19px);line-height:1.85;letter-spacing:.025em}@media(max-width:640px){.resume-project-meta{margin-bottom:20px;font-size:13px;line-height:1.8}.resume-results{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin-bottom:16px}.resume-results p{display:flex;flex-direction:column;gap:3px}.resume-results strong{font-size:23px}.resume-results span,.resume-project-detail{font-size:15px}.resume-project-detail{margin-bottom:25px}.resume-campus p{font-size:15px}}
/* Portfolio structure and compact case details */
.portfolio-intro{position:relative;margin:0 3.5%;padding:180px 0 90px;min-height:440px;display:flex;align-items:center;border-bottom:1px solid rgba(157,166,140,.3)}
.intro-copy{max-width:960px}.intro-kicker{font:12px 'Roboto Mono',monospace;letter-spacing:.2em;color:#939d88;margin:0 0 22px}.portfolio-intro h1{font-size:clamp(44px,5.4vw,78px);font-weight:500;letter-spacing:.08em;color:#485641;margin:0 0 14px}.intro-role{font-size:clamp(20px,2.1vw,28px);line-height:1.6;color:#59664f;margin:0 0 18px;letter-spacing:.04em}.intro-description{max-width:800px;font-size:clamp(16px,1.5vw,21px);line-height:1.9;color:#6b7562;margin:0}.intro-link{display:inline-flex;margin-top:24px;font-size:15px;color:#5f7156;letter-spacing:.08em}
.direct-entry #foreign{padding-top:54px}.trade-summary{font-size:clamp(17px,1.5vw,21px);line-height:1.85;color:#5f6a57;max-width:1100px;margin:0 0 18px}.trade-results>.trade-platform-note{margin:0 0 14px;font-size:clamp(16px,1.4vw,20px);max-width:none}.trade-platform-note .facebook-label{font-size:1.08em}.resume-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 30px;margin:20px 0 22px}.resume-results p{display:flex;flex-direction:column;gap:3px}.resume-results strong{font-size:clamp(28px,3vw,42px)}.resume-project-detail{margin-bottom:28px}.trade-account{display:flex;flex-direction:column;align-items:center}.account-count{margin:18px 0 4px;font-size:clamp(22px,2vw,30px)}.account-caption{margin:0;color:#77816e;font-size:15px;letter-spacing:.05em;text-align:center}
.poster-group{margin:0 auto 30px}.poster-group .design-mosaic{padding-bottom:10px}.poster-method{width:min(100%,780px);margin:0 auto 14px;color:#76816c;font-size:15px;letter-spacing:.04em;line-height:1.7}.ai-tool-list{grid-template-columns:repeat(4,minmax(0,1fr));max-width:580px}.ai-tool-list li:nth-last-child(2),.ai-tool-list li:last-child{grid-column:auto}.contact-block{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;padding:30px 0 44px}.contact-block h2{font-size:24px;font-weight:500;margin:0;color:#4e5d48}.contact-block .contact-email{font-size:17px;letter-spacing:.01em;color:#5c6c56;overflow-wrap:anywhere}.contact-block .resume-download{font-size:15px;letter-spacing:.03em;padding:12px 19px;border:1px solid #b5c3a7;border-radius:999px;background:rgba(255,255,255,.5);color:#526249}
@media(max-width:640px){.portfolio-intro{min-height:0;margin:0 6%;padding:126px 0 50px}.portfolio-intro h1{font-size:44px}.intro-role{font-size:18px;line-height:1.75}.intro-description{font-size:16px;line-height:1.9}.direct-entry #foreign{padding-top:38px}.trade-summary{font-size:16px;line-height:1.85}.trade-results>.trade-platform-note{font-size:16px}.resume-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.resume-results strong{font-size:clamp(17px,5vw,23px);white-space:nowrap}.resume-results span{font-size:12px;line-height:1.55}.resume-project-detail{font-size:15px}.account-count{margin:14px 0 4px;font-size:24px}.account-caption{font-size:14px}.poster-method{font-size:14px}.contact-block{align-items:flex-start;flex-direction:column;gap:16px}.contact-block .contact-email{font-size:16px}}
.intro-role span{white-space:nowrap}

/* Keep the design header compact after removing its mascot. */
.design-collection>.collection-heading{min-height:0;align-items:center;margin-bottom:32px}
@media(max-width:640px){.design-collection>.collection-heading{min-height:0}}

/* Client gallery: show a few at a time, with more available by swipe or arrow. */
.client-gallery{margin:35px 0 0;padding-top:30px;border-top:1px solid rgba(157,166,140,.3)}.client-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.client-heading h3{margin:0;color:#4f5e49;font-size:clamp(20px,2vw,27px);font-weight:500;letter-spacing:.08em}.client-track{gap:18px}.client-track .client-slide{flex:0 0 clamp(235px,25vw,340px);width:clamp(235px,25vw,340px);height:260px;max-width:none;border-radius:var(--photo-radius);background:rgba(231,234,220,.6);overflow:hidden}.client-track .client-slide img{width:100%;height:100%;object-fit:contain}.client-track .client-slide:focus-visible{outline:3px solid #718562;outline-offset:3px}@media(max-width:640px){.client-gallery{margin-top:24px;padding-top:24px}.client-heading h3{font-size:21px}.client-track{gap:14px}.client-track .client-slide{flex-basis:78%;width:78%;height:230px}}
