@charset "UTF-8";
:root{--ink:#302d29;--muted:#77716c;--pink:#f6d2dc;--yellow:#f8edbd;--purple:#8b6d9d;--line:rgba(94,72,55,.12);--glass:rgba(255,253,247,.75);--shadow:0 18px 55px rgba(102,70,61,.07);--radius:28px;--body:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.85;background:#fbf5ea}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 13% 9%,#f7d2de 0,transparent 47%),radial-gradient(ellipse at 73% 4%,#f9edb6 0,transparent 49%),radial-gradient(ellipse at 91% 65%,#f8e0df 0,transparent 45%),radial-gradient(ellipse at 19% 86%,#efe4f1 0,transparent 49%),#fbf5ea}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23998d78' opacity='.22' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.35}h2{font-weight:500;font-size:clamp(29px,3.3vw,43px);letter-spacing:-1px}h3{font-size:23px;font-weight:600}p+p{margin-top:16px}::selection{background:#efd497}.wrap{width:min(1120px,calc(100% - 72px));margin:auto}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#8a7770;display:block;margin-bottom:17px}.section{padding:90px 0}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:38px}.section-heading p{max-width:330px;color:var(--muted);font-size:14px}.serif{font-family:Georgia,"STKaiti","KaiTi",serif;font-style:italic}.small{font-size:12px}.paper{background:var(--glass);border:1px solid rgba(255,255,255,.9);border-radius:var(--radius);box-shadow:var(--shadow)}.pill{display:inline-flex;gap:7px;align-items:center;font-size:11px;padding:5px 12px;border:1px solid var(--line);border-radius:7px;background:#fff9}.pills{display:flex;gap:8px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:48px;border-radius:12px;padding:10px 23px;background:#34312d;color:#fff;border:1px solid #34312d;font-size:13px;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 9px 20px #43322a20}.button.secondary{background:#fff9;color:var(--ink);border-color:#fff}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.text-link{display:inline-flex;gap:25px;border-bottom:1px solid #b5a39a;padding:5px 0;font-size:13px}.photo-button{padding:0;border:0;background:transparent;display:block;width:100%;text-align:left}.photo-button img{transition:transform .35s}.photo-button:hover img{transform:scale(1.025)}.photo-frame{overflow:hidden;border-radius:16px}.photo-caption{font-size:11px;color:#81776e;margin-top:10px;letter-spacing:.4px}
.site-header{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:40;width:min(1216px,calc(100% - 40px));display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;border:1px solid #fff;border-radius:19px;background:rgba(255,253,246,.82);backdrop-filter:blur(20px);box-shadow:0 8px 30px #563c3110}.brand{display:flex;align-items:center;gap:11px;font-size:12px;letter-spacing:1.5px;white-space:nowrap}.brand b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#34312d;color:#fff;font-family:Georgia,serif;font-style:italic;font-size:15px;letter-spacing:-1px}.nav{display:flex;align-items:center;gap:3px}.nav a{padding:8px 13px;border-radius:50px;font-size:12px;white-space:nowrap}.nav a:hover{background:#f4e8e2}.nav a.active{background:#34312d;color:#fff;box-shadow:0 5px 13px #37312b17}.resume-link{font-size:11px;background:#fff6;border:1px solid #e8dfd0;border-radius:10px;padding:7px 12px;white-space:nowrap}.menu-toggle{display:none;background:none;border:0;padding:5px 10px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:10px}.skip-link:focus{top:0}
.hero{min-height:750px;padding-top:156px;position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:center;padding-bottom:80px}.hello{display:inline-flex;align-items:center;gap:9px;background:#fff7;padding:5px 12px;border:1px solid #fff9;border-radius:30px;font-size:11px;letter-spacing:1.2px;margin-bottom:24px}.hello:before{content:"";width:6px;height:6px;background:#98b49a;border:4px solid #dce9da;border-radius:50%;box-sizing:content-box}.hero h1{font-size:clamp(54px,6.2vw,84px);line-height:1.12;letter-spacing:-4px;font-weight:700}.hero h1 span{display:block}.hero h1 .name{display:inline;position:relative;z-index:0}.hero h1 .name:after{content:"";position:absolute;left:1px;right:-3px;bottom:5px;height:17px;background:#f0cea4;z-index:-1;transform:rotate(-2deg)}.hero-role{font-size:23px;font-weight:500;color:#8c6a9c;margin:22px 0 16px;letter-spacing:-.5px}.hero-copy{max-width:450px;color:#777069;font-size:14px;line-height:2}.hero .pills{margin-top:24px}.hero-art{height:490px;position:relative}.orbit{position:absolute;width:430px;height:430px;left:28px;top:15px;border:1px solid #fff9;border-radius:50%}.orbit:after{content:"";position:absolute;inset:35px;border:1px solid #fff9;border-radius:50%}.identity-card{position:absolute;left:40px;top:55px;width:322px;height:350px;background:linear-gradient(150deg,#fff9ec 4%,#fce5d9 51%,#f6d8e6);border:1px solid #fff;border-radius:25px;transform:rotate(-7deg);box-shadow:0 20px 60px #a1716920;padding:28px;overflow:hidden}.card-top{font-size:10px;letter-spacing:2px;display:flex;justify-content:space-between;color:#927e75}.identity-card .monogram{font-family:Georgia,serif;font-style:italic;font-size:142px;font-weight:400;line-height:1.5;letter-spacing:-15px;color:#9c787c}.identity-card .identity-bottom{position:absolute;bottom:26px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:end;font-size:13px}.identity-bottom small{font-size:9px;letter-spacing:2px}.flower{position:absolute;right:24px;top:76px;color:#b19cc0;font-family:Georgia,serif;font-size:90px;line-height:1;transform:rotate(13deg)}.mini-photo{position:absolute;right:0;bottom:6px;width:240px;background:#fffaf0;padding:10px 10px 30px;transform:rotate(7deg);box-shadow:0 12px 35px #65433526;z-index:3}.mini-photo img{height:145px;width:100%;object-fit:cover}.mini-photo span{display:block;margin-top:9px;font-size:10px;color:#847269;letter-spacing:1px}.tape{position:absolute;width:77px;height:23px;background:#f0d8a899;top:-12px;left:82px;transform:rotate(-6deg);z-index:5}.floating-note{position:absolute;right:-15px;top:14px;transform:rotate(8deg);padding:19px 22px;background:#fff9;border:1px solid #fff;border-radius:14px;box-shadow:var(--shadow);font-size:13px;line-height:1.8;z-index:5}.floating-note span{color:#997e9d;font-family:Georgia,serif;font-style:italic;font-size:18px}.hero-star{position:absolute;left:4px;bottom:35px;font-size:50px;color:#ab869c;transform:rotate(-15deg)}.scroll-note{position:absolute;left:0;bottom:24px;font-size:10px;letter-spacing:1px;color:#9a8677}.scroll-note span{margin-right:10px;display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid #cab9a7;border-radius:50%;font-size:13px}.hero-line{height:1px;background:linear-gradient(90deg,transparent,#d9bfb88a,transparent)}
.education{padding:40px 0 24px}.sub-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.sub-heading h3{font-size:23px;font-weight:500}.sub-heading span{font-size:10px;letter-spacing:2px;color:#a28a7b}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.school{padding:15px;display:grid;grid-template-columns:145px 1fr;gap:20px;align-items:center;border-radius:20px}.school img{width:145px;height:155px;object-fit:cover;border-radius:12px}.school time{font-size:11px;color:#9c8a57}.school h3{font-size:17px;margin:8px 0 4px}.school p{font-size:12px;color:var(--muted)}.school p+p{margin-top:5px}.honor-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 30px;margin-top:23px;color:#8a7869;font-size:11px}.honor-strip button{background:none;border:0;color:inherit;padding:0;font-size:11px;border-bottom:1px solid #c5b7a2}.honor-strip .star{color:#af965e}
.project-card{padding:28px;display:grid;grid-template-columns:1.12fr 1fr;gap:42px;align-items:center;margin-top:25px;transition:box-shadow .3s}.project-card:hover{box-shadow:0 22px 65px #6c443215}.project-visual{height:340px;overflow:hidden;position:relative;border-radius:19px;background:linear-gradient(130deg,#f7e4d2,#f8edcb 45%,#f6dcdd)}.project-visual.tabbit{padding:40px 24px;display:flex;align-items:center}.browser-shot{width:100%;border:6px solid #fff9;border-radius:13px;box-shadow:0 15px 35px #78654822;transform:rotate(-4deg)}.visual-label{position:absolute;top:18px;left:18px;font-size:10px;letter-spacing:1.5px;color:#866d58}.visual-caption{position:absolute;bottom:20px;left:24px;font-size:11px;color:#8a7767}.project-copy{padding-right:10px}.project-number{font-family:Georgia,serif;font-size:14px;color:#a48c7d;margin-bottom:16px;display:block}.project-copy h3{font-size:30px;margin-bottom:4px;letter-spacing:-.6px}.project-subtitle{font-size:16px;margin-bottom:17px;color:#796b62}.project-copy .description{font-size:13px;color:var(--muted);line-height:1.9}.project-meta{font-size:11px;color:#a28b7f;margin-top:17px}.project-stats{display:flex;gap:25px;margin:23px 0}.project-stats strong{font-size:24px;font-family:Georgia,serif;font-weight:400;display:block;line-height:1.2}.project-stats span{font-size:10px;color:#93867b}.project-card.soda-card{grid-template-columns:1fr 1.12fr}.soda-card .project-copy{padding-left:15px}.soda-visual{background:linear-gradient(135deg,#f5d9e4,#f4e3e4 48%,#eee4d4);display:flex;justify-content:center;align-items:flex-start;gap:17px;padding:45px 22px}.soda-visual img{width:138px;border:5px solid #403a3a;border-radius:21px;box-shadow:0 18px 25px #54434030;transform:rotate(-9deg);max-height:none}.soda-visual img+img{transform:rotate(9deg);margin-top:35px}.project-footnote{font-size:10px;color:#948980;margin-top:18px;text-align:right}
.research-card{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;padding:40px}.research-visual{min-height:340px;border-radius:20px;background:linear-gradient(145deg,#ece4f0,#f5dfdf 55%,#f7eccd);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;position:relative;overflow:hidden}.wave{display:flex;align-items:center;gap:6px;height:100px;margin:18px 0 27px}.wave i{display:block;width:6px;border-radius:10px;height:var(--h);background:linear-gradient(#b49bc5,#d29caa)}.research-model{font-family:Georgia,serif;font-size:31px;letter-spacing:-1px;color:#775f81}.research-diagram{display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:wrap}.research-diagram span{font-size:10px;border:1px solid #fff;border-radius:8px;padding:7px;background:#ffffff65}.research-copy .eyebrow{margin-top:4px}.research-copy h3{font-size:26px;margin-bottom:17px}.research-copy p{font-size:13px;color:var(--muted)}.research-results{display:flex;gap:30px;margin:24px 0}.research-results b{font-family:Georgia,serif;font-size:30px;font-weight:400;color:#876d91}.research-results small{display:block;color:var(--muted);font-size:10px}.expand{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.expand summary{cursor:pointer;font-size:12px;display:flex;justify-content:space-between;list-style:none}.expand summary::-webkit-details-marker{display:none}.expand summary:after{content:"＋"}.expand[open] summary:after{content:"−"}.expand p{margin-top:14px;font-size:12px}.expand ul{font-size:12px;color:var(--muted);padding-left:18px}
.practice-top{display:grid;grid-template-columns:1fr 1.1fr;gap:45px;align-items:center}.practice-text h3{font-size:28px;margin:8px 0 17px}.practice-text p{font-size:13px;color:var(--muted)}.practice-text .pills{margin-top:20px}.field-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px 6px}.polaroid{background:#fffaf3;padding:10px 10px 16px;box-shadow:0 10px 35px #67473519;transform:rotate(-5deg)}.polaroid:nth-child(2){transform:rotate(5deg);margin-top:25px}.polaroid img{aspect-ratio:4/5;object-fit:cover;width:100%}.polaroid p{font-size:10px;color:#928172;margin-top:10px;letter-spacing:1px}.practice-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.practice-step{padding:27px}.practice-step .step{font-size:12px;color:#b29b79;margin-bottom:14px}.practice-step h4{font-size:17px;margin-bottom:12px}.practice-step p{font-size:12px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:25px}.gallery-grid img{width:100%;aspect-ratio:1.43;object-fit:cover;border-radius:12px}.gallery-block{margin-top:35px}.gallery-block h4{font-size:14px;font-weight:500;margin-bottom:5px}.inline-results{display:flex;justify-content:space-around;text-align:center;padding:25px 0;margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.inline-results strong{font-family:Georgia,serif;font-size:32px;line-height:1.4;font-weight:400}.inline-results span{display:block;font-size:11px;color:var(--muted)}.evidence-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.evidence-buttons button{font-size:11px;border:1px solid #d9c9bc;border-radius:25px;background:#fffa;padding:7px 13px}.evidence-buttons button:hover{background:#fff}
.campus-feature{display:grid;grid-template-columns:1.3fr .8fr;gap:35px;align-items:center}.campus-main{padding:13px 13px 19px;transform:rotate(-2deg);border-radius:6px;background:#fffbf3;box-shadow:var(--shadow);position:relative}.campus-main img{aspect-ratio:1.6;object-fit:cover;width:100%;border-radius:2px;object-position:50% 58%}.campus-main .photo-caption{display:flex;justify-content:space-between;padding:0 5px}.campus-quote{padding:25px}.campus-quote .quote-mark{font-family:Georgia,serif;font-size:75px;line-height:.7;color:#c0a3b2}.campus-quote h3{font-size:26px;font-weight:500;line-height:1.8;margin:18px 0}.campus-quote p{font-size:13px;color:var(--muted)}.roles{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:35px 0 24px}.role{padding:30px}.role-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.role-header h3{font-size:20px}.role-header time{font-size:10px;color:#968273}.role p{font-size:12px;color:var(--muted)}.role-numbers{display:flex;gap:25px;margin-top:20px}.role-numbers span{font-size:11px;color:#887970}.role-numbers b{font-family:Georgia,serif;font-size:27px;font-weight:400;margin-right:5px;color:#5b4d48}.campus-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.campus-gallery img{aspect-ratio:1.5;object-fit:cover;width:100%;border-radius:13px;object-position:50% 55%}.campus-gallery .photo-caption{font-size:10px}
.contact{padding:65px 0 35px}.contact-card{padding:60px 65px;border-radius:32px;background:radial-gradient(ellipse at 88% 15%,#65775c70,transparent 55%),radial-gradient(ellipse at 17% 100%,#937b9760,transparent 55%),#343e36;color:#fffaf0;position:relative;overflow:hidden}.contact-card .eyebrow{color:#d7cfb9}.contact-card h2{font-size:clamp(31px,4.7vw,57px);line-height:1.45;letter-spacing:-1px;max-width:800px}.contact-card p{font-size:13px;color:#d0d0c4;margin-top:23px}.contact-card .button{background:#f5e9bd;color:#3b3b31;border-color:#f5e9bd}.contact-card .button.secondary{background:#ffffff0c;border-color:#ffffff35;color:#fff6e5}.contact-card .contact-email{display:block;font-family:Georgia,serif;font-size:17px;color:#e1d7c4;margin-top:25px}.contact-flower{position:absolute;right:44px;bottom:25px;font-size:160px;color:#f5eac615;line-height:1;pointer-events:none}.footer{display:flex;justify-content:space-between;align-items:center;padding:25px 4px;color:#8d8176;font-size:10px;letter-spacing:.5px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#34312d;color:#fff;padding:11px 22px;border-radius:30px;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.lightbox{padding:0;border:1px solid #fff6;border-radius:18px;max-width:95vw;max-height:94vh;background:#fffaf2;box-shadow:0 20px 90px #0005}.lightbox::backdrop{background:#292328c9;backdrop-filter:blur(8px)}.lightbox-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:10px 20px;font-size:12px}.lightbox-bar button{border:0;background:#ece3d8;border-radius:50%;width:34px;height:34px}.lightbox img{max-height:calc(90vh - 70px);max-width:90vw;width:auto;object-fit:contain;margin:auto}.lightbox-bottom{padding:6px 20px 13px;font-size:10px;color:var(--muted)}
/* Case studies */
.case-header{padding:140px 0 50px}.back-link{font-size:12px;color:#8f796b;display:inline-flex;gap:13px;margin-bottom:35px}.case-kicker{display:flex;gap:12px;align-items:center;margin-bottom:22px}.case-kicker .eyebrow{margin:0}.case-header h1{font-size:clamp(37px,5vw,62px);letter-spacing:-2px;line-height:1.3;font-weight:600}.case-header .intro{max-width:750px;color:var(--muted);margin-top:24px;font-size:15px}.case-meta{display:flex;gap:34px;margin-top:30px;flex-wrap:wrap}.case-meta div{font-size:12px}.case-meta small{display:block;font-size:10px;letter-spacing:1px;color:#9b877b;margin-bottom:4px}.case-cover{padding:24px 35px;border-radius:24px;background:linear-gradient(130deg,#f8e4d5,#f8edcc 45%,#eedfed);margin-bottom:35px;text-align:center;overflow:hidden}.case-cover>img{max-height:410px;object-fit:contain;margin:auto;width:100%;border-radius:12px;box-shadow:0 12px 30px #78645315}.case-cover .photo-caption{text-align:center}.case-cover.phones{display:flex;justify-content:center;align-items:start;gap:28px;padding:35px 30px;background:linear-gradient(135deg,#f2d7e2,#f5e5dd,#f3e8c6)}.case-cover.phones img{height:370px;width:auto;border:6px solid #373032;border-radius:21px;box-shadow:0 12px 35px #503a4430}.case-cover.phones img:nth-child(2){margin-top:25px}.case-layout{display:grid;grid-template-columns:170px 1fr;gap:55px;padding:20px 0 45px}.case-toc{position:sticky;top:125px;align-self:start;padding:15px 0}.case-toc .eyebrow{font-size:9px;margin-bottom:15px}.case-toc a{display:block;font-size:12px;padding:9px 12px;border-left:2px solid #dacabb;color:#8e7e70}.case-toc a.active{border-left-color:#9b769a;color:#6f4f70;background:#fff8;border-radius:0 8px 8px 0}.case-section{padding:20px 0 48px;scroll-margin-top:100px}.case-section+.case-section{border-top:1px solid var(--line);padding-top:42px}.case-section .eyebrow{font-size:10px;margin-bottom:13px}.case-section h2{font-size:29px;margin-bottom:22px;line-height:1.5}.case-section h3{font-size:19px;margin:25px 0 13px}.case-section p{font-size:14px;color:#756e66;line-height:2}.case-section strong{font-weight:600;color:#494039}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:23px}.case-box{background:#fff9;border:1px solid #fffd;border-radius:17px;padding:24px}.case-box h4{font-size:15px;margin-bottom:12px}.case-box p,.case-box li{font-size:12px;color:#7a7168;line-height:1.9}.case-box ul{padding-left:16px;margin:0}.case-box .n{font-family:Georgia,serif;font-size:26px;color:#b49a84;display:block;margin-bottom:11px}.decision{border-left:3px solid #b99abc;background:linear-gradient(110deg,#efe2ee99,#fff9e780);padding:21px 25px;border-radius:0 15px 15px 0;margin-top:23px}.decision h4{font-size:14px;margin-bottom:9px;color:#7c607c}.decision p{font-size:13px}.flow{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;margin:25px 0}.flow span{display:flex;align-items:center;justify-content:center;flex:1;min-width:80px;padding:13px 8px;background:#fff9;border:1px solid #fffd;border-radius:11px;font-size:12px;text-align:center}.flow b{align-self:center;color:#baa48c;font-weight:400}.case-figure{margin:24px 0 10px;background:#fffa;border:1px solid #fff;border-radius:18px;padding:13px}.case-figure img{border-radius:10px;width:100%}.case-figure figcaption{font-size:10px;color:#918477;margin-top:10px;padding:0 7px}.case-table{width:100%;border-collapse:collapse;margin:23px 0;font-size:12px;line-height:1.8}.case-table th{text-align:left;background:#eee2da88;font-weight:500;color:#7a6153}.case-table th,.case-table td{padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top}.case-table td{background:#fff6;color:#756b61}.case-table td:first-child{color:#4a4038;font-weight:500}.table-scroll{overflow-x:auto}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}.metric{border:1px solid #fff;border-radius:17px;padding:22px;background:linear-gradient(145deg,#fffaf1b0,#f3e4e980)}.metric small{display:block;font-size:10px;color:#9e8b7d}.metric strong{font-family:Georgia,serif;font-size:31px;display:block;font-weight:400;color:#81697c;line-height:1.6}.metric .baseline{font-size:11px;color:#928274}.metric .metric-name{font-size:11px;color:#6e6258}.source-note{font-size:11px!important;color:#9a8a7c!important;margin-top:18px!important}.next-case{margin:30px 0 70px;display:flex;justify-content:space-between;align-items:center;padding:32px 38px}.next-case h3{font-size:23px;margin-top:8px}.next-case .eyebrow{margin:0}.case-footer{border-top:1px solid var(--line)}.resume-note{font-size:11px;color:#dacdba;margin-top:10px}.review-only{color:#957c68}
@media(min-width:1400px){.hero{min-height:800px}.wrap{width:1140px}.hero-art{margin-left:15px}}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.nav a{padding:8px}.brand span{display:none}.hero{gap:25px}.hero-art{transform:scale(.9);transform-origin:center}.hero h1{font-size:67px}.hero-role{font-size:20px}.project-card{gap:26px;padding:23px}.project-visual{height:300px}.school{grid-template-columns:100px 1fr;gap:14px}.school img{width:100px;height:145px}.research-card{gap:28px;padding:27px}.case-layout{grid-template-columns:145px 1fr;gap:30px}}
@media(max-width:760px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 36px)}.site-header{top:12px;width:calc(100% - 24px);padding:10px 13px;border-radius:15px}.brand span{display:inline;font-size:10px}.menu-toggle{display:block}.site-header .resume-link{display:none}.nav{display:none;position:absolute;top:65px;left:0;right:0;padding:12px;flex-direction:column;align-items:stretch;background:#fffaf4;border:1px solid white;border-radius:15px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{text-align:center;padding:10px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:127px;gap:8px;padding-bottom:56px;min-height:unset}.hero h1{font-size:66px;letter-spacing:-3px}.hero .hello{align-self:start;margin-bottom:22px}.hero-role{font-size:20px;margin-top:22px}.hero-copy{font-size:13px}.hero-art{height:395px;transform:scale(.87);width:390px;max-width:100%;align-self:center;transform-origin:center;margin-top:8px}.identity-card{left:15px;top:38px;width:280px;height:310px}.identity-card .monogram{font-size:123px}.flower{font-size:74px}.mini-photo{width:201px;right:-10px;bottom:0}.mini-photo img{height:121px}.orbit{width:350px;height:350px;left:0}.floating-note{right:-8px;top:5px;padding:12px 15px}.hero-star{bottom:5px}.scroll-note{bottom:13px}.section{padding:57px 0}.section-heading{display:block;margin-bottom:26px}.section-heading p{margin-top:17px;max-width:none;font-size:12px}.eyebrow{font-size:10px;margin-bottom:11px}.education{padding-top:30px}.education-grid{grid-template-columns:1fr;gap:14px}.school{padding:12px;grid-template-columns:106px 1fr}.school img{width:106px;height:129px}.school h3{font-size:16px}.school time{font-size:10px}.school p{font-size:11px}.honor-strip{gap:10px 16px}.sub-heading h3{font-size:21px}.project-card,.project-card.soda-card{grid-template-columns:1fr;padding:15px;gap:24px}.project-visual{height:260px}.project-copy,.soda-card .project-copy{padding:0 10px 12px}.project-number{margin-bottom:10px}.project-copy h3{font-size:29px}.project-subtitle{font-size:16px}.soda-card .project-visual{grid-row:1}.soda-visual img{width:120px}.project-stats{gap:24px;margin:21px 0}.project-footnote{text-align:left}.research-card{grid-template-columns:1fr;padding:16px;gap:24px}.research-visual{min-height:270px}.research-copy{padding:0 9px 10px}.research-copy h3{font-size:25px}.research-results{gap:25px}.practice-top{grid-template-columns:1fr;gap:10px}.practice-text h3{font-size:25px}.field-photos{gap:18px;padding:15px 10px}.practice-steps{grid-template-columns:1fr;gap:13px;margin-top:20px}.practice-step{padding:24px}.practice-step .step{margin-bottom:8px}.gallery-grid{grid-template-columns:1fr 1fr}.inline-results strong{font-size:27px}.inline-results span{font-size:10px}.campus-feature{grid-template-columns:1fr;gap:23px}.campus-main{margin:0 5px}.campus-quote{padding:20px 10px 0}.campus-quote h3{font-size:24px;margin:12px 0}.roles{grid-template-columns:1fr;gap:13px;margin-top:25px}.role{padding:25px}.campus-gallery{grid-template-columns:1fr 1fr;gap:13px}.campus-gallery>div:last-child{grid-column:1/-1}.campus-gallery>div:last-child img{aspect-ratio:2}.contact{padding-top:25px}.contact-card{padding:35px 27px;border-radius:24px}.contact-card h2{font-size:32px}.contact-card p{font-size:12px}.contact-card .contact-email{font-size:15px}.contact-card .actions{gap:10px}.contact-card .button{padding:10px 16px;gap:10px;font-size:12px}.contact-flower{right:-15px;bottom:30px}.footer{gap:18px;font-size:9px}.case-header{padding:112px 0 30px}.back-link{margin-bottom:25px}.case-header h1{font-size:37px;letter-spacing:-1px}.case-header .intro{font-size:13px}.case-meta{gap:20px;font-size:11px}.case-cover{padding:15px;margin-bottom:17px}.case-cover.phones{gap:10px;padding:24px 10px}.case-cover.phones img{width:29%;height:auto;border-width:3px;border-radius:12px}.case-layout{display:block;padding-top:0}.case-toc{position:relative;top:auto;display:flex;gap:7px;flex-wrap:wrap;padding:12px 0 27px}.case-toc .eyebrow{display:none}.case-toc a{font-size:10px;padding:5px 9px;border:1px solid #deccbe;border-radius:20px!important}.case-toc a.active{border-color:#aa8ab2}.case-section{padding:15px 0 35px}.case-section h2{font-size:25px}.case-section p{font-size:13px}.case-grid{grid-template-columns:1fr}.case-box{padding:22px}.case-section+.case-section{padding-top:30px}.case-table{font-size:11px;min-width:480px}.case-table th,.case-table td{padding:11px}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:17px}.metric strong{font-size:27px}.flow{gap:5px}.flow span{min-width:72px;font-size:10px;padding:10px 5px}.flow b{font-size:11px}.next-case{padding:25px;gap:20px}.next-case h3{font-size:20px}.next-case .button{padding:10px 14px;font-size:11px;gap:8px}.decision{padding:18px 21px}.lightbox img{max-width:94vw}.lightbox-bar{padding:9px 13px}.lightbox-bottom{padding:6px 13px 12px}.project-card .button{min-height:43px}}
.paper-architecture{padding:28px 20px;min-height:370px}.paper-architecture .eyebrow{font-size:9px;letter-spacing:1.3px;text-align:center}.paper-architecture .research-model{font-size:32px;margin-bottom:24px}.paper-architecture .photo-button{background:white;border-radius:12px;padding:10px;box-shadow:0 12px 25px #82647712}.paper-architecture img{width:100%;height:auto;object-fit:contain}.research-copy .actions{gap:17px;align-items:center;margin-top:23px}.research-copy .text-link{font-size:12px}.research-cover{background:linear-gradient(125deg,#f7e5d6,#f4e4ec,#f9edcb);padding:30px 40px}.research-cover .photo-button{padding:18px;background:#fff;border-radius:16px}.research-cover img{max-height:475px;width:100%;object-fit:contain}.paper-download{margin-top:30px;padding:30px;background:#fff9;border:1px solid white;border-radius:20px;display:flex;gap:25px;align-items:center}.paper-download h3{margin:0 0 12px}.paper-download p{font-size:12px;overflow-wrap:anywhere}.paper-download .button,.next-case .button{white-space:nowrap;flex-shrink:0}.paper-download .eyebrow{font-size:9px}.paper-download .small{margin-top:12px}.case-table tbody tr:last-child:has(td:first-child){border-bottom:1px solid var(--line)}
@media(max-width:760px){.paper-architecture{min-height:280px;padding:25px 16px}.paper-architecture .research-model{font-size:30px;margin-bottom:20px}.research-cover{padding:15px}.research-cover .photo-button{padding:7px;border-radius:10px}.paper-download{display:block;padding:23px}.paper-download .button{margin-top:20px}.next-case{flex-wrap:wrap}.research-copy .actions{gap:15px}}
/* Original-photo hero and interview reading layer */
.portrait-art{height:470px;isolation:isolate;transform:none;margin:0;display:grid;place-items:center}
.portrait-disc{position:absolute;width:350px;height:350px;top:77px;left:50%;transform:translateX(-50%);border-radius:50%;background:linear-gradient(140deg,#fff5d1b0,#fcf1d655);border:1px solid #fffdf4}
.portrait-paper{position:absolute;width:225px;height:245px;right:4px;bottom:30px;transform:rotate(14deg);border-radius:50% 50% 45% 40%;background:#f7e2e680}
.portrait-photo{position:relative;height:435px;max-width:100%;overflow:visible;z-index:2;filter:drop-shadow(0 7px 12px #9b777010)}
.portrait-petal{position:absolute;display:block;width:32px;height:16px;background:#f2d5dd99;border-radius:100% 0 100% 0;z-index:3}
.petal-one{left:37px;top:128px;transform:rotate(-15deg)}.petal-two{right:15px;top:130px;transform:rotate(-20deg)}.petal-three{left:25px;bottom:100px;transform:rotate(62deg)}
.portrait-spark{position:absolute;color:#eac9d0;font-family:Georgia,serif;font-size:38px;font-weight:400;line-height:1;z-index:3}
.spark-one{left:72px;top:50px}.spark-two{right:10px;top:235px;font-size:34px}.spark-three{left:50px;bottom:47px;font-size:30px}
.hero-role{color:#9a86ad;font-size:27px;font-weight:600}.hero-copy{max-width:470px}.hero h1 .name:after{background:#f2d9dc;border-radius:50%}
.home-comparisons{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-comparisons>div{min-width:0}.home-comparisons strong{font-size:24px;white-space:nowrap;margin:5px 0}.home-comparisons strong small{font-size:16px;color:#91857f}.home-comparisons strong i{font-style:normal;font-size:14px;color:#b3a598;margin:0 5px}.home-comparisons em{display:block;font-style:normal;font-size:10px;color:#7d687a}.home-comparisons span{color:#7d726a}
.project-footnote a{text-decoration:underline;text-underline-offset:4px}
.case-summary{padding:30px 34px;margin:0 0 30px;background:linear-gradient(120deg,#fffaf0dd,#f9edf2bb);border:1px solid #fff;border-radius:24px;box-shadow:var(--shadow)}
.case-summary h2{font-size:25px;margin-bottom:24px}.case-summary .eyebrow{font-size:9px;margin-bottom:10px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:summary}
.summary-item{position:relative;counter-increment:summary;padding-top:30px}.summary-item:before{content:"0" counter(summary);position:absolute;top:0;left:0;font-family:Georgia,serif;font-size:16px;color:#b19891}.summary-item h3{font-size:15px;margin-bottom:10px}.summary-item p{font-size:12px;line-height:1.95;color:#756c65}
.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:25px 0}.comparison-card{padding:23px;background:#fff9;border:1px solid white;border-radius:18px}.comparison-card h3{font-size:15px;margin:0 0 19px}.comparison-values{display:flex;gap:12px;align-items:center;justify-content:space-between}.comparison-values small{display:block;font-size:10px;color:#95887e}.comparison-values strong{font-family:Georgia,serif;font-size:28px;line-height:1.5;white-space:nowrap}.comparison-values .before strong{color:#a69a93;font-size:23px;font-weight:400}.comparison-values .after strong{color:#806b84;font-weight:400}.comparison-values>span{color:#b4a493}.comparison-card .change{font-size:11px;color:#806b84;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.case-provenance{padding:27px 32px;background:#fffa;border:1px solid #fff;border-radius:22px;margin:0 0 45px;scroll-margin-top:115px}.case-provenance h2{font-size:21px;margin-bottom:12px}.case-provenance p{font-size:12px;color:#82766c;line-height:1.95}.case-provenance details{margin-top:18px}.case-provenance summary{font-size:12px;cursor:pointer;color:#7c647e}.case-provenance .case-table{margin-bottom:0}.case-provenance .case-table th:first-child{width:130px}
@media(max-width:1050px){.portrait-art{transform:none}.portrait-disc{width:300px;height:300px;top:105px}.portrait-photo{height:395px}.home-comparisons{grid-template-columns:1fr;gap:12px}.summary-grid{grid-template-columns:1fr 1fr;gap:22px}}
@media(max-width:760px){.hero{gap:5px}.hero h1{font-size:61px}.hero-role{font-size:24px}.portrait-art{height:350px;width:340px;max-width:100%;transform:none;margin:12px auto 0}.portrait-photo{height:320px}.portrait-disc{width:255px;height:255px;top:65px}.portrait-paper{width:170px;height:175px;right:4px;bottom:23px}.portrait-petal{width:23px;height:13px}.petal-one{left:17px;top:98px}.petal-two{right:8px;top:95px}.petal-three{left:14px;bottom:64px}.spark-one{left:48px;top:39px;font-size:29px}.spark-two{right:3px;top:174px;font-size:28px}.spark-three{left:31px;bottom:35px;font-size:25px}.home-comparisons{grid-template-columns:1fr 1fr;gap:12px}.home-comparisons strong{font-size:22px}.home-comparisons strong small{font-size:15px}.home-comparisons strong i{margin:0 3px}.case-summary{padding:24px 22px;margin-bottom:22px}.case-summary h2{font-size:23px}.summary-grid{grid-template-columns:1fr;gap:19px}.summary-item{padding:0 0 0 32px}.summary-item:before{top:0}.summary-item h3{margin-bottom:6px}.comparison-grid{grid-template-columns:1fr}.comparison-card{padding:22px}.comparison-values{justify-content:start;gap:27px}.comparison-values strong{font-size:30px}.case-provenance{padding:24px 22px}.case-provenance .case-table{min-width:440px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

img.portrait-photo{width:auto;object-fit:contain}
/* Sculpted paper surfaces and progressive motion. */
.paper,.case-summary,.comparison-card,.case-box{box-shadow:inset 0 1px 0 #fff,0 3px 0 #e7d9d340,0 12px 26px #92716b0b,0 28px 65px #92716b0d}
.project-card,.research-card{border:1px solid #fff;background:linear-gradient(135deg,#fffdf7ed,#fff5f1cf 60%,#fbf1e3db);box-shadow:inset 0 2px 0 #fff,0 5px 0 #e8dcd65e,0 18px 35px #94716812,0 42px 75px #9471680e}
.project-visual,.research-visual{box-shadow:inset 0 1px 1px #ffffffb3,inset 0 -5px 12px #ac859015,0 15px 28px #a77d831c;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s;position:relative}
.project-visual:after,.research-visual:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--light-x,35%) var(--light-y,15%),#fff8,transparent 62%);opacity:.35;mix-blend-mode:soft-light}
.project-visual.is-tilting,.research-visual.is-tilting{transition:transform .14s ease-out;box-shadow:inset 0 1px 1px #fff,0 24px 38px #a77d832a}
.portrait-art{perspective:900px}.portrait-photo{translate:0 var(--portrait-offset,0px);transition:translate .18s linear}.portrait-disc{box-shadow:inset 0 2px 4px #fff,0 20px 50px #d8b7a21c}.portrait-paper{box-shadow:inset 0 1px 2px #fff9,0 18px 35px #cc9ca81a}
.contact-card{box-shadow:inset 0 1px 0 #ffffff38,0 5px 0 #25332720,0 24px 60px #283c3426}.contact-card:after{content:"";position:absolute;width:250px;height:250px;right:-110px;bottom:-150px;border:1px solid #f5eac61a;border-radius:50%;box-shadow:0 0 0 35px #f5eac605,0 0 0 70px #f5eac604;pointer-events:none}
.reading-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(var(--read-progress,0));transform-origin:left;z-index:60;background:linear-gradient(90deg,#d6b1c4,#c7b6d8,#e2cc98);pointer-events:none}
.button{box-shadow:inset 0 1px 0 #ffffff29,0 3px 0 #302d2910;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.button:active{transform:translateY(1px);box-shadow:none}.text-link{transition:gap .3s}.text-link:hover{gap:34px}
@media(hover:hover) and (pointer:fine){.school,.practice-step,.role,.comparison-card{transition:translate .4s,box-shadow .4s}.school:hover,.practice-step:hover,.role:hover,.comparison-card:hover{translate:0 -5px;box-shadow:inset 0 1px 0 #fff,0 5px 0 #e7d9d340,0 22px 40px #92716b16}.project-card:hover .project-visual img,.research-card:hover .research-visual img{filter:drop-shadow(0 10px 12px #67465a12)}}
@media(max-width:760px){.contact-card:after{display:none}.project-visual,.research-visual{transform:none!important}.portrait-photo{translate:none}.project-card,.research-card{box-shadow:inset 0 1px 0 #fff,0 4px 0 #e8dcd64d,0 16px 30px #94716812}}
@media(prefers-reduced-motion:reduce){.portrait-photo,.school,.practice-step,.role,.comparison-card{translate:none!important}.project-visual,.research-visual{transform:none!important}}
/* Living collage: original portrait pixels, white alpha-contour, layered movement. */
.portrait-filter{position:absolute;pointer-events:none}
img.portrait-photo{filter:url(#portrait-outline);transform-origin:50% 85%;animation:portrait-drift 6s ease-in-out infinite}
.portrait-disc{animation:disc-breathe 8s ease-in-out infinite}
.portrait-paper{animation:paper-sway 9s ease-in-out infinite}
.portrait-petal{animation:petal-drift 5.5s ease-in-out infinite}.petal-two{animation-delay:-2s}.petal-three{animation-delay:-4s}
.portrait-spark{animation:spark-turn 7s ease-in-out infinite}.spark-two{animation-delay:-2.8s}.spark-three{animation-delay:-4.5s}
.portrait-orbit{position:absolute;width:390px;height:390px;top:49px;left:calc(50% - 195px);border:1px solid #d8bfcc70;border-radius:50%;transform:rotate(-25deg) scaleY(.84);z-index:-1;animation:orbit-roll 24s linear infinite}
.portrait-orbit i{position:absolute;width:12px;height:12px;border-radius:50%;background:#eed8dd;box-shadow:inset 1px 2px 2px #fff9,0 3px 5px #aa849322;left:45px;top:45px}.portrait-orbit i+i{left:auto;top:auto;right:45px;bottom:45px;background:#f3e4bb;width:18px;height:18px}
.browser-shot{animation:browser-float 7s ease-in-out infinite}
.soda-visual img{animation:phone-left 6s ease-in-out infinite}.soda-visual img+img{animation:phone-right 6.8s ease-in-out infinite;animation-delay:-2s}
.paper-architecture .photo-button{animation:model-float 7s ease-in-out infinite}
.polaroid{animation:photo-sway 8s ease-in-out infinite}.polaroid:nth-child(2){animation-name:photo-sway-right;animation-delay:-3s}
.hello:before{animation:hello-pulse 3s ease-in-out infinite}
.motion-control{position:fixed;bottom:18px;right:18px;z-index:45;border:1px solid #fff;border-radius:30px;background:#fffaf0e8;color:#7b6678;backdrop-filter:blur(12px);font-size:11px;padding:8px 14px;box-shadow:0 5px 20px #76516012;cursor:pointer}
[data-motion-stage] *{animation-play-state:paused!important}[data-motion-stage].motion-in-view *{animation-play-state:running!important}
.motion-paused *, .motion-paused *:before,.motion-paused *:after,.page-hidden *{animation-play-state:paused!important}
.motion-paused .portrait-photo{translate:0 0!important}
@keyframes portrait-drift{0%,100%{transform:translateY(4px) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@keyframes disc-breathe{0%,100%{scale:1}50%{scale:1.075}}
@keyframes paper-sway{0%,100%{transform:rotate(14deg) translateY(0)}50%{transform:rotate(22deg) translateY(-12px)}}
@keyframes petal-drift{0%,100%{translate:0 0;rotate:0deg}50%{translate:7px -17px;rotate:30deg}}
@keyframes spark-turn{0%,100%{rotate:-12deg;scale:.9;opacity:.7}50%{rotate:30deg;scale:1.15;opacity:1}}
@keyframes orbit-roll{from{transform:rotate(-25deg) scaleY(.84)}to{transform:rotate(335deg) scaleY(.84)}}
@keyframes browser-float{0%,100%{transform:translateY(4px) rotate(-4deg)}50%{transform:translateY(-12px) rotate(-1deg)}}
@keyframes phone-left{0%,100%{transform:translateY(5px) rotate(-9deg)}50%{transform:translateY(-13px) rotate(-5deg)}}
@keyframes phone-right{0%,100%{transform:translateY(-9px) rotate(9deg)}50%{transform:translateY(8px) rotate(5deg)}}
@keyframes model-float{0%,100%{transform:perspective(800px) rotateY(-3deg) translateY(3px)}50%{transform:perspective(800px) rotateY(3deg) translateY(-7px)}}
@keyframes photo-sway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(-2deg) translateY(-5px)}}
@keyframes photo-sway-right{0%,100%{transform:rotate(5deg)}50%{transform:rotate(2deg) translateY(-7px)}}
@keyframes hello-pulse{0%,100%{box-shadow:0 0 0 0 #a8bba433}50%{box-shadow:0 0 0 7px #a8bba400}}
@media(max-width:760px){.portrait-orbit{width:292px;height:292px;top:34px;left:calc(50% - 146px)}.portrait-orbit i{left:33px;top:33px}.portrait-orbit i+i{right:33px;bottom:33px;left:auto;top:auto}.motion-control{bottom:12px;right:12px;font-size:10px;padding:7px 12px}.footer{padding-bottom:52px}.portrait-photo{animation-name:portrait-drift-mobile}}
@keyframes portrait-drift-mobile{0%,100%{transform:translateY(3px) rotate(-.7deg)}50%{transform:translateY(-7px) rotate(.7deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important}.motion-control{display:none}}
/* Certificates: consistent display windows, intact originals, quiet editorial captions. */
.award-gallery{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}
.award-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:22px}.award-heading .eyebrow{font-size:9px;margin-bottom:8px}.award-heading h3{font-size:23px;font-weight:500}.award-heading p{font-size:11px;color:var(--muted);max-width:310px}
.award-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.award-card{min-width:0;background:#fffaf2c7;border:1px solid #fff;border-radius:18px;overflow:hidden;box-shadow:0 3px 0 #e7d9d330,0 14px 35px #8267650a}
.award-mat{position:relative;margin:12px;border-radius:10px;background:linear-gradient(145deg,#f5ede6,#f2e8e9 60%,#f5ecd9);padding:18px;box-shadow:inset 0 1px 8px #98766e08}
.award-mat .photo-button{height:230px;display:flex;align-items:center;justify-content:center}.award-mat img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 5px #654f4320);transition:transform .45s}.award-mat .photo-button:hover img{transform:scale(1.035)}
.award-zoom{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fffc;color:#8e7484;pointer-events:none;font-size:13px}
.award-caption{padding:4px 20px 21px}.award-caption span{font-size:10px;color:#9a8374}.award-caption h4{font-size:14px;font-weight:500;margin-top:6px;line-height:1.65}
.awards-music .award-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.awards-music .award-mat{background:linear-gradient(135deg,#eee4f0,#f7e5de)}.awards-music .photo-button{height:320px}
@media(max-width:760px){.award-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.award-heading{display:block}.award-heading p{margin-top:9px}.award-heading h3{font-size:21px}.award-gallery{margin-top:25px;padding-top:25px}.award-mat{margin:7px;padding:9px}.award-mat .photo-button{height:150px}.award-caption{padding:3px 12px 15px}.award-caption h4{font-size:12px}.award-caption span{font-size:9px}.awards-music .photo-button{height:205px}.awards-practice .award-grid{grid-template-columns:1fr}.awards-practice .photo-button{height:200px}}
/* Interactive case exhibits */
.interactive-demo{scroll-margin-top:115px;margin:0 0 42px;padding:34px;border:1px solid #fff;border-radius:28px;background:linear-gradient(135deg,#fbf3e6,#f8e9ef 70%,#f5ead6);box-shadow:inset 0 2px 0 #fff,0 5px 0 #e7d9d34d,0 25px 65px #98758113}
.demo-heading h2{font-size:29px;letter-spacing:-.6px}.demo-heading>p{font-size:13px;color:#87756b;margin-top:14px}.demo-heading .eyebrow{font-size:10px}.demo-disclaimer{font-size:11px;color:#8a7b70;padding:13px 0 20px;margin:0!important;border-bottom:1px solid #bea89d33}.demo-controls{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin:24px 0}.demo-controls label{display:grid;gap:7px;font-size:11px;color:#86706e}.demo-controls select{font:inherit;font-size:13px;color:#4e414a;padding:11px 35px 11px 14px;background:#fffaf4;border:1px solid #d9c4cf;border-radius:10px;max-width:100%;min-height:44px}.demo-controls select:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.demo-hint{font-size:11px;color:#938177;margin:12px 0}.demo-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}.demo-stepper button{border:1px solid #fff;background:#fff6;border-radius:12px;padding:12px;text-align:left;font-size:12px;transition:background .25s,box-shadow .25s}.demo-stepper small{font-family:Georgia,serif;color:#ac939e;font-size:16px;margin-right:14px}.demo-stepper button[aria-pressed=true]{background:#62516a;color:white;box-shadow:0 7px 15px #79647b20}.demo-stepper button[aria-pressed=true] small{color:#e8d3dd}.demo-workbench{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}.demo-browser{background:#fffc;border:1px solid #fff;border-radius:17px;box-shadow:0 6px 0 #dfd1cb66,0 18px 35px #8d6d7b15;padding:20px;min-width:0}.demo-windowbar{display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}.demo-windowbar i{width:7px;height:7px;border-radius:50%;background:#e6bcc3}.demo-windowbar i:nth-child(2){background:#eadbb0}.demo-windowbar i:nth-child(3){background:#cddcbe}.demo-windowbar span{margin-left:8px;font-size:10px;color:#ad9593}.demo-task{font-size:14px;line-height:1.9}.demo-source{display:flex;gap:8px;margin:15px 0}.demo-source span{font-size:10px;padding:4px 10px;background:#f0e6f0;border-radius:7px;color:#8c6c91}.demo-status{font-size:11px;color:#8a6c52;background:#f6ebcc;border:1px solid #fff;padding:8px 12px;border-radius:9px;margin-top:22px}.demo-output{display:grid;gap:12px;margin-top:15px}.demo-output>div{padding:12px;border:1px solid #eadfdb;border-radius:10px}.demo-output small{display:block;color:#998980;font-size:10px}.demo-output strong{font-size:12px;font-weight:500}.demo-explanation{padding:14px 0;min-width:0}.demo-explanation h3{font-size:22px;line-height:1.6;margin-bottom:16px}.demo-explanation p{font-size:13px;color:#80706b;line-height:2}.demo-decision{font-size:12px;color:#7b617d;line-height:2;background:#fff7;border-left:3px solid #b79bbb;border-radius:0 12px 12px 0;padding:17px 20px;margin-top:20px}.demo-decision strong{font-size:10px;letter-spacing:1px}.demo-decision p{margin-top:8px}.demo-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:25px}.demo-footer>div{display:flex;gap:10px}.demo-footer button,.demo-controls button{border:1px solid #d8c4cc;background:#fff8;font-size:12px;border-radius:10px;min-height:42px;padding:9px 16px}.demo-footer .demo-next{background:#62516a;color:#fff;border-color:#62516a}.demo-footer button:disabled{opacity:.4;cursor:default}.demo-position{font-size:11px;color:#9b8591}.soda-workbench{grid-template-columns:320px 1fr;gap:50px}.demo-phone{background:#fff9f3;border:6px solid #51454f;border-radius:32px;padding:20px 14px 14px;box-shadow:0 6px 0 #c7b0bd66,0 25px 45px #795c731f;min-width:0}.demo-phone-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.demo-phone-top span{font-weight:600;font-size:15px}.demo-phone-top small{font-size:9px;color:#9b8390}.demo-feed{display:grid;gap:8px}.demo-module{padding:9px 12px;background:#eee6e677;border-radius:11px;font-size:11px;position:relative}.demo-video{background:linear-gradient(130deg,#edd3e5,#f4e0c2);border:1px solid #fff;box-shadow:0 5px 15px #94718710}.demo-video>span{font-weight:600}.demo-video small{font-size:8px;color:#97798c}.demo-video-tiles{display:flex;gap:8px;margin:7px 0}.demo-video-tiles i{display:grid;place-items:center;background:#fff8;border-radius:7px;height:42px;flex:1;font-style:normal;color:#a58aa2}.demo-track-lines{display:flex;gap:5px;margin-top:5px}.demo-track-lines i{height:3px;width:55%;background:#d7c8cf;border-radius:3px}.demo-track-lines i+i{width:20%;background:#e5d8cb}.demo-song-link{font-size:9px;line-height:1.7;color:#907280;padding:12px 3px 0}.demo-experiment{margin-top:25px;padding-top:20px;border-top:1px solid #d9c5cc}.demo-experiment>span{font-size:11px;color:#98778d}.demo-experiment p{font-size:12px;margin:10px 0}.project-copy .actions{align-items:center;gap:18px}.project-copy .actions .text-link{font-size:12px}
@media(max-width:760px){.interactive-demo{padding:23px 18px;border-radius:20px}.demo-heading h2{font-size:23px}.demo-workbench{grid-template-columns:1fr;gap:19px}.demo-stepper{grid-template-columns:1fr 1fr;gap:8px}.demo-stepper button{padding:10px}.demo-controls{gap:13px}.demo-controls label{width:100%}.demo-controls select{width:100%;min-width:0}.demo-browser{padding:16px}.demo-explanation h3{font-size:20px}.demo-footer{flex-wrap:wrap;gap:12px}.demo-footer>div{margin-left:auto}.demo-footer button{padding:8px 12px}.demo-phone{width:min(290px,100%);justify-self:center}.demo-disclaimer{font-size:10px}.demo-explanation{padding:0}.demo-controls .demo-hint{margin:0}}
