/* A personal album: soft blue, blush paper and room to read. */
:root{--paper:#fffaf0;--ink:#2d3a47;--wine:#405b73;--muted:#596674;--line:#cbd4db;--rose:#f9e2e7;--white:#fffdf7;--sky:#c5d7e4;--pink:#f7c8d3;--blue-soft:#e6eef4}
body{background:var(--paper)}::selection{background:var(--pink);color:var(--ink)}
.eyebrow{letter-spacing:.1em;font-size:.75rem}
.site-header{background:rgba(255,250,240,.96);border-bottom-color:#c7d5df;padding-top:15px;padding-bottom:15px}
.wordmark{color:var(--ink)}.wordmark span{color:var(--muted);font-size:.75rem}
.download{border-radius:6px;background:var(--blue-soft)}.download:hover{background:var(--wine);color:var(--paper)}
/* Cover: the profession label sits above the overlapping photographs. */
.hero.folder-hero{max-width:none;background:#dce7ee;padding:32px max(5%,calc((100% - 1300px)/2)) 40px;position:relative;overflow:hidden}
.folder-hero .hero-top{color:var(--wine);font-size:.75rem;letter-spacing:.1em}
.folder-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(5rem,12vw,11rem);font-style:italic;line-height:1.08;letter-spacing:-.07em;font-weight:700;text-align:center;color:#4e697e;margin:26px 0 12px;max-width:100%}
.hero-role{width:fit-content;max-width:100%;margin:0 auto 34px;padding:9px 20px;border:1px solid #d7b8c2;border-radius:30px;background:#f9e0e7;font-size:.9375rem;line-height:1.5;color:var(--ink);text-align:center}
.hero-role span{padding:0 8px;color:#b46a72}
.folder-scene{position:relative;width:min(100%,820px);aspect-ratio:1.48;margin:0 auto;isolation:isolate}
.folder-photo{position:absolute;z-index:1;display:block;padding:0;border:0;background:var(--paper);overflow:hidden;transform:none;transition:translate .25s;clip-path:polygon(1% 1%,13% 0,25% 1%,38% 0,51% 1%,64% 0,78% 1%,90% 0,99% 1%,100% 14%,99% 28%,100% 42%,99% 57%,100% 73%,99% 88%,100% 99%,87% 100%,75% 99%,61% 100%,48% 99%,33% 100%,20% 99%,1% 100%,0 84%,1% 69%,0 54%,1% 39%,0 24%)}
.folder-photo:hover{translate:0 -6px}.folder-photo:focus-visible{outline:0}.folder-photo:focus-visible img{opacity:.7}
.folder-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none;filter:saturate(.92)}
.folder-photo span{position:absolute;top:12px;left:12px;right:12px;font-size:.75rem;letter-spacing:.1em;color:var(--ink);background:#fffaf0e8;width:fit-content;max-width:calc(100% - 24px);padding:5px 8px;line-height:1.4}
.flower-photo{left:29%;top:0;width:42%;height:48%;background:#f7d8e1;clip-path:polygon(0 2%,14% 0,29% 2%,45% 1%,59% 0,76% 2%,91% 0,100% 2%,99% 24%,100% 48%,99% 70%,100% 99%,79% 100%,57% 99%,33% 100%,13% 99%,0 100%,1% 76%,0 50%,1% 24%)}
.flower-photo img{scale:1.13}
.notes-photo{left:7%;top:5%;width:27%;height:49%}.life-photo{left:66%;top:11%;width:26%;height:54%}
.folder-front{position:absolute;z-index:3;bottom:0;left:0;width:100%;height:auto;pointer-events:none}
.folder-cover-copy{position:absolute;z-index:4;bottom:16%;left:14%;right:14%;text-align:center;color:var(--ink)}
.folder-small-label{font-size:.75rem;letter-spacing:.2em;color:var(--wine)}
.folder-cover-copy h2{font-size:clamp(1.5rem,2.5vw,2.2rem);letter-spacing:.04em;line-height:1.5;margin-top:10px}
.folder-cover-copy p{font-size:1rem;color:var(--muted);margin-top:7px}
.folder-tabs{display:flex;justify-content:center;gap:12px;margin-top:20px}
.folder-tabs a{padding:9px 19px;border:1px solid #afc0ce;font-size:.875rem;border-radius:5px;background:#e4ebf0;transition:background .2s,border-color .2s}
.folder-tabs a:nth-child(2){background:#f8dce3;border-color:#d9b5bf}.folder-tabs a:nth-child(3){background:#fff9ed;border-color:#d3cabc}
.folder-tabs a:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.folder-hero-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #b1c2cf;padding-top:24px;margin-top:22px}
.folder-hero-footer p{font-size:.875rem;color:var(--muted)}.folder-hero-footer>a{font-size:.875rem;white-space:nowrap;color:var(--wine);border-bottom:1px solid var(--wine);padding:3px 0}
/* Case studies: results, short explanations, then the work. */
.section{padding-top:112px;padding-bottom:112px}.section-heading{gap:48px;margin-bottom:56px}
.section-heading h2{color:var(--ink);font-size:clamp(1.8rem,2.9vw,2.8rem)}.section-heading>p{max-width:25em;line-height:1.9}
#works{border-top-color:#c7d5df}.project-index{gap:28px}
.project-preview{border-color:#c8d4dc;border-radius:18px 18px 4px 4px;background:#edf2f5;min-height:410px;padding-top:32px;box-shadow:none}
.project-preview:nth-child(2){background:#fbe4e9;border-color:#e7c4cc}.project-preview:nth-child(3){background:#fffaf0;border-color:#dfd6c5}
.project-preview:hover{border-color:var(--wine);transform:translateY(-4px)}.index-number{color:var(--wine)}.project-preview h3{color:var(--ink)}.project-preview img{transform:none;right:22px}
.preview-metric strong{color:var(--ink);background:transparent;font-weight:500}.preview-link{color:var(--wine)}
.case{margin-top:108px;padding-top:88px;border-top-color:var(--line)}.case-header{gap:30px;margin-bottom:42px}
.case-header h3{font-size:clamp(1.6rem,2.5vw,2.4rem);line-height:1.5}.case-number{color:#8096a8;font-size:clamp(3rem,5vw,5rem)}
.metrics{border-color:var(--line);padding:32px 0;margin-bottom:48px}.metrics strong{color:var(--wine)}.metrics span{margin-top:12px}
.case-body,#wechat .case-body{grid-template-columns:minmax(0,1fr);gap:42px}
.case-copy,#wechat .case-copy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;align-items:start}
.case-copy>div{min-width:0}.case-copy .eyebrow{margin-bottom:14px}.case-copy p{line-height:1.9}
.takeaway{background:#f9e4e9;padding:22px 24px;border:0;border-radius:4px 16px 4px 4px}.takeaway p:last-child{color:#4d5966;font-size:1rem}
.inline-number{display:block;font-size:1.6rem;margin-bottom:6px}
.phone-gallery{grid-template-columns:repeat(4,minmax(0,1fr));background:#e6eef4;border:1px solid #d0dce5;border-radius:12px;gap:28px;padding:36px;align-items:start}
.phone-gallery.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.phone-gallery img{max-height:400px}.phone-gallery figcaption{color:#485c6c;margin-top:18px}
.article-gallery{gap:34px}.article-card{background:var(--white);border-color:#ccd7df;border-radius:10px;overflow:hidden;box-shadow:none}
.article-card-copy{padding:26px 26px 24px}.article-card-copy .eyebrow{color:#425e74;margin-bottom:14px}.article-card-copy h4{font-size:1.1rem;line-height:1.75}
.article-card-actions{background:#eef2f5;border-color:#ccd7df;padding:18px 26px}.article-card:nth-child(2n) .article-card-actions{background:#fae7ec}
.article-card-actions a,.article-card-actions .article-zoom{color:var(--wine)}.data-note{margin-top:48px;line-height:1.8}
/* Personal pages have a lighter, more conversational rhythm. */
.creative-section{background:var(--sky);color:var(--ink);padding-top:112px;padding-bottom:112px}
.creative-section .eyebrow{color:var(--wine)}.creative-section .section-heading>p{color:#304657}
.gallery-heading{border-color:#9cb2c4;padding-top:30px;margin-top:80px!important;margin-bottom:36px!important}.gallery-heading>span{color:#304657}
.art-grid{gap:40px}.art-grid .image-button{background:#fffaf0;border:0;border-radius:2px;box-shadow:0 6px 16px #2d3a4709;padding:8px}
.art-grid figure:nth-child(2) .image-button{background:#f7d7e0}.art-grid figcaption{color:var(--ink);margin-top:22px}.art-grid figcaption h4{font-size:1.05rem}.art-grid figcaption p{color:#304657}
.creative-section blockquote{color:var(--ink);font-family:Georgia,serif;font-size:clamp(1.5rem,2.5vw,2.4rem);padding-top:68px;margin-bottom:12px}
.photographs .image-button,.photographs figure:nth-child(2) .image-button{padding:0;background:none;box-shadow:none}.photographs img{aspect-ratio:2/3;object-fit:cover}
.about-section{background:var(--paper)}.about-grid{gap:80px}
.portrait{background:#f8d9e2;border:1px solid #edc5d1;border-radius:16px 16px 2px 2px;padding:35px 45px 0}.portrait-name{color:var(--ink)}.about-content>h3{color:var(--ink)}
.education{margin-top:36px;padding:30px 0}.timeline{border-color:#a9b7c6;margin-top:24px}.timeline>div{margin-bottom:32px}.timeline>div:before{background:var(--wine)}
.method-header{padding-top:96px}.method-header h3{line-height:1.6}.method-grid{gap:32px;margin-top:40px}.method-grid>div{border-top-color:#a9b7c6;padding-top:26px}.method-grid>div:nth-child(2n){border-top-color:#d798a8}.method-grid span{color:var(--wine)}
.contact-section{background:#f6d4de;border-top:1px solid #e7b8c6;padding-top:100px;padding-bottom:32px}
.contact-section h2{color:var(--ink);font-size:clamp(2.2rem,4.5vw,4.6rem);line-height:1.45;margin-top:26px}.contact-section .eyebrow{color:var(--wine)}
.contact-details{margin-top:52px;gap:52px}.contact-details>div>span,.contact-details small,#copy-status,.contact-section footer{color:#304657}.contact-details small{border-color:#8c7182}
.pdf-button{border-color:#546d7f;border-radius:5px;background:#fffaf080}.contact-section footer{border-color:#caa2af;margin-top:80px}.contact-section footer a{color:var(--ink)}
dialog{background:var(--white);border-radius:10px;box-shadow:0 20px 80px #2d3a4730}dialog::backdrop{background:#233544de}
.lightbox-toolbar{background:#e5edf3;border-bottom-color:var(--line)}.lightbox-toolbar button,.lightbox-content button{border-color:#a9b7c6;border-radius:4px;color:var(--ink)}.lightbox-content button{background:#eff3f5}
@media(max-width:1000px){
 .folder-hero h1{font-size:13vw}.folder-scene{width:min(100%,720px)}.folder-cover-copy{bottom:15%;left:12%;right:12%}.folder-cover-copy h2{font-size:2rem}.folder-cover-copy p{font-size:.9375rem}.folder-tabs{margin-top:16px}
 .project-preview{min-height:390px}.project-index{gap:20px}.case-copy,#wechat .case-copy{gap:24px}.case-copy .eyebrow{letter-spacing:.04em}.takeaway{padding:20px}
 .phone-gallery{gap:20px;padding:26px}.phone-gallery.three{gap:24px}.about-grid{gap:40px}.art-grid{gap:28px}.method-grid{gap:24px}
}
@media(max-width:700px){
 .site-header{padding:12px 5%}.hero.folder-hero{padding:26px 4% 34px}.folder-hero .hero-top{font-size:.75rem;letter-spacing:.02em;align-items:flex-start;gap:15px}.folder-hero .hero-top span:last-child{font-size:.75rem;max-width:135px}
 .folder-hero h1{font-size:17vw;line-height:1.2;margin:24px 0 12px;letter-spacing:-.065em}.hero-role{font-size:.875rem;padding:8px 15px;margin-bottom:30px}.hero-role span{padding:0 4px}
 .folder-scene{width:100%;aspect-ratio:1.27}.flower-photo{left:26%;top:0;width:45%;height:43%}.notes-photo{left:6%;top:5%;width:28%;height:44%}.life-photo{left:66%;top:11%;width:27%;height:46%}.folder-photo span{display:none}
 .folder-cover-copy{bottom:10%;left:8%;right:8%}.folder-small-label{display:none}.folder-cover-copy h2{font-size:clamp(1.2rem,4vw,1.5rem);margin-top:0;letter-spacing:.02em}.folder-cover-copy p{font-size:.875rem;margin-top:4px}
 .folder-tabs{gap:7px;margin-top:9px}.folder-tabs a{padding:7px 10px;font-size:.875rem}
 .folder-hero-footer{align-items:flex-start;flex-direction:column;gap:14px;padding-top:22px;margin-top:18px}.folder-hero-footer p{font-size:.875rem;line-height:1.7}
 .section{padding:82px 5%}.section-heading{margin-bottom:42px}.section-heading>p{margin-top:20px;line-height:1.9}
 .project-index{gap:24px}.project-preview{min-height:250px;padding-top:24px}.project-preview img{right:24px}
 .case{margin-top:80px;padding-top:64px}.case-header{gap:18px;margin-bottom:32px}.case-header h3{font-size:1.55rem}.case-number{font-size:2.7rem}
 .metrics{padding:26px 0;margin-bottom:36px}.metrics>div{padding-left:12px}.metrics span{margin-top:9px;line-height:1.7}.metrics.four{gap:28px}.metrics.four strong{font-size:1.8rem}
 .case-copy,#wechat .case-copy{grid-template-columns:minmax(0,1fr);gap:30px}.case-copy>div{max-width:40em}.case-copy .eyebrow{margin-bottom:10px}.case-copy p{font-size:.9375rem;line-height:1.9}.case-copy h4{margin-bottom:8px}
 .takeaway{padding:22px 24px}.takeaway p:last-child{font-size:.9375rem}.inline-number{display:inline;font-size:1.5rem}.case-body,#wechat .case-body{gap:36px}
 .phone-gallery,.phone-gallery.three{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px;gap:32px 24px}.phone-gallery.three figure:last-child{grid-column:1/-1;width:calc(50% - 12px);justify-self:center}.phone-gallery img{max-height:370px}.phone-gallery figcaption{font-size:.875rem;line-height:1.7;margin-top:14px}
 .article-gallery{grid-template-columns:minmax(0,1fr);gap:32px}.article-card-copy{padding:24px}.article-card-copy h4{font-size:1rem;line-height:1.8}.article-card-actions{padding:18px 24px}.data-note{margin-top:40px}
 .creative-section{padding:82px 5%}.gallery-heading{margin-top:64px!important;margin-bottom:28px!important;padding-top:26px}.gallery-heading>span{font-size:.75rem;letter-spacing:.04em}
 .art-grid{gap:28px 20px}.art-grid figure:last-child{width:calc(50% - 10px)}.art-grid .image-button{padding:6px}.art-grid figcaption{margin-top:16px}.art-grid figcaption h4{font-size:.9375rem}
 .photographs{grid-template-columns:repeat(2,minmax(0,1fr))}.photographs figure:last-child{grid-column:1/-1;width:calc(50% - 10px)}.photographs .image-button{padding:0}
 .creative-section blockquote{padding-top:44px;margin-bottom:0;font-size:1.5rem;line-height:1.6}
 .about-grid{gap:44px}.portrait{padding:25px 35px 0}.education{margin-top:32px;padding:28px 0}.method-header{padding-top:68px}.method-grid{gap:36px 24px;margin-top:36px}.method-grid p{line-height:1.9}
 .contact-section{padding:80px 5% 28px}.contact-section h2{font-size:clamp(1.85rem,6.5vw,2.8rem);line-height:1.5}.contact-details{gap:30px;margin-top:42px}.contact-section footer{margin-top:60px}
}
@media(max-width:360px){
 .hero-role{padding:8px 10px;font-size:.8125rem}.folder-cover-copy{left:6%;right:6%;bottom:10%}.folder-cover-copy h2{font-size:1.2rem}.folder-cover-copy p{display:none}.folder-tabs a{padding:6px 8px}
 .case-header{gap:12px}.case-header h3{font-size:1.4rem}.case-number{font-size:2.3rem}.phone-gallery,.phone-gallery.three{padding:20px 16px;gap:26px 18px}.phone-gallery.three figure:last-child{width:calc(50% - 9px)}
 .gallery-heading{align-items:flex-start;flex-direction:column;gap:8px}.article-card-copy{padding:20px}.article-card-actions{padding:18px 20px}
}
@media(prefers-reduced-motion:reduce){.folder-photo:hover{translate:none}}
