@import "https://fonts.cdnfonts.com/css/recoleta";
@import "https://fonts.cdnfonts.com/css/open-sauce-one";
@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;600&display=swap";
:root{--font-heading:"Recoleta", Georgia, "Times New Roman", serif;--font-body:"Open Sauce One", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-body);color:#2b2218;background:#0e0c0a;overflow:hidden}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600}button,input,textarea{font-family:inherit}.scene{position:fixed;inset:0}.vignette{pointer-events:none;z-index:5;position:fixed;inset:0;box-shadow:inset 0 0 16vmax #2e180852}.hud{pointer-events:none;z-index:10;flex-direction:column;justify-content:space-between;padding:28px 32px;display:flex;position:fixed;inset:0}.hud-top{justify-content:space-between;align-items:flex-start;display:flex}.brand{pointer-events:auto;color:#f5ead8;text-shadow:0 1px 12px #00000073}.brand h1{letter-spacing:.02em;font-size:22px;font-weight:700}.brand p{opacity:.8;margin-top:2px;font-size:13px}.hint{color:#f5ead8bf;text-shadow:0 1px 8px #00000080;font-size:12.5px;animation:3.2s ease-in-out infinite hintPulse}@keyframes hintPulse{0%,to{opacity:.65}50%{opacity:1}}.hud-bottom{justify-content:flex-end;gap:10px;display:flex}.chip{pointer-events:auto;-webkit-backdrop-filter:blur(10px);color:#f5ead8;cursor:pointer;background:#18120c8c;border:1px solid #f5ead840;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:500;transition:background .2s,transform .15s,border-color .2s;display:inline-flex}.chip:hover{background:#322618b3;border-color:#f5ead880;transform:translateY(-1px)}.chip.active{background:#f5d38a38;border-color:#f5d38aa6}.overlay-backdrop{z-index:20;background:#140e0859;justify-content:center;align-items:center;padding:6vh 11vw;animation:.25s both fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.work-panel{background:#fff;border-radius:28px;width:100%;max-width:1240px;max-height:88vh;padding:44px 56px 56px;animation:.45s cubic-bezier(.2,.9,.3,1.05) .55s both popIn;overflow-y:auto}@keyframes popIn{0%{opacity:0;transform:scale(.92)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.work-header{justify-content:space-between;align-items:center;margin-bottom:56px;display:flex}.work-header h2{font-family:var(--font-heading);color:#1e1c19;letter-spacing:.01em;font-size:clamp(30px,3.2vw,42px);font-weight:500}.close-pill{color:#1e1c19;cursor:pointer;background:#fff;border:1px solid #e6e4e0;border-radius:999px;padding:12px 30px;font-size:17px;transition:background .15s}.close-pill:hover{background:#f5f4f1}.work-grid{grid-template-columns:47fr 53fr;grid-auto-rows:380px;gap:26px;display:grid}.work-tile{background:#f5f4f2;border-radius:20px;justify-content:center;align-items:center;padding:38px;display:flex;overflow:hidden}.work-tile.tall{grid-row:1/3}.work-tile img{object-fit:contain;max-width:100%;max-height:100%}.work-tile.tall img{max-height:590px}button.work-tile.as-button{appearance:none;font:inherit;cursor:pointer;border:none;position:relative}.tile-cta{color:#fff;opacity:0;pointer-events:none;background:#14100bd1;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .18s,transform .18s;position:absolute;bottom:18px;left:50%;transform:translate(-50%)translateY(6px)}button.work-tile.as-button:hover .tile-cta{opacity:1;transform:translate(-50%)translateY(0)}.overlay-backdrop.sheet{align-items:flex-end;padding:5vh 4vw 0}.sheet-panel{transform-origin:bottom;background:#fff;border-radius:28px 28px 0 0;flex-direction:column;width:100%;max-width:1180px;height:95vh;display:flex;overflow:hidden}.sheet-panel.zoom-in{animation:.3s cubic-bezier(.2,.9,.3,1.02) both sheetIn}.sheet-panel.zoom-out{animation:.15s ease-in both sheetOut}@keyframes sheetIn{0%{opacity:0;transform:translateY(26px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sheetOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.94)}}.case-header{z-index:2;background:#fff;border-bottom:1px solid #ececea;flex-shrink:0;align-items:center;gap:16px;padding:18px 28px;display:flex}.case-title{text-align:center;font-family:var(--font-heading);color:#1e1c19;flex:1;font-size:clamp(16px,1.9vw,24px);font-weight:500}.case-header.left .case-title{text-align:left}.nav-pill{color:#1e1c19;cursor:pointer;background:#fff;border:1px solid #e3e1dd;border-radius:999px;flex-shrink:0;padding:9px 24px;font-size:15px;transition:background .15s}.nav-pill:hover{background:#f5f4f1}.case-body{flex-direction:column;gap:46px;padding:30px 40px 48px;display:flex;overflow-y:auto}.case-intro{flex-direction:column;gap:16px;display:flex}.pi-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.pi-grid.single{grid-template-columns:1fr}.pi-card{background:#f3f2ef;border-radius:18px;padding:26px 28px}.pi-card h3{font-family:var(--font-heading);color:#1e1c19;margin-bottom:12px;font-size:22px;font-weight:500}.pi-card p{color:#6a6358;font-size:15px;line-height:1.6}.pi-card ul{flex-direction:column;gap:9px;margin:0;padding-left:18px;display:flex}.pi-card li{color:#6a6358;font-size:15px;line-height:1.5}.case-meta{background:#f3f2ef;border-radius:20px;flex-wrap:wrap;justify-content:space-between;gap:24px 40px;padding:30px 36px;display:flex}.meta-item{flex-direction:column;gap:8px;display:flex}.meta-label{color:#1e1c19;font-size:15px;font-weight:500}.meta-value{color:#6a6358;font-size:15px;font-weight:400}.case-section{flex-direction:column;gap:16px;display:flex}.case-head h3{font-family:var(--font-heading);color:#1e1c19;font-size:24px;font-weight:500}.case-sub{color:#6a6358;max-width:52ch;margin-top:4px;font-size:15px;line-height:1.5}.case-panel{background:#f3f2ef;border-radius:20px;padding:26px 28px}.case-panel .img-slot.case-wide img{border-radius:10px}.case-grid-2{grid-template-columns:1fr 1fr;gap:22px;display:grid}.case-grid-2 .img-slot img{border-radius:10px}.case-grid-2 .img-slot.is-missing{min-height:220px}@media (max-width:760px){.case-grid-2{grid-template-columns:1fr}}.careplan-row{align-items:center;gap:12px;padding-bottom:6px;display:flex;overflow-x:auto}.careplan-step{flex:1;align-items:center;gap:12px;min-width:180px;display:flex}.careplan-step .img-slot{flex:1}.careplan-arrow{color:#b0a899;flex-shrink:0;font-size:22px}.img-slot img{border-radius:14px;width:100%;height:auto;display:block}.img-slot.case-wide img{border-radius:14px}.img-slot.is-missing{background:#eceae4;border:1px dashed #cdc6b8;border-radius:14px;justify-content:center;align-items:center;min-height:200px;display:flex}.img-slot.is-missing:after{content:"Add " attr(data-label);color:#9a9082;font-size:13px}@media (max-width:760px){.overlay-backdrop{padding:4vh 5vw}.work-panel{padding:28px 24px 32px}.work-header{margin-bottom:28px}.work-grid{grid-template-columns:1fr;grid-auto-rows:auto}.work-tile{min-height:300px}.work-tile.tall{grid-row:auto}.work-tile.tall img{max-height:60vh}.overlay-backdrop.sheet{padding:3vh 0 0}.sheet-panel{border-radius:22px 22px 0 0;height:94vh}.case-body{padding:22px 18px 32px}.pi-grid{grid-template-columns:1fr}.case-header{padding:14px 16px}}.shelf-tip{pointer-events:none;-webkit-backdrop-filter:blur(8px);color:#f5ead8;font-family:var(--font-body);letter-spacing:.01em;white-space:nowrap;background:#18120cd9;border:1px solid #f5ead833;border-radius:9px;padding:5px 13px;font-size:12.5px;font-weight:500;transform:translateY(-50%);box-shadow:0 6px 18px #0000004d}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.focus-close-btn{pointer-events:auto;-webkit-backdrop-filter:blur(10px);color:#f5ead8;font-family:var(--font-body);cursor:pointer;background:#18120ca6;border:1px solid #f5ead84d;border-radius:999px;align-items:center;gap:8px;padding:10px 28px;font-size:14px;font-weight:500;transition:background .2s,border-color .2s;display:inline-flex}.focus-close-btn:hover{background:#322618d1;border-color:#f5ead88c}.focus-footer{z-index:15;flex-direction:column;align-items:center;gap:16px;animation:.4s both focusFooterIn;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@keyframes focusFooterIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.frame-side-arrow{z-index:15;-webkit-backdrop-filter:blur(8px);color:#f5ead8;cursor:pointer;background:#281e148c;border:1px solid #f5ead840;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;padding-bottom:4px;font-size:28px;line-height:1;transition:background .2s,border-color .2s;animation:.4s both fadeIn;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.frame-side-arrow:hover{background:#3c2d1cb8;border-color:#f5ead880}.frame-side-arrow.left{left:calc(50% - 255px);right:auto}.frame-side-arrow.right{left:auto;right:calc(50% - 255px)}.frame-dots{justify-content:center;align-items:center;gap:8px;display:flex}.frame-dot{cursor:pointer;background:#f5ead866;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .2s}.frame-dot.active{background:#f5ead8;transform:scale(1.35)}@media (max-width:760px){.frame-side-arrow.left{left:4vw}.frame-side-arrow.right{right:4vw}}@media (max-width:640px){.hud{padding:18px}.hud-bottom{flex-wrap:wrap;justify-content:center}.mac-body{padding:22px 20px 28px}}
