/* Real project portfolio: champagne glass, complete screens, restrained motion. */
.project-showcase,.olin-case{--project-ink:#393b32;--project-muted:#706c60;--project-tea:#796342;color:var(--project-ink);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;text-align:left}
.project-showcase *,.olin-case *{box-sizing:border-box}
.project-showcase{padding:65px 0 75px;position:relative;isolation:isolate}
.project-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.project-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.project-kicker{font:11px/1.6 Georgia,serif;letter-spacing:.2em;color:var(--project-tea);margin:0 0 12px}
.project-heading h2,.olin-case h2{font:500 clamp(27px,3vw,38px)/1.5 "SimSun",Georgia,serif;color:var(--project-ink);margin:0 0 12px}
.project-heading p:not(.project-kicker){font-size:14px;line-height:1.9;color:var(--project-muted);max-width:600px;margin:0}
.project-heading>a{color:var(--project-tea);font-size:13px;white-space:nowrap;padding:10px 0;text-underline-offset:6px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.project-card{min-width:0;position:relative;overflow:hidden;border-radius:28px;border:1px solid #ffffffcf;background:linear-gradient(135deg,#fffaf0c9,#ffffff78 50%,#eaf0e0a6);box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 1px #b7a98c35,0 18px 38px -25px #5d533b75;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.project-card:hover,.project-card:focus-within{transform:translateY(-6px);box-shadow:inset 1px 1px 0 #fff,0 24px 40px -24px #67583e80}
.project-card-top{display:flex;justify-content:space-between;align-items:center;padding:22px 22px 16px;position:relative;z-index:1}
.project-wordmark{font:600 25px/1.2 Georgia,serif;letter-spacing:.04em}.project-wordmark small{font:11px/1.3 Arial,sans-serif;letter-spacing:.1em;margin-left:8px;color:var(--project-muted)}
.project-number{font:italic 17px Georgia,serif;color:#998969}
.project-screen{margin:0 14px;height:210px;display:flex;align-items:center;justify-content:center;gap:13px;padding:14px;border:1px solid #fff9;border-radius:19px;background:linear-gradient(135deg,#e8e7d9b3,#fff9);box-shadow:inset 0 2px 12px #79644213;overflow:hidden;position:relative;z-index:1}
.project-screen>img{display:block;width:100%;height:auto!important;max-height:100%;object-fit:contain!important;object-position:center!important;border-radius:7px;box-shadow:0 7px 18px #4b432326}
.project-screen.project-screen-phones>img{width:auto;max-width:46%;height:100%!important;object-fit:contain!important;border:3px solid #fefbf4;border-radius:14px}
.project-card-copy{padding:24px 23px 23px;flex:1;display:flex;flex-direction:column;position:relative;z-index:1}
.project-type{font-size:10px;letter-spacing:.08em;color:var(--project-tea);margin:0 0 10px}
.project-card h3{font:500 22px/1.5 "SimSun",Georgia,serif;margin:0 0 10px;color:var(--project-ink)}
.project-card-copy>p:not(.project-type){font-size:13px;line-height:1.9;color:var(--project-muted);margin:0 0 16px}
.project-tags{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 24px;list-style:none;padding:0}
.project-tags li{font-size:10px;padding:5px 9px;border:1px solid #fff;border-radius:8px;background:#fff7;color:#6d6b5a}
.project-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto}
.project-actions a,.olin-actions a{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 15px;min-height:44px;border-radius:12px;border:1px solid #fff;background:linear-gradient(135deg,#fffaf0,#e9eddf);color:var(--project-ink);font-size:12px;font-weight:600;text-decoration:none;box-shadow:inset 0 1px 0 #fff,0 5px 12px #5d533b13;transition:transform .2s,box-shadow .2s}
.project-actions a:first-child,.olin-actions a:first-child{background:linear-gradient(135deg,#a48a5f,#6b573e);color:#fffdf6;border-color:#b8a17f}
.project-actions a:hover,.olin-actions a:hover{transform:translateY(-2px);box-shadow:0 7px 14px #5d533b30}
.project-showcase a:focus-visible,.olin-case a:focus-visible{outline:3px solid #9a7e4d;outline-offset:5px}
.olin-case{padding:38px 0 0;position:relative;z-index:1}
.olin-breadcrumb{display:flex;gap:12px;font-size:12px;color:var(--project-muted);margin:0 0 40px;flex-wrap:wrap}
.olin-breadcrumb a{color:var(--project-tea);text-underline-offset:4px}
.olin-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:0 0 60px}
.olin-hero h1{font:500 clamp(36px,4vw,55px)/1.45 "SimSun",Georgia,serif;margin:18px 0 24px;letter-spacing:-.02em;color:var(--project-ink)}
.olin-hero h1 span{display:block;color:#88734e}
.olin-intro{font-size:15px;line-height:2;color:var(--project-muted);max-width:510px;margin:0 0 25px}
.olin-actions{display:flex;gap:10px;flex-wrap:wrap}
.olin-hero-stage{padding:30px 25px 20px;border-radius:40px;background:radial-gradient(ellipse at 80% 85%,#d4e2cd9c,transparent 70%),linear-gradient(145deg,#fff9e7,#e4dfc985);border:1px solid #fff;box-shadow:inset 0 1px 0 #fff,0 30px 65px -36px #76634575;position:relative}
.olin-hero-phones{display:flex;justify-content:center;align-items:center;gap:24px}
.olin-phone{width:min(45%,210px);min-width:0;padding:7px;border-radius:27px;border:1px solid #fff;background:linear-gradient(145deg,#fffdf6,#c7c5b3);box-shadow:inset 0 0 0 1px #fff9,7px 14px 23px #77684430;position:relative;transform:rotate(-4deg)}
.olin-phone:nth-child(2){transform:rotate(5deg) translateY(15px)}
.olin-phone img{width:100%;height:auto;display:block;border-radius:20px;object-fit:contain}
.olin-stage-caption{display:flex;justify-content:space-around;gap:15px;color:#7a735f;font-size:10px;margin-top:28px;letter-spacing:.07em}
.olin-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #fff;border-radius:23px;background:linear-gradient(135deg,#fff8,#e9ecd97a);box-shadow:inset 0 1px 0 #fff,0 15px 25px -25px #79644285;margin-bottom:70px}
.olin-facts>div{padding:22px 26px}.olin-facts>div+div{border-left:1px solid #fff}
.olin-facts small{display:block;letter-spacing:.12em;font-size:10px;color:var(--project-muted);margin-bottom:7px}.olin-facts strong{font-size:14px;font-weight:500}
.olin-section{padding:0 0 70px;scroll-margin-top:32px}
.olin-section-heading{max-width:740px;margin-bottom:32px}.olin-section-heading>p:not(.project-kicker){font-size:14px;line-height:1.9;color:var(--project-muted);margin:0}
.olin-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.olin-feature{padding:28px 25px;border:1px solid #fff;border-radius:25px;background:linear-gradient(135deg,#fff9,#f4f0e28c);box-shadow:inset 0 1px 0 #fff,0 16px 22px -24px #5b503999;position:relative;overflow:hidden}
.olin-feature>span{font:italic 26px Georgia,serif;color:#a48a5f}.olin-feature h3{font:500 21px/1.5 "SimSun",Georgia,serif;margin:18px 0 10px}.olin-feature p{color:var(--project-muted);font-size:13px;line-height:1.9;margin:0}
.olin-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.olin-gallery figure,.olin-web-gallery figure{margin:0;min-width:0;padding:18px;border:1px solid #fff;border-radius:27px;background:linear-gradient(145deg,#fff9,#e5eadc80);box-shadow:inset 0 1px 0 #fff,0 20px 30px -30px #6b5c3b85}
.olin-gallery figure>a,.olin-web-gallery figure>a{display:block;border-radius:18px;overflow:hidden;background:#f5f1e7;line-height:0}
.olin-gallery img,.olin-web-gallery img{display:block;width:100%;height:auto!important;object-fit:contain!important;border-radius:18px}
.olin-gallery figcaption,.olin-web-gallery figcaption{padding:17px 5px 4px;font-size:13px;line-height:1.8;color:var(--project-ink)}
.olin-gallery figcaption small,.olin-web-gallery figcaption small{display:block;font-size:11px;color:var(--project-muted);margin-top:5px}
.olin-web-section{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:60px}
.olin-web-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.olin-web-gallery figure{padding:9px;border-radius:22px}.olin-web-gallery figcaption{font-size:12px}
.olin-note{font-size:12px;line-height:1.9;color:var(--project-muted);margin-top:22px;max-width:740px}
.olin-minicode{display:flex;align-items:center;gap:30px;margin:28px 0;padding:25px;border:1px solid #fff;border-radius:25px;background:linear-gradient(135deg,#fff9,#e9eedf9c);box-shadow:inset 0 1px 0 #fff,0 18px 30px -30px #6b5c3b80}
.olin-minicode-image{display:block;flex:none;width:180px;padding:9px;background:#fff;border-radius:18px;line-height:0;box-shadow:0 8px 20px #72614017}.olin-minicode-image img{display:block;width:100%;height:auto;object-fit:contain;border-radius:10px}
.olin-minicode h3{font:500 25px/1.5 "SimSun",Georgia,serif;margin:0 0 12px}.olin-minicode p:not(.project-kicker){font-size:13px;line-height:1.9;color:var(--project-muted);margin:0 0 16px}.olin-code-link{font-size:12px;color:var(--project-tea);text-underline-offset:5px}
@media(max-width:600px){.olin-minicode{flex-direction:column;align-items:flex-start;gap:24px;padding:25px}.olin-minicode-image{width:185px;align-self:center}.olin-minicode h3{font-size:23px}}
.olin-closing{margin-bottom:35px;padding:35px 38px;border:1px solid #fff;border-radius:28px;background:linear-gradient(125deg,#faf5e9c9,#e4ebdd9c);box-shadow:inset 0 1px 0 #fff,0 24px 36px -32px #6b5c3b80;display:flex;justify-content:space-between;align-items:center;gap:25px}
.olin-closing h2{font-size:27px;margin-bottom:7px}.olin-closing p{font-size:13px;line-height:1.8;color:var(--project-muted);margin:0}
@media(min-width:1000px){.olin-gallery{max-width:970px;margin-inline:auto}}
@media(max-width:1000px){.project-grid{gap:14px}.project-card-copy{padding:20px 17px}.project-screen{height:175px;margin:0 10px;padding:10px}.project-card h3{font-size:20px}.olin-hero,.olin-web-section{gap:30px}.olin-hero-stage{padding:22px 15px}.olin-hero-phones{gap:16px}}
@media(max-width:760px){.project-showcase{padding:44px 0}.project-wrap{width:calc(100% - 36px)}.project-heading{display:block}.project-heading>a{display:inline-block;margin-top:12px}.project-grid{grid-template-columns:1fr;gap:22px}.project-screen{height:240px;margin:0 16px;padding:14px}.project-card-copy{padding:23px}.project-card-top{padding:23px}.project-card h3{font-size:24px}.project-card-copy>p:not(.project-type){font-size:14px}.project-tags li{font-size:11px}.olin-case{padding-top:28px}.olin-breadcrumb{margin-bottom:30px}.olin-hero{grid-template-columns:1fr;gap:35px;padding-bottom:35px}.olin-hero h1{font-size:37px}.olin-intro{font-size:14px}.olin-hero-stage{margin:0 3px;padding:25px 20px 20px;border-radius:30px}.olin-hero-phones{gap:20px}.olin-phone{border-radius:23px;padding:5px}.olin-phone img{border-radius:18px}.olin-facts{margin-bottom:45px;grid-template-columns:1fr}.olin-facts>div{padding:17px 23px;display:flex;align-items:center;justify-content:space-between;gap:20px}.olin-facts small{margin:0}.olin-facts>div+div{border-left:0;border-top:1px solid #fff}.olin-section{padding-bottom:45px}.olin-feature-grid{grid-template-columns:1fr;gap:14px}.olin-feature{padding:24px}.olin-feature h3{display:inline;margin-left:15px}.olin-feature p{margin-top:12px}.olin-gallery{grid-template-columns:1fr;gap:24px;max-width:320px;margin-inline:auto}.olin-gallery figure{padding:15px}.olin-web-section{grid-template-columns:1fr;gap:25px}.olin-web-gallery{gap:14px}.olin-web-gallery figure{padding:7px}.olin-web-gallery img{border-radius:14px}.olin-closing{padding:28px 24px;display:block}.olin-closing .olin-actions{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-actions a,.olin-actions a{transition:none;transform:none!important}.olin-phone{transform:none!important}}
