*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:Akt,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:#eaefef;color:#25343f;line-height:1.55;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;font-feature-settings:"ss01","ss03","cv11";letter-spacing:-.005em;min-height:100vh}:root{--desk: #EAEFEF;--desk-dark: #BFC9D1;--paper: #FFFFFF;--paper-warm: #F8FAFB;--ink: #25343F;--ink-soft: #3D4D58;--mute: #6F7E8A;--soft: #A3B0B8;--line: #D8DFE4;--line-soft: #E6EDF0;--accent: #25343F;--moss: #25343F;--wax: #8B3A2E;--shadow: 37, 52, 63;--paper-shadow: 0 1px 2px rgba(37, 52, 63, .04), 0 20px 60px rgba(37, 52, 63, .08), 0 50px 120px rgba(37, 52, 63, .08)}a{color:inherit;text-decoration:none}button{border:none;background:none;cursor:pointer;font-family:inherit;color:inherit}img{max-width:100%;height:auto;display:block}::selection{background:var(--ink);color:var(--paper)}.cursor-dot{position:fixed;width:4px;height:4px;background:var(--ink);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);animation:trailFade .7s cubic-bezier(.22,1,.36,1) forwards;will-change:opacity,transform}@keyframes trailFade{0%{opacity:.7;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.2)}}@keyframes driftDots{0%{background-position:0 0}to{background-position:-28px -28px}}.desk-bg{position:fixed;inset:0;background-color:var(--desk);background-image:radial-gradient(rgba(37,52,63,.12) 1px,transparent 1px);background-size:14px 14px;mask-image:radial-gradient(ellipse 90% 90% at center,black 15%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 90% at center,black 15%,transparent 100%);z-index:-2;animation:driftDots 20s linear infinite}.desk-grain{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.4) 0%,transparent 70%);z-index:-1;pointer-events:none}.letter-scene{min-height:100vh;padding:60px 32px;display:flex;align-items:flex-start;justify-content:center;position:relative}.letter{width:100%;max-width:780px;background:var(--paper);padding:64px 72px 56px;box-shadow:0 2px 6px #25343f0a,0 8px 24px #25343f0f,0 16px 48px #25343f14,0 30px 80px #25343f14;border-radius:2px;position:relative;background-image:radial-gradient(ellipse at 20% 0%,rgba(255,255,255,.55) 0%,transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(37,52,63,.04) 0%,transparent 55%),radial-gradient(circle at 95% 5%,rgba(37,52,63,.025) 0%,transparent 35%),radial-gradient(circle at 5% 95%,rgba(37,52,63,.025) 0%,transparent 35%)}.letter:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.18 0 0 0 0 0.24 0 0 0 0 0.30 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),repeating-linear-gradient(0deg,rgba(37,52,63,.015) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(37,52,63,.015) 0 1px,transparent 1px 4px);pointer-events:none;border-radius:2px;mix-blend-mode:multiply;opacity:.95;z-index:1}.letter:after{content:"";position:absolute;top:0;right:0;width:42px;height:42px;background:linear-gradient(135deg,transparent 50%,rgba(37,52,63,.06) 50%,rgba(37,52,63,.06) 51%,rgba(234,239,239,.95) 51%);border-radius:0 2px 0 70%;box-shadow:inset -2px 2px 3px #25343f12;pointer-events:none;z-index:2}.letter>*{position:relative;z-index:2}.letter-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start;padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid var(--line-soft)}.letter-head .from{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:500}.letter-head .from-name{font-size:16px;font-weight:500;color:var(--ink);letter-spacing:-.015em;margin-top:4px}.letter-head .meta-right{text-align:right;font-size:12px;color:var(--mute);letter-spacing:.04em}.letter-head .meta-right .date{color:var(--ink);font-weight:500;margin-top:4px;font-size:13px}.stamp{position:absolute;top:30px;right:36px;width:88px;height:auto;transform:rotate(4deg);z-index:5;filter:drop-shadow(0 1px 1px rgba(37,52,63,.08)) drop-shadow(0 4px 8px rgba(37,52,63,.1)) drop-shadow(0 12px 24px rgba(37,52,63,.08));transition:transform .5s cubic-bezier(.16,1,.3,1),filter .4s ease}.stamp:hover{transform:rotate(2deg) translateY(-2px) scale(1.04);filter:drop-shadow(0 2px 3px rgba(37,52,63,.1)) drop-shadow(0 8px 14px rgba(37,52,63,.14)) drop-shadow(0 20px 34px rgba(37,52,63,.1))}.stamp img{width:100%;height:auto;display:block;user-select:none;-webkit-user-drag:none}.studio-letter-wrap>.letter>.stamp{transform:rotate(-3deg);top:36px;right:40px}.studio-letter-wrap>.letter>.stamp:hover{transform:rotate(-1deg) translateY(-2px) scale(1.04)}.stamp-postmark{position:absolute;top:124px;right:60px;width:116px;height:auto;transform:rotate(-12deg);pointer-events:none;z-index:4;opacity:.72;mix-blend-mode:multiply}.stamp-postmark img{width:100%;height:auto;display:block}.studio-letter-wrap>.letter>.stamp-postmark{transform:rotate(8deg);left:56px;right:auto;top:56px}.wax-seal{position:absolute;width:78px;height:auto;pointer-events:none;z-index:4;filter:drop-shadow(0 1px 2px rgba(37,52,63,.18)) drop-shadow(0 3px 6px rgba(37,52,63,.2)) drop-shadow(0 8px 14px rgba(37,52,63,.1))}.wax-seal img{width:100%;height:auto;display:block;user-select:none}.letter-scene>.letter>.wax-seal{bottom:68px;right:56px;transform:rotate(-12deg)}.studio-letter-wrap>.letter>.wax-seal{bottom:76px;right:68px;transform:rotate(8deg)}@media(max-width:900px){.stamp{width:70px;top:18px;right:16px}.stamp-postmark{display:none}.wax-seal{width:56px}.letter-scene>.letter>.wax-seal{bottom:36px;right:24px}.studio-letter-wrap>.letter>.wax-seal{bottom:36px;right:24px}}.subject-line{margin-bottom:18px;font-size:16.5px;line-height:1.55;letter-spacing:-.005em}.subject-line .label{color:var(--mute);font-weight:400;margin-right:4px}.subject-line .text{color:var(--ink);font-weight:500}.greeting{font-size:16.5px;line-height:1.55;letter-spacing:-.005em;color:var(--ink-soft);margin-bottom:18px;font-weight:400}.greeting .handwritten{font-family:Caveat,cursive;font-size:1.15em;color:var(--ink-soft);margin-left:2px}.letter-body p{font-size:16.5px;line-height:1.65;color:var(--ink-soft);margin-bottom:16px;max-width:600px}.letter-body p strong{color:var(--ink);font-weight:500}.letter-body p a{color:var(--ink);border-bottom:1px solid var(--line);transition:border-color .2s ease}.letter-body p a:hover{border-color:var(--ink)}.letter-cards{margin:32px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;perspective:1000px}.card-tpl{background:#fff;border:1px solid rgba(37,52,63,.12);border-radius:3px;padding:8px 8px 0;cursor:pointer;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .45s ease;box-shadow:0 1px 1px #25343f0d,0 2px 4px #25343f0d,0 5px 12px #25343f12,0 12px 28px #25343f0f;position:relative;will-change:transform}.card-tpl:nth-child(1){transform:rotate(-1.2deg)}.card-tpl:nth-child(2){transform:rotate(.6deg)}.card-tpl:nth-child(3){transform:rotate(-.4deg)}.card-tpl:nth-child(4){transform:rotate(1.1deg)}.card-tpl:nth-child(5){transform:rotate(-.8deg)}.card-tpl:nth-child(6){transform:rotate(.5deg)}.card-tpl:hover{transform:translateY(-6px) rotate(0) scale(1.04);box-shadow:0 2px 3px #25343f12,0 6px 14px #25343f1a,0 14px 32px #25343f1a,0 28px 60px #25343f1a;z-index:5}.card-tpl:nth-child(4):before{content:"";position:absolute;top:-7px;left:50%;transform:translate(-50%) rotate(-2deg);width:56px;height:16px;background:linear-gradient(180deg,#bfc9d18c,#d6dee373,#bfc9d18c);border-left:1px solid rgba(120,135,145,.4);border-right:1px solid rgba(120,135,145,.4);box-shadow:0 1px 3px #25343f14;pointer-events:none}.card-tpl .card-img{aspect-ratio:16 / 10;background:var(--desk-dark);overflow:hidden;border-radius:1px;position:relative;box-shadow:inset 0 0 0 1px #25343f0a}.card-tpl .card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1)}.card-tpl:hover .card-img img{transform:scale(1.03)}.card-tpl .card-meta{padding:11px 4px 9px;display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end}.card-tpl .card-meta .num{font-size:9px;letter-spacing:.14em;color:var(--soft);font-weight:500;margin-bottom:2px;text-transform:uppercase}.card-tpl .card-meta .name{font-size:14px;font-weight:500;letter-spacing:-.012em;color:var(--ink);line-height:1.1}.card-tpl .card-meta .price{font-size:13px;font-weight:500;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:oldstyle-nums}.signature{margin-top:32px}.signature .yours{font-size:16px;color:var(--ink-soft);margin-bottom:4px}.signature .name{font-family:Caveat,cursive;font-size:38px;color:#25343f;line-height:1.1;letter-spacing:-.01em;margin-bottom:4px;text-shadow:0 0 .5px rgba(37,52,63,.6),0 .5px 0 rgba(37,52,63,.2);transform:rotate(-2deg);transform-origin:left center;display:inline-block}.signature .role{font-size:12px;color:var(--mute);letter-spacing:.04em}.signature .role a{color:var(--mute);border-bottom:1px solid var(--line);transition:border-color .2s ease}.signature .role a:hover{border-color:var(--mute)}.ps{margin-top:36px;padding-top:24px;border-top:1px solid var(--line-soft);font-size:14px;color:var(--mute);line-height:1.6;max-width:540px}.ps strong{color:var(--ink-soft);font-weight:500}.ps a{color:var(--ink);border-bottom:1px solid var(--line);transition:border-color .2s ease}.ps a:hover{border-color:var(--ink)}.below-letter{padding:60px 32px 80px;text-align:center;color:var(--mute);font-size:13px;letter-spacing:.04em;max-width:600px;margin:0 auto}.below-letter .scroll-cue{font-family:Caveat,cursive;font-size:18px;color:var(--mute);margin-bottom:16px}.below-letter a{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:2px}.studio-scene{min-height:100vh;padding:110px 32px 80px;display:flex;align-items:flex-start;justify-content:center}.studio-letter h2{font-size:13px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase;margin-top:28px;margin-bottom:14px;font-weight:500}.studio-letter h2:first-of-type{margin-top:8px}.studio-letter .price-list{margin:12px 0 28px;border-top:1px solid rgba(37,52,63,.14);padding-top:4px}.studio-letter .price-list .pl-row{display:grid;grid-template-columns:1fr auto;gap:24px;padding:16px 0 14px;border-bottom:1px dotted rgba(37,52,63,.18);align-items:baseline;position:relative}.studio-letter .price-list .pl-row:last-child{border-bottom:1px solid rgba(37,52,63,.14)}.studio-letter .price-list .pl-left{font-size:15px;font-weight:500;color:var(--ink)}.studio-letter .price-list .pl-left small{display:block;font-size:13px;color:var(--mute);font-weight:400;margin-top:4px}.studio-letter .price-list .pl-right{font-size:18px;font-weight:500;color:var(--ink);letter-spacing:-.015em;font-variant-numeric:oldstyle-nums}.studio-letter .price-list .pl-right small{font-size:11px;color:var(--mute);font-weight:400;margin-left:4px}.studio-letter .contact-row{display:flex;flex-direction:column;gap:10px;margin-top:12px}.studio-letter .contact-row a{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:2px;transition:border-color .2s ease;width:fit-content;display:inline-flex;align-items:center;gap:8px;font-size:15px}.studio-letter .contact-row a:hover{border-color:var(--ink)}.studio-letter .margin-note{font-family:Caveat,cursive;font-size:22px;color:var(--moss);font-weight:500;line-height:1;display:inline-block;transform:rotate(-3deg);margin-left:18px;letter-spacing:0;text-transform:none;vertical-align:middle}.studio-letter .price-list .picked-row{position:relative}.studio-letter .price-list .picked-row:before{content:"";position:absolute;inset:10px -16px 8px;background:linear-gradient(94deg,#f2e27a00,#f2e27a66 4%,#f2e27a80 40%,#f2e27a66 96%,#f2e27a00);border-radius:4px 8px/12px 6px;mix-blend-mode:multiply;pointer-events:none;transform:rotate(-.5deg);z-index:0}.studio-letter .price-list .picked-row>*{position:relative;z-index:1}.studio-letter .price-list .picked-tag{position:absolute;left:65%;top:50%;transform:translate(-50%,-50%) rotate(-3deg);font-family:Caveat,cursive;font-size:24px;color:var(--wax);font-weight:500;letter-spacing:0;text-transform:none;white-space:nowrap;pointer-events:none;mix-blend-mode:multiply;border:none;padding:0;background:transparent;display:block}@media(max-width:900px){.studio-letter .price-list .picked-tag{position:absolute;left:auto;right:0;top:-12px;transform:rotate(-2deg);font-size:18px}}.works-folder{margin:20px 0 36px;position:relative}.works-folder .folder-label{font-size:11px;letter-spacing:.16em;color:var(--soft);text-transform:uppercase;font-weight:500;margin-bottom:22px;display:flex;justify-content:space-between;align-items:baseline}.works-folder .folder-label .count{color:var(--mute);letter-spacing:.04em}.works-folder .folders-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:4px 0;align-items:start}.project-folder{position:relative;height:240px;cursor:pointer;z-index:1;perspective:800px}.project-folder:hover{z-index:50}.project-folder .pf-stack{position:absolute;inset:0;pointer-events:none;z-index:1}.project-folder .pf-photo{position:absolute;bottom:50px;left:50%;width:170px;aspect-ratio:16 / 10;background:#fff;border:1px solid rgba(37,52,63,.16);border-radius:3px;padding:4px 4px 0;overflow:hidden;box-shadow:0 1px 1px #25343f0d,0 3px 8px #25343f12,0 8px 18px #25343f0f;transform-origin:bottom center;will-change:transform}.project-folder .pf-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:1px}.project-folder .pf-photo.p1{transform:translate(calc(-50% - 40px)) rotate(-3.5deg);z-index:1;transition:transform .6s cubic-bezier(.34,1.56,.64,1) .1s,box-shadow .6s ease}.project-folder .pf-photo.p2{transform:translate(-50%,-10px) rotate(0);z-index:2;transition:transform .6s cubic-bezier(.34,1.56,.64,1) .05s,box-shadow .6s ease}.project-folder .pf-photo.p3{transform:translate(calc(-50% + 40px)) rotate(3.5deg);z-index:3;transition:transform .6s cubic-bezier(.34,1.56,.64,1) 0s,box-shadow .6s ease}.project-folder:hover .pf-photo{box-shadow:0 2px 4px #25343f14,0 8px 18px #25343f1f,0 20px 40px #25343f1f}.project-folder:hover .pf-photo.p1{transform:translate(calc(-50% - 85px),-65px) rotate(-9deg);transition-delay:0s}.project-folder:hover .pf-photo.p2{transform:translate(-50%,-80px) rotate(0) scale(1.06);transition-delay:.05s}.project-folder:hover .pf-photo.p3{transform:translate(calc(-50% + 85px),-65px) rotate(9deg);transition-delay:.1s}.project-folder .pf-body{position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(180deg,#d5dce0,#b0bac1);border:1px solid rgba(37,52,63,.22);border-bottom:2px solid rgba(37,52,63,.18);border-radius:4px;z-index:5;box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #25343f14,0 1px 1px #25343f0d,0 5px 12px #25343f14;transform-origin:bottom center;transition:transform .6s cubic-bezier(.34,1.56,.64,1),box-shadow .6s ease}.project-folder .pf-body:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='ff2'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.36 0 0 0 0 0.42 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23ff2)'/%3E%3C/svg%3E");border-radius:4px;mix-blend-mode:multiply;opacity:.85;pointer-events:none}.project-folder .pf-body:after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.25);border-radius:3px;pointer-events:none}.project-folder .pf-row .pf-details{position:absolute;top:16px;left:20px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.project-folder .pf-row .pf-name{font-size:15.5px;font-weight:600;color:var(--ink);letter-spacing:-.015em;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.45)}.project-folder .pf-row{position:absolute;bottom:0;left:0;right:0;height:100px;z-index:7;pointer-events:none}.project-folder .pf-row .pf-meta{font-size:9px;letter-spacing:.18em;color:#25343fa6;text-transform:uppercase;font-weight:600;text-shadow:0 1px 0 rgba(255,255,255,.45)}.project-folder .pf-row .pf-hint{position:absolute;bottom:16px;right:20px;font-size:9px;letter-spacing:.2em;color:#25343f73;text-transform:uppercase;font-weight:500;transition:opacity .3s ease}.project-folder:hover .pf-row .pf-hint{opacity:0}.project-folder:hover .pf-body{transform:rotateX(16deg) translateY(2px)}.project-folder:active .pf-body{transform:rotateX(10deg) translateY(4px)}@media(max-width:900px){.works-folder .folders-grid{grid-template-columns:1fr;gap:20px;align-items:stretch}.project-folder{height:220px}.project-folder .pf-photo{width:140px}.project-folder .pf-body,.project-folder .pf-row{height:90px}.project-folder .pf-row .pf-name{font-size:14.5px}}.studio-letter .process-timeline{margin:18px 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;position:relative}.studio-letter .process-step{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;position:relative}.studio-letter .process-step .step-num{font-family:Caveat,cursive;font-size:30px;color:var(--moss);line-height:1;margin-top:-2px;font-weight:500;text-align:left}.studio-letter .process-step .step-content{padding-top:4px}.studio-letter .process-step .step-title{font-size:14px;font-weight:500;color:var(--ink);margin-bottom:4px;letter-spacing:-.005em}.studio-letter .process-step .step-desc{font-size:13px;color:var(--mute);line-height:1.5}@media(max-width:900px){.studio-letter .process-timeline{grid-template-columns:1fr;gap:14px}}.studio-letter .contact-card{display:inline-block;background:#fcfcfb;border:1px solid rgba(37,52,63,.15);padding:20px 24px 18px;margin-top:14px;transform:rotate(-1.5deg);box-shadow:inset 0 0 0 4px #fcfcfb,inset 0 0 0 5px #25343f1a,0 1px 2px #25343f0d,0 3px 6px #25343f0a;border-radius:2px;position:relative;min-width:280px;max-width:320px;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease;overflow:hidden}.studio-letter .contact-card:hover{transform:rotate(0) scale(1.02) translateY(-4px);box-shadow:inset 0 0 0 4px #fcfcfb,inset 0 0 0 5px #25343f1a,0 4px 12px #25343f14,0 16px 32px #25343f14}.studio-letter .contact-card:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.6) 40%,rgba(255,255,255,.8) 50%,rgba(255,255,255,.6) 60%,transparent 80%);background-size:200% 100%;background-position:200% 0;z-index:10;pointer-events:none;transition:background-position .7s cubic-bezier(.16,1,.3,1)}.studio-letter .contact-card:hover:before{background-position:-50% 0}.studio-letter .contact-card:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='cn'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.4 0 0 0 0 0.45 0 0 0 0 0.5 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23cn)'/%3E%3C/svg%3E");mix-blend-mode:multiply;border-radius:2px;pointer-events:none;z-index:0}.studio-letter .contact-card .card-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);font-weight:500;margin-bottom:6px;position:relative;z-index:1}.studio-letter .contact-card .card-name{font-family:Caveat,cursive;font-size:32px;color:var(--ink);line-height:1;margin-bottom:2px;font-weight:500;letter-spacing:-.01em;position:relative;z-index:1}.studio-letter .contact-card .card-handle{font-size:11px;color:var(--mute);letter-spacing:.06em;margin-bottom:14px;position:relative;z-index:1}.studio-letter .contact-card .card-lines{display:flex;flex-direction:column;gap:6px;padding-top:10px;position:relative;z-index:1}.studio-letter .contact-card .card-lines:before{content:"";display:block;width:30px;height:1px;background:#25343f66;margin-bottom:10px}.studio-letter .contact-card .card-lines a{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);width:fit-content;transition:color .2s ease;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px}.studio-letter .contact-card .card-lines a:hover{border-bottom-color:#25343f66}.studio-letter .contact-card .card-lines a svg{width:13px;height:13px;flex-shrink:0;opacity:.5}.studio-letter .contact-card .card-status{margin-top:14px;padding:5px 9px;border:1px dashed rgba(37,52,63,.35);border-radius:2px;font-size:9.5px;letter-spacing:.16em;color:#25343fc7;text-transform:uppercase;font-weight:500;display:inline-flex;align-items:center;gap:6px;position:relative;z-index:1;mix-blend-mode:multiply}.studio-letter .contact-card .card-status .pulse{width:5px;height:5px;border-radius:50%;background:#25343fb3;animation:pulse 2.4s ease-in-out infinite}.studio-letter-wrap{opacity:0;transform:translateY(80px);transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1)}.studio-letter-wrap.in-view{opacity:1;transform:translateY(0)}.studio-letter-wrap .stamp{opacity:0;transform:rotate(-8deg) scale(.9);transition:opacity .8s ease .4s,transform 1s cubic-bezier(.16,1,.3,1) .4s}.studio-letter-wrap.in-view .stamp{opacity:1;transform:rotate(4deg) scale(1)}.main-content{transition:transform .6s cubic-bezier(.32,.72,0,1),opacity .5s cubic-bezier(.32,.72,0,1);will-change:transform,opacity}body.template-open .main-content{transform:translate3d(-14%,0,0) scale(.93);opacity:.32;pointer-events:none}.template-letter-stage{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:50;background:transparent;overflow-y:auto;overflow-x:hidden;transform:translate3d(100%,0,0);transition:transform .6s cubic-bezier(.32,.72,0,1);pointer-events:none;-webkit-overflow-scrolling:touch;will-change:transform}body.template-open .template-letter-stage{transform:translateZ(0);pointer-events:auto}.template-letter-scene{min-height:100vh;padding:90px 32px 80px;display:flex;justify-content:center;align-items:flex-start}.template-letter{width:100%;max-width:760px;background:var(--paper);padding:56px 64px 72px;box-shadow:0 1px 1px #25343f05,0 2px 4px #25343f08,0 5px 10px #25343f0a,0 12px 26px #25343f0d,0 30px 60px #25343f0f,0 60px 120px #25343f0a;border-radius:2px;position:relative;background-image:radial-gradient(ellipse at 20% 0%,rgba(255,255,255,.55) 0%,transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(37,52,63,.06) 0%,transparent 55%),radial-gradient(circle at 95% 5%,rgba(37,52,63,.04) 0%,transparent 35%);transform:scale(.96) translateY(8px) rotate(.3deg);opacity:.8;transform-origin:center 20%;transition:transform .55s cubic-bezier(.32,.72,0,1) .1s,opacity .45s cubic-bezier(.32,.72,0,1) .1s;will-change:transform,opacity}body.template-open .template-letter{transform:scale(1) translateY(0) rotate(0);opacity:1}.template-letter .stamp{opacity:0;transform:rotate(-2deg) scale(.88) translateY(-6px);transition:opacity .4s cubic-bezier(.32,.72,0,1) .35s,transform .5s cubic-bezier(.34,1.45,.64,1) .35s}body.template-open .template-letter .stamp{opacity:1;transform:rotate(4deg) scale(1) translateY(0)}.template-letter .stamp-postmark{opacity:0;transform:rotate(-18deg) scale(.95);transition:opacity .45s cubic-bezier(.32,.72,0,1) .45s,transform .5s cubic-bezier(.32,.72,0,1) .45s}body.template-open .template-letter .stamp-postmark{opacity:.72;transform:rotate(-12deg) scale(1)}.template-letter .wax-seal{opacity:0;transform:rotate(-20deg) scale(.65);transition:opacity .4s cubic-bezier(.32,.72,0,1) .55s,transform .5s cubic-bezier(.34,1.45,.64,1) .55s}body.template-open .template-letter .wax-seal{opacity:1;transform:rotate(-12deg) scale(1)}.template-letter:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.18 0 0 0 0 0.24 0 0 0 0 0.30 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),repeating-linear-gradient(0deg,rgba(37,52,63,.015) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(37,52,63,.015) 0 1px,transparent 1px 4px);pointer-events:none;border-radius:2px;mix-blend-mode:multiply;opacity:.95;z-index:1}.template-letter>*{position:relative;z-index:2}.template-letter:after{content:"";position:absolute;top:0;left:0;width:42px;height:42px;background:linear-gradient(225deg,transparent 50%,rgba(0,0,0,.05) 50%,rgba(0,0,0,.05) 51%,rgba(234,239,239,.95) 51%);border-radius:2px 0 70%;box-shadow:inset 2px 2px 3px #0000000f;pointer-events:none}.letter-close{position:fixed;top:92px;right:max(20px,calc(50vw - 450px));width:44px;height:44px;border-radius:50%;background:var(--paper);border:1px solid rgba(37,52,63,.16);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:200;color:var(--ink);box-shadow:0 1px 2px #25343f14,0 4px 12px #25343f24,0 12px 28px #25343f1a;opacity:0;visibility:hidden;transform:scale(.85);pointer-events:none;transition:opacity .35s ease,visibility 0s linear .4s,transform .45s cubic-bezier(.34,1.45,.64,1),background .25s ease,box-shadow .25s ease;will-change:transform,opacity}body.template-open .letter-close{opacity:1;visibility:visible;transform:scale(1);pointer-events:auto;transition:opacity .35s ease .15s,visibility 0s linear 0s,transform .45s cubic-bezier(.34,1.45,.64,1) .15s,background .25s ease,box-shadow .25s ease}.letter-close:hover{background:#fff;transform:scale(1.08);box-shadow:0 1px 2px #25343f1a,0 6px 16px #25343f2e,0 16px 36px #25343f1f}.letter-close:active{transform:scale(.96)}@media(max-width:900px){.letter-close{top:16px;right:16px;width:40px;height:40px}}body.template-open{overflow:hidden}.template-letter .t-meta{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);font-weight:500;margin-bottom:12px}.template-letter .t-greeting{font-size:clamp(26px,3.4vw,36px);line-height:1.1;letter-spacing:-.025em;color:var(--ink);margin-bottom:24px;font-weight:400}.template-letter .gallery-wrapper{position:relative;width:calc(100% + 80px);margin:28px -40px}.template-letter .gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid rgba(37,52,63,.1);box-shadow:0 4px 12px #25343f14;display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;z-index:10;transition:all .2s ease}.template-letter .gallery-nav:hover{background:#fcfbf9;box-shadow:0 6px 16px #25343f26;transform:translateY(-50%) scale(1.05)}.template-letter .gallery-nav:active{transform:translateY(-50%) scale(.95)}.template-letter .gallery-nav.prev{left:16px}.template-letter .gallery-nav.next{right:16px}.template-letter .t-gallery{display:flex;flex-direction:row;gap:32px;margin:0;padding:24px 40px 60px;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none;cursor:grab;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%)}.template-letter .t-gallery.is-dragging{scroll-snap-type:none;cursor:grabbing}.template-letter .t-gallery::-webkit-scrollbar{display:none}.template-letter .gallery-item{--focus: 0;--scale: calc(.9 + (.1 * var(--focus)));flex:0 0 calc(90% - 20px);scroll-snap-align:center;background-color:#faf9f6;background-image:radial-gradient(rgba(0,0,0,.015) 1px,transparent 1px),radial-gradient(rgba(0,0,0,.015) 1px,transparent 1px);background-size:4px 4px;background-position:0 0,2px 2px;padding:12px;border-radius:2px;box-shadow:inset 0 0 0 1px #fff,inset 0 0 0 2px #0000000a,1px 1px 1px #0000001a,2px 2px 2px #0000000d,0 12px 32px #25343f33,0 40px 64px #25343f26;transform:scale(var(--scale));opacity:calc(.5 + (.5 * var(--focus)));transition:box-shadow .3s cubic-bezier(.16,1,.3,1);user-select:none;pointer-events:auto}.template-letter .gallery-item:hover{box-shadow:inset 0 0 0 1px #fff,inset 0 0 0 2px #0000000a,2px 2px 2px #00000014,4px 4px 4px #0000000a,0 16px 40px #25343f40,0 48px 80px #25343f2e;z-index:2}.template-letter .img-frame{position:relative;border-radius:2px;overflow:hidden;background:#fff}.template-letter .img-frame:after{content:"";position:absolute;inset:0;box-shadow:inset 0 2px 8px #00000026,inset 0 0 0 1px #00000014;pointer-events:none;z-index:2}.template-letter .gallery-img{display:block;width:100%;height:auto;pointer-events:none}.template-letter .t-body p{font-size:16.5px;line-height:1.65;color:var(--ink-soft);margin-bottom:14px;max-width:600px}.template-letter .t-body p strong{color:var(--ink);font-weight:500}.template-letter .t-included{margin:28px 0 8px}.template-letter .t-included .label{font-size:11px;letter-spacing:.14em;color:var(--soft);text-transform:uppercase;margin-bottom:12px;font-weight:500}.template-letter .t-included ul{list-style:none;column-count:2;column-gap:36px}.template-letter .t-included ul li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dotted rgba(37,52,63,.16);font-size:14px;break-inside:avoid}.template-letter .t-included ul li .k{color:var(--ink);font-weight:500}.template-letter .t-included ul li .v{color:var(--mute);text-align:right}.t-stickers{margin:60px 0 24px;padding:36px 0 20px;border-top:1px solid var(--line-soft);display:flex;gap:36px;align-items:center;justify-content:flex-start;flex-wrap:wrap;min-height:160px;position:relative}.buy-sticker{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:170px;height:170px;border-radius:50%;background:linear-gradient(140deg,#3d4d58,#1e2c24);color:#fff;transform:rotate(-9deg);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease;box-shadow:inset 0 1px #ffffff2e,inset 0 -1px 1px #0003,0 2px 3px #25343f29,0 6px 14px #25343f38,0 18px 30px #25343f2e;z-index:2;user-select:none}.buy-sticker:before{content:"";position:absolute;inset:6px;border:1px dashed rgba(248,250,251,.3);border-radius:50%;pointer-events:none}.buy-sticker:hover{transform:rotate(-4deg) scale(1.06) translateY(-3px);box-shadow:inset 0 1px #ffffff38,inset 0 -1px 1px #00000038,0 3px 5px #25343f2e,0 10px 22px #25343f42,0 26px 44px #25343f33}.buy-sticker .label-top{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#f8fafb99;font-weight:500;margin-bottom:4px}.buy-sticker .price-big{font-family:Caveat,cursive;font-size:58px;line-height:1;color:#fff;margin-bottom:4px;font-variant-numeric:oldstyle-nums}.buy-sticker .label-bottom{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#f8fafbb3;font-weight:500}.t-purchase-area{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin:60px -64px -72px;padding:56px 64px 72px;background-color:#f5f7f9;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n2'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.18 0 0 0 0 0.24 0 0 0 0 0.30 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n2)'/%3E%3C/svg%3E");border-top:1px dashed rgba(37,52,63,.15);border-bottom-left-radius:2px;border-bottom-right-radius:2px;position:relative;box-shadow:inset 0 8px 16px #25343f04;overflow:hidden}.t-purchase-area:before{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:repeating-linear-gradient(-45deg,#CF2648 0px,#CF2648 16px,transparent 16px,transparent 32px,#25343F 32px,#25343F 48px,transparent 48px,transparent 64px);opacity:.85;pointer-events:none;z-index:2}.t-stickers .sticker-note{margin-left:8px;font-size:12px;color:var(--mute);max-width:200px;line-height:1.5;font-style:italic}body.letter-is-project #tplBuy,body.letter-is-project #tplBuyBtn,body.letter-is-project .t-stickers .sticker-note{display:none}body.letter-is-project .action-btn-call{display:inline-flex}.action-btn-call{display:none}body.letter-is-project .t-purchase-area{grid-template-columns:1fr}body.letter-is-project .template-letter:after{content:"Past work · Live";position:absolute;top:14px;left:14px;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--ink);padding:5px 10px;border:1px dashed rgba(37,52,63,.5);border-radius:2px;background:transparent;mix-blend-mode:multiply;z-index:10;transform:none;box-shadow:none}body.letter-is-project .template-letter{background-color:#fafcfd}body.letter-is-project .template-letter .stamp,body.letter-is-project .template-letter .stamp-postmark{display:none}.t-actions{display:flex;flex-direction:column;gap:16px;position:relative;z-index:5;width:100%}.t-actions .action-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 28px;border-radius:100px;font-size:15px;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);letter-spacing:.01em;width:100%;text-decoration:none;cursor:pointer}.t-actions .action-btn.primary{background:linear-gradient(180deg,#374752,#1f2c35);color:#fff;box-shadow:inset 0 1.5px 2px #ffffff40,inset 0 -1px 2px #00000080;text-shadow:0 -1px 0 rgba(0,0,0,.4);border:1px solid rgba(0,0,0,.4)}.t-actions .action-btn.primary:hover{background:linear-gradient(180deg,#445663,#293843);transform:translateY(-1px);box-shadow:inset 0 1.5px 2px #ffffff59,inset 0 -1px 2px #00000080}.t-actions .action-btn.primary:active{transform:translateY(1px);box-shadow:inset 0 3px 6px #0006}.t-actions .action-btn.secondary{background:linear-gradient(180deg,#fff,#e8ecef);color:var(--ink);border:1px solid rgba(37,52,63,.18);box-shadow:inset 0 1.5px 2px #fff,inset 0 -1px 1px #0000000f}.t-actions .action-btn.secondary:hover{background:linear-gradient(180deg,#fff,#f1f4f6);border-color:#25343f40;transform:translateY(-1px);box-shadow:inset 0 1.5px 2px #fff,inset 0 -1px 1px #0000000f}.t-actions .action-btn.secondary:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #0000001a}@media(max-width:900px){.template-letter-scene{padding:70px 16px 60px}.template-letter{padding:32px 24px 50px}.template-letter .t-included ul{column-count:1}.t-purchase-area{grid-template-columns:1fr;gap:32px;justify-items:center;margin:40px -24px -50px;padding:40px 24px 50px}.buy-sticker{width:130px;height:130px}.buy-sticker .price-big{font-size:46px}.template-back{top:12px;left:16px;position:fixed}}.between-letters{text-align:center;padding:60px 32px 48px;position:relative}.between-letters .flourish{color:var(--ink-soft);margin:0 auto;display:block;opacity:.5}.between-letters .cursive-cue{font-family:Akt,sans-serif;font-size:14px;color:var(--ink-soft);margin-top:14px;letter-spacing:.005em;font-weight:400;line-height:1.45}.between-letters .cursive-cue a{color:var(--ink);font-weight:500;border-bottom:1px solid var(--line-strong);padding-bottom:2px;transition:border-color .25s ease}.between-letters .cursive-cue a:hover{border-bottom-color:var(--ink)}.between-letters .cue-sub{font-size:12px;color:var(--mute);margin-top:6px;letter-spacing:.02em}@media(max-width:900px){.between-letters{padding:50px 24px 40px}}.site-footer{padding:70px 32px 50px;text-align:center;color:var(--soft);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-top:40px;position:relative}.site-footer:before{content:"";display:block;width:56px;height:1px;background:#25343f2e;margin:0 auto 6px}.site-footer:after{content:"";display:block;width:32px;height:1px;background:#25343f2e;margin:0 auto 24px}.site-footer .footer-brand{font-family:Caveat,cursive;font-size:26px;color:var(--ink);text-transform:none;letter-spacing:-.01em;margin-bottom:6px}.site-footer>div:not(.footer-brand){color:var(--mute);letter-spacing:.08em}.reveal{opacity:0;transform:translateY(16px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:900px){.letter-scene{padding:90px 16px 40px}.studio-scene{padding:90px 16px 60px}.letter{padding:38px 28px 36px}.stamp{top:14px;right:14px;width:50px;height:60px;padding:4px}.stamp .stamp-circle{width:20px;height:20px}.stamp .stamp-circle:before{font-size:9px}.stamp .stamp-label{font-size:6.5px}.stamp-postmark{display:none}.letter-head{grid-template-columns:1fr;gap:12px;padding-bottom:20px;margin-bottom:24px}.letter-head .meta-right{text-align:left}.greeting,.subject-line{font-size:15px}.letter-body p{font-size:15.5px}.letter-cards{grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.card-tpl .card-meta{padding:8px 10px 10px}.card-tpl .card-meta .name{font-size:13px}.card-tpl .card-meta .price{font-size:12px}.signature .name{font-size:28px}.cursor-dot{display:none}}
