:root{--color-bg:#f6fbf5;--color-bg-soft:#edf7ed;--color-surface:#fff;--color-surface-muted:#f8fcf7;--color-text:#526157;--color-heading:#20392b;--color-muted:#728077;--color-primary:#4f8b62;--color-primary-deep:#2f6a47;--color-primary-soft:#d9eddd;--color-secondary:#d6a65e;--color-border:#48705229;--color-shadow:#234c301f;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--shadow-soft:0 24px 70px var(--color-shadow);--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--color-bg);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;font-family:var(--font-sans);color:var(--color-text);background:radial-gradient(circle at 12% 10%, #aad6a447, transparent 30%), linear-gradient(145deg, var(--color-bg) 0%, #fbf7ed 52%, #eef8f0 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:inherit}button,input,textarea,select{font:inherit}#app{min-height:100vh}.marriage-page[data-v-3ad7a9ec]{--wedding-red:#b63a3a;--wedding-red-deep:#8f2528;--wedding-red-soft:#f6d8d4;--wedding-rose:#fff4f1;--wedding-gold:#c89d56;--wedding-ink:#442322;--wedding-muted:#7b5c58;--wedding-border:#b63a3a26;width:min(1120px,100% - 40px);color:var(--wedding-muted);margin:0 auto;padding:72px 0 60px}.petal-layer[data-v-3ad7a9ec]{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.petal[data-v-3ad7a9ec]{top:-32px;left:var(--petal-left);width:var(--petal-size);height:calc(var(--petal-size) * 1.32);opacity:var(--petal-opacity);animation:petal-fall-3ad7a9ec var(--petal-duration) linear infinite;animation-delay:var(--petal-delay);background:radial-gradient(circle at 30% 26%,#ffffffb8,#0000 28%),linear-gradient(145deg,#ffc4bef2,#b63a3ab3);border-radius:999px 999px 999px 0;position:absolute;transform:rotate(18deg);box-shadow:0 8px 18px #8f252814}.petal[data-v-3ad7a9ec]:nth-child(3n){background:radial-gradient(circle at 34% 30%,#ffffff9e,#0000 26%),linear-gradient(145deg,#ffe2caf2,#c89d569e);border-radius:999px 0 999px 999px}.petal[data-v-3ad7a9ec]:nth-child(4n){width:calc(var(--petal-size) * 1.12);height:calc(var(--petal-size) * 1.12);border-radius:50% 50% 50% 8px}.hero-section[data-v-3ad7a9ec]{z-index:1;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:center;gap:48px;min-height:560px;display:grid;position:relative}.hero-copy[data-v-3ad7a9ec]{padding:42px 0}.eyebrow[data-v-3ad7a9ec]{min-height:34px;color:var(--wedding-red-deep);letter-spacing:.08em;text-transform:uppercase;background:#fff6f2c7;border:1px solid #b63a3a33;border-radius:999px;align-items:center;margin:0 0 24px;padding:8px 15px;font-size:.88rem;font-weight:700;display:inline-flex}h1[data-v-3ad7a9ec]{color:var(--wedding-ink);margin:0;font-size:clamp(3.4rem,8vw,7rem);font-weight:850;line-height:.95}.hero-text[data-v-3ad7a9ec]{max-width:700px;color:var(--wedding-muted);margin:32px 0 0;font-size:clamp(1.08rem,2vw,1.34rem);line-height:1.9}.blessing-card[data-v-3ad7a9ec]{border:1px solid var(--wedding-border);background:radial-gradient(circle at 76% 18%,#fff9,#0000 28%),linear-gradient(150deg,#fff7f2f5,#f6d8d4e0),linear-gradient(28deg,#b63a3a3d,#0000);border-radius:24px;align-content:end;min-height:500px;padding:40px;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 80px #8f252824}.blessing-card[data-v-3ad7a9ec]:before,.blessing-card[data-v-3ad7a9ec]:after{content:"";border-radius:50%;position:absolute}.blessing-card[data-v-3ad7a9ec]:before{background:#ffffff47;border:1px solid #c89d5661;width:190px;height:190px;inset:34px 34px auto auto}.blessing-card[data-v-3ad7a9ec]:after{background:#b63a3a1a;width:280px;height:280px;inset:auto auto -76px -54px}.ring-mark[data-v-3ad7a9ec]{z-index:1;color:#fff;background:linear-gradient(145deg, #c89d5638, transparent), var(--wedding-red);border:1px solid #8f252829;border-radius:50%;place-items:center;width:166px;height:166px;margin-bottom:120px;display:grid;position:relative;box-shadow:0 22px 54px #8f25283d}.ring-mark span[data-v-3ad7a9ec]{font-size:4.6rem;font-weight:800;line-height:1}.blessing-card p[data-v-3ad7a9ec],.blessing-card strong[data-v-3ad7a9ec]{z-index:1;position:relative}.blessing-card p[data-v-3ad7a9ec]{max-width:320px;color:var(--wedding-muted);margin:0 0 12px;font-size:1.04rem;line-height:1.75}.blessing-card strong[data-v-3ad7a9ec]{color:var(--wedding-ink);font-size:clamp(2rem,4vw,3rem);line-height:1.12}.wish-section[data-v-3ad7a9ec]{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:18px;display:grid;position:relative}.wish-card[data-v-3ad7a9ec]{border:1px solid var(--wedding-border);background:#fff9f6c2;border-radius:16px;min-height:184px;padding:28px;box-shadow:0 18px 46px #8f252814}.wish-dot[data-v-3ad7a9ec]{background:linear-gradient(90deg, var(--wedding-red), var(--wedding-gold));border-radius:999px;width:34px;height:4px;margin-bottom:24px;display:block}.wish-card p[data-v-3ad7a9ec]{color:var(--wedding-ink);margin:0;font-size:1.05rem;line-height:1.8}.moment-section[data-v-3ad7a9ec]{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px;display:grid;position:relative}.moment-card[data-v-3ad7a9ec]{background:#ffffff94;border-left:3px solid #b63a3a7a;padding:30px}.moment-card h2[data-v-3ad7a9ec]{color:var(--wedding-red-deep);margin:0 0 14px;font-size:1.28rem}.moment-card p[data-v-3ad7a9ec]{color:var(--wedding-muted);margin:0;line-height:1.78}.closing-section[data-v-3ad7a9ec]{z-index:1;background:linear-gradient(90deg,#fffaf3d1,#fff4f1e6),#ffffff9e;border:1px solid #c89d563d;border-radius:24px;margin-top:26px;padding:44px;position:relative}.closing-section p[data-v-3ad7a9ec]{max-width:820px;color:var(--wedding-ink);margin:0;font-size:clamp(1.24rem,2.5vw,1.78rem);line-height:1.72}@keyframes petal-fall-3ad7a9ec{0%{transform:translateY(-40px)rotate(0)}45%{transform:translate3d(var(--petal-drift), 48vh, 0) rotate(160deg)}to{transform:translate3d(calc(var(--petal-drift) * -.7), calc(100vh + 52px), 0) rotate(320deg)}}@media (prefers-reduced-motion:reduce){.petal[data-v-3ad7a9ec]{animation:none;display:none}}@media (width<=880px){.marriage-page[data-v-3ad7a9ec]{width:min(100% - 28px,680px);padding:42px 0}.hero-section[data-v-3ad7a9ec],.wish-section[data-v-3ad7a9ec],.moment-section[data-v-3ad7a9ec]{grid-template-columns:1fr}.hero-section[data-v-3ad7a9ec]{gap:24px;min-height:auto}.hero-copy[data-v-3ad7a9ec]{padding:16px 0 0}.blessing-card[data-v-3ad7a9ec]{min-height:420px}}@media (width<=520px){.marriage-page[data-v-3ad7a9ec]{width:min(100% - 24px,430px);padding:30px 0}.eyebrow[data-v-3ad7a9ec]{margin-bottom:18px}.hero-text[data-v-3ad7a9ec]{margin-top:24px}.blessing-card[data-v-3ad7a9ec],.wish-card[data-v-3ad7a9ec],.moment-card[data-v-3ad7a9ec],.closing-section[data-v-3ad7a9ec]{padding:24px}.blessing-card[data-v-3ad7a9ec]{min-height:360px}.ring-mark[data-v-3ad7a9ec]{width:132px;height:132px;margin-bottom:92px}.ring-mark span[data-v-3ad7a9ec]{font-size:3.6rem}}.home-page[data-v-05e26626]{width:min(1120px,100% - 40px);margin:0 auto;padding:72px 0 56px}.intro-section[data-v-05e26626]{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:center;gap:48px;min-height:560px;display:grid}.intro-copy[data-v-05e26626]{padding:48px 0}.eyebrow[data-v-05e26626]{border:1px solid var(--color-border);min-height:34px;color:var(--color-primary-deep);letter-spacing:.08em;text-transform:uppercase;background:#ffffffa3;border-radius:999px;align-items:center;margin:0 0 24px;padding:8px 14px;font-size:.88rem;font-weight:700;display:inline-flex}h1[data-v-05e26626]{max-width:720px;color:var(--color-heading);margin:0;font-size:clamp(3rem,7vw,5.8rem);font-weight:800;line-height:.98}.summary[data-v-05e26626]{max-width:670px;color:var(--color-text);margin:30px 0 0;font-size:clamp(1.06rem,2vw,1.32rem);line-height:1.85}.note-list[data-v-05e26626]{flex-wrap:wrap;gap:14px;margin-top:38px;display:flex}.note-list span[data-v-05e26626]{border:1px solid var(--color-border);color:var(--color-heading);background:#ffffffb3;border-radius:999px;padding:12px 16px;box-shadow:0 12px 28px #375f3f12}.portrait-panel[data-v-05e26626]{border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:480px;box-shadow:var(--shadow-soft);background:linear-gradient(160deg,#ffffffe0,#e6f5e4d6),linear-gradient(30deg,#4f8b622e,#0000);align-content:end;padding:36px;display:grid;position:relative;overflow:hidden}.portrait-panel[data-v-05e26626]:before{background:linear-gradient(135deg, #ffffff59, transparent), var(--color-primary-soft);content:"";border-radius:50%;width:170px;height:170px;position:absolute;inset:28px 28px auto auto}.portrait-panel[data-v-05e26626]:after{content:"";background:#d6a65e29;border-radius:50%;width:260px;height:260px;position:absolute;inset:auto auto -72px -46px}.portrait-mark[data-v-05e26626]{z-index:1;width:152px;height:152px;color:var(--color-primary-deep);background:#ffffffad;border:1px solid #2f6a4729;border-radius:50%;place-items:center;margin-bottom:110px;display:grid;position:relative;box-shadow:0 24px 48px #2f6a4724}.portrait-mark span[data-v-05e26626]{letter-spacing:.08em;font-size:2.6rem;font-weight:800}.portrait-panel p[data-v-05e26626],.portrait-panel strong[data-v-05e26626]{z-index:1;position:relative}.portrait-panel p[data-v-05e26626]{color:var(--color-muted);margin:0 0 8px}.portrait-panel strong[data-v-05e26626]{color:var(--color-heading);font-size:2rem;line-height:1.12}.content-section[data-v-05e26626]{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px;display:grid}.highlight-card[data-v-05e26626]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffb8;padding:30px;box-shadow:0 18px 44px #375f3f14}.highlight-card h2[data-v-05e26626]{color:var(--color-heading);margin:0 0 16px;font-size:1.28rem}.highlight-card p[data-v-05e26626]{color:var(--color-text);margin:0;line-height:1.78}.quiet-section[data-v-05e26626]{border-radius:var(--radius-lg);background:#fffcf4b8;border:1px solid #d6a65e38;margin-top:24px;padding:42px}.quiet-section p[data-v-05e26626]{max-width:780px;color:var(--color-heading);margin:0;font-size:clamp(1.2rem,2.3vw,1.68rem);line-height:1.68}@media (width<=860px){.home-page[data-v-05e26626]{width:min(100% - 28px,680px);padding:36px 0}.intro-section[data-v-05e26626],.content-section[data-v-05e26626]{grid-template-columns:1fr}.intro-section[data-v-05e26626]{gap:24px;min-height:auto}.intro-copy[data-v-05e26626]{padding:22px 0 0}.summary[data-v-05e26626]{margin-top:24px}.portrait-panel[data-v-05e26626]{min-height:360px}}@media (width<=560px){.home-page[data-v-05e26626]{width:min(100% - 24px,520px)}.note-list span[data-v-05e26626],.highlight-card[data-v-05e26626],.quiet-section[data-v-05e26626]{width:100%}.portrait-panel[data-v-05e26626],.highlight-card[data-v-05e26626],.quiet-section[data-v-05e26626]{padding:24px}}.profile-page[data-v-f35eb087]{width:min(1120px,100% - 40px);margin:0 auto;padding:72px 0 56px;position:relative}.code-atmosphere[data-v-f35eb087]{z-index:0;pointer-events:none;opacity:.22;grid-template-columns:repeat(2,150px);gap:14px;width:min(340px,42vw);height:260px;display:grid;position:absolute;inset:42px -24px auto auto;overflow:hidden;-webkit-mask-image:linear-gradient(135deg,#000 0% 62%,#0000);mask-image:linear-gradient(135deg,#000 0% 62%,#0000)}.code-column[data-v-f35eb087]{color:#2f6a4747;align-content:start;gap:18px;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;font-weight:700;line-height:1.3;display:grid;transform:rotate(-2deg)}.code-column[data-v-f35eb087]:nth-child(2n){color:#d6a65e38;transform:translateY(34px)rotate(2deg)}.code-column[data-v-f35eb087]:nth-child(3n){color:#4f8b623d}.code-column span[data-v-f35eb087]{border-radius:var(--radius-sm);text-overflow:ellipsis;white-space:nowrap;background:#ffffff47;border:1px solid #4870521a;max-width:100%;padding:10px 12px;display:block;overflow:hidden;box-shadow:0 12px 30px #375f3f0d}.profile-page>section[data-v-f35eb087]{z-index:1;position:relative}.profile-hero[data-v-f35eb087]{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);align-items:center;gap:48px;min-height:560px;display:grid}.hero-copy[data-v-f35eb087]{padding:48px 0;animation:.52s both rise-in-f35eb087}.eyebrow[data-v-f35eb087]{border:1px solid var(--color-border);min-height:34px;color:var(--color-primary-deep);letter-spacing:.08em;text-transform:uppercase;background:#ffffffa3;border-radius:999px;align-items:center;margin:0 0 22px;padding:8px 14px;font-size:.82rem;font-weight:700;display:inline-flex}h1[data-v-f35eb087],h2[data-v-f35eb087],h3[data-v-f35eb087],p[data-v-f35eb087]{overflow-wrap:anywhere}h1[data-v-f35eb087]{color:var(--color-heading);margin:0;font-size:clamp(3.6rem,8vw,6.6rem);font-weight:800;line-height:.95}.summary[data-v-f35eb087]{max-width:680px;color:var(--color-text);margin:30px 0 0;font-size:clamp(1.06rem,2vw,1.3rem);line-height:1.86}.contact-grid[data-v-f35eb087]{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:38px;display:grid}.contact-item[data-v-f35eb087]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffb3;min-height:92px;padding:18px;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 12px 28px #375f3f12}.contact-item[data-v-f35eb087]:hover{border-color:#48705242;transform:translateY(-3px);box-shadow:0 18px 38px #375f3f1a}.contact-item span[data-v-f35eb087],.profile-panel p[data-v-f35eb087],.project-card span[data-v-f35eb087],.project-period-meta span[data-v-f35eb087],.timeline-meta span[data-v-f35eb087]{color:var(--color-muted);font-size:.88rem}.contact-item strong[data-v-f35eb087]{color:var(--color-heading);margin-top:10px;font-size:1.08rem;line-height:1.35;display:block}.profile-panel[data-v-f35eb087]{border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;min-height:500px;box-shadow:var(--shadow-soft);background:linear-gradient(160deg,#ffffffe0,#e6f5e4d6),linear-gradient(30deg,#d6a65e33,#0000);align-content:end;padding:36px;animation:.58s 80ms both rise-in-f35eb087;display:grid;position:relative;overflow:hidden}.profile-panel[data-v-f35eb087]:before{background:linear-gradient(135deg, #ffffff6b, transparent), var(--color-primary-soft);content:"";border-radius:50%;width:176px;height:176px;position:absolute;inset:34px 30px auto auto}.profile-panel[data-v-f35eb087]:after{content:"";background:#d6a65e2e;border-radius:50%;width:262px;height:262px;position:absolute;inset:auto auto -76px -44px}.panel-art[data-v-f35eb087]{z-index:1;opacity:.72;filter:hue-rotate(82deg)saturate(.72);width:min(46%,176px);animation:5.8s ease-in-out infinite soft-float-f35eb087;position:absolute;top:46px;right:26px}.profile-mark[data-v-f35eb087]{z-index:2;width:152px;height:152px;color:var(--color-primary-deep);background:#ffffffad;border:1px solid #2f6a4729;border-radius:50%;place-items:center;margin-bottom:72px;animation:4.8s ease-in-out infinite mark-pulse-f35eb087;display:grid;position:relative;box-shadow:0 24px 48px #2f6a4724}.profile-mark span[data-v-f35eb087]{letter-spacing:.08em;font-size:2.6rem;font-weight:800}.profile-panel p[data-v-f35eb087],.profile-panel strong[data-v-f35eb087],.fact-list[data-v-f35eb087]{z-index:2;position:relative}.profile-panel p[data-v-f35eb087]{margin:0 0 8px}.profile-panel strong[data-v-f35eb087]{color:var(--color-heading);font-size:2rem;line-height:1.12}.fact-list[data-v-f35eb087],.chip-list[data-v-f35eb087],.contact-links[data-v-f35eb087]{flex-wrap:wrap;gap:10px;display:flex}.fact-list[data-v-f35eb087]{margin-top:28px}.contact-links[data-v-f35eb087]{z-index:2;margin-top:18px;position:relative}.contact-links a[data-v-f35eb087]{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;color:inherit;background:#fff9;flex:150px;padding:12px 14px;text-decoration:none}.contact-links span[data-v-f35eb087]{color:var(--color-muted);font-size:.8rem;display:block}.contact-links strong[data-v-f35eb087]{overflow-wrap:anywhere;word-break:break-word;margin-top:4px;font-size:.94rem;line-height:1.3;display:block}.fact-list span[data-v-f35eb087],.chip-list span[data-v-f35eb087]{border:1px solid var(--color-border);color:var(--color-heading);background:#ffffffad;border-radius:999px;padding:10px 13px;font-size:.92rem;transition:background .18s,border-color .18s,transform .18s}.fact-list span[data-v-f35eb087]:hover,.chip-list span[data-v-f35eb087]:hover{background:#ffffffe6;border-color:#2f6a473d;transform:translateY(-2px)}.section-block[data-v-f35eb087]{margin-top:34px}.section-heading[data-v-f35eb087]{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.section-heading .eyebrow[data-v-f35eb087]{margin-bottom:0}.section-heading h2[data-v-f35eb087],.closing-section h2[data-v-f35eb087]{color:var(--color-heading);margin:0;font-size:clamp(1.9rem,4vw,3rem);line-height:1.08}.skill-grid[data-v-f35eb087]{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.skill-card[data-v-f35eb087],.project-card[data-v-f35eb087]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffb8;padding:26px;box-shadow:0 18px 44px #375f3f14}.skill-card[data-v-f35eb087]{transition:border-color .18s,box-shadow .18s,transform .18s;animation:.42s both rise-in-f35eb087}.skill-card[data-v-f35eb087]:hover{border-color:#48705242;transform:translateY(-3px);box-shadow:0 22px 48px #375f3f1a}.skill-card[data-v-f35eb087]:nth-child(2){animation-delay:50ms}.skill-card[data-v-f35eb087]:nth-child(3){animation-delay:.1s}.skill-card[data-v-f35eb087]:nth-child(4){animation-delay:.15s}.project-card[data-v-f35eb087]{transition:border-color .18s,box-shadow .18s,transform .18s}.project-card[data-v-f35eb087]:hover{border-color:#48705242;transform:translateY(-2px);box-shadow:0 22px 52px #375f3f1c}.skill-card h3[data-v-f35eb087],.project-card h3[data-v-f35eb087],.timeline-content h3[data-v-f35eb087]{color:var(--color-heading);margin:0;font-size:1.18rem}.skill-card .chip-list[data-v-f35eb087]{margin-top:18px}.timeline[data-v-f35eb087]{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#ffffff94;overflow:hidden;box-shadow:0 18px 44px #375f3f12}.timeline-item[data-v-f35eb087]{grid-template-columns:minmax(190px,.34fr) minmax(0,1fr);gap:28px;padding:30px;display:grid}.timeline-item+.timeline-item[data-v-f35eb087]{border-top:1px solid var(--color-border)}.timeline-meta strong[data-v-f35eb087]{color:var(--color-primary-deep);margin-top:10px;line-height:1.42;display:block}.jump-button[data-v-f35eb087]{border:1px solid var(--color-border);min-height:34px;color:var(--color-primary-deep);cursor:pointer;background:#ffffffb3;border-radius:999px;justify-content:center;align-items:center;margin-top:18px;padding:8px 14px;font-size:.88rem;font-weight:700;line-height:1;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.jump-button[data-v-f35eb087]:hover{background:#ffffffeb;border-color:#2f6a4747;transform:translateY(-1px)}.timeline-content ul[data-v-f35eb087]{color:var(--color-text);gap:10px;margin:16px 0 0;padding-left:20px;line-height:1.72;display:grid}.project-timeline[data-v-f35eb087]{gap:18px;display:grid}.project-period[data-v-f35eb087]{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#ffffff94;grid-template-columns:minmax(190px,.28fr) minmax(0,1fr);gap:28px;padding:30px;scroll-margin-top:28px;display:grid;box-shadow:0 18px 44px #375f3f12}.project-period-meta[data-v-f35eb087]{padding-left:24px;position:relative}.project-period-meta[data-v-f35eb087]:before{background:var(--color-primary);content:"";border:4px solid #ffffffdb;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:0;box-shadow:0 0 0 1px #2f6a472e}.project-period-meta[data-v-f35eb087]:after{background:var(--color-border);content:"";width:1px;position:absolute;top:30px;bottom:4px;left:8px}.project-period-meta strong[data-v-f35eb087]{color:var(--color-primary-deep);margin-top:10px;line-height:1.42;display:block}.project-list[data-v-f35eb087]{grid-template-columns:1fr;gap:14px;display:grid}.project-card-head[data-v-f35eb087]{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.project-card span[data-v-f35eb087]{margin-bottom:12px;line-height:1.5;display:block}.project-toggle[data-v-f35eb087]{border:1px solid var(--color-border);height:34px;color:var(--color-primary-deep);cursor:pointer;background:#ffffffb8;border-radius:999px;flex:none;grid-template-columns:auto 12px;align-items:center;gap:8px;padding:8px 12px;transition:background .18s,border-color .18s,transform .18s;display:inline-grid}.project-toggle[data-v-f35eb087]:hover{background:#ffffffeb;border-color:#2f6a4747;transform:translateY(-1px)}.project-toggle span[data-v-f35eb087]{min-width:28px;color:var(--color-primary-deep);margin:0;font-size:.86rem;font-weight:700;line-height:1;display:block}.project-toggle i[data-v-f35eb087]{width:12px;height:12px;display:block;position:relative}.project-toggle i[data-v-f35eb087]:before,.project-toggle i[data-v-f35eb087]:after{content:"";background:currentColor;border-radius:999px;width:12px;height:2px;transition:transform .18s;position:absolute;top:5px;left:0}.project-toggle i[data-v-f35eb087]:after{transform:rotate(90deg)}.project-card.is-expanded .project-toggle i[data-v-f35eb087]:after{transform:rotate(0)}.project-card p[data-v-f35eb087]{max-height:4.1em;color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:14px 0 0;line-height:1.82;transition:max-height .22s,opacity .18s;display:-webkit-box;overflow:hidden}.project-card.is-expanded p[data-v-f35eb087]{-webkit-line-clamp:initial;max-height:240px;display:block}@keyframes project-period-enter-f35eb087{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes rise-in-f35eb087{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-float-f35eb087{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(2deg)}}@keyframes mark-pulse-f35eb087{0%,to{box-shadow:0 24px 48px #2f6a4724}50%{box-shadow:0 28px 62px #2f6a4733}}.project-period[data-v-f35eb087]{animation:.42s both project-period-enter-f35eb087}.project-period[data-v-f35eb087]:nth-child(2){animation-delay:70ms}.project-period[data-v-f35eb087]:nth-child(3){animation-delay:.14s}.project-period[data-v-f35eb087]:nth-child(4){animation-delay:.21s}.closing-section[data-v-f35eb087]{border-radius:var(--radius-lg);background:#fffcf4b8;border:1px solid #d6a65e38;grid-template-columns:minmax(230px,.44fr) minmax(0,1fr);gap:34px;margin-top:34px;padding:42px;display:grid}.closing-section .eyebrow[data-v-f35eb087]{margin-bottom:16px}.about-copy[data-v-f35eb087]{gap:16px;display:grid}.about-copy p[data-v-f35eb087]{color:var(--color-heading);margin:0;font-size:clamp(1.12rem,2.1vw,1.48rem);line-height:1.72}@media (width<=960px){.profile-hero[data-v-f35eb087],.closing-section[data-v-f35eb087]{grid-template-columns:1fr}.skill-grid[data-v-f35eb087],.contact-grid[data-v-f35eb087]{grid-template-columns:repeat(2,minmax(0,1fr))}.project-period[data-v-f35eb087]{grid-template-columns:1fr}}@media (width<=1120px) and (width>=961px){.contact-links[data-v-f35eb087]{grid-template-columns:1fr;display:grid}}@media (width<=720px){.profile-page[data-v-f35eb087]{width:min(100% - 28px,680px);padding:36px 0}.code-atmosphere[data-v-f35eb087]{opacity:.16;grid-template-columns:1fr;width:160px;height:180px;inset:10px -12px auto auto}.code-column[data-v-f35eb087]:nth-child(2){display:none}.profile-hero[data-v-f35eb087]{gap:24px;min-height:auto}.hero-copy[data-v-f35eb087]{padding:22px 0 0}.timeline-item[data-v-f35eb087]{grid-template-columns:1fr;gap:16px;padding:24px}.section-heading[data-v-f35eb087]{display:block}.section-heading h2[data-v-f35eb087]{margin-top:14px}}@media (width<=560px){.profile-page[data-v-f35eb087]{width:min(100% - 24px,520px)}.code-atmosphere[data-v-f35eb087]{opacity:.12}.skill-grid[data-v-f35eb087],.contact-grid[data-v-f35eb087]{grid-template-columns:1fr}.profile-panel[data-v-f35eb087],.skill-card[data-v-f35eb087],.project-card[data-v-f35eb087],.project-period[data-v-f35eb087],.closing-section[data-v-f35eb087]{padding:24px}.project-card-head[data-v-f35eb087]{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.project-toggle[data-v-f35eb087]{grid-template-columns:1fr auto 1fr;justify-self:stretch;width:100%;min-width:100%;display:grid}.project-toggle span[data-v-f35eb087]{grid-column:2;min-width:auto}.project-toggle i[data-v-f35eb087]{grid-column:3;justify-self:end}.profile-panel[data-v-f35eb087]{min-height:420px}.profile-mark[data-v-f35eb087]{margin-bottom:54px}}@media (prefers-reduced-motion:reduce){.project-card[data-v-f35eb087],.project-toggle[data-v-f35eb087],.jump-button[data-v-f35eb087],.project-card p[data-v-f35eb087],.project-period[data-v-f35eb087],.hero-copy[data-v-f35eb087],.profile-panel[data-v-f35eb087],.panel-art[data-v-f35eb087],.profile-mark[data-v-f35eb087],.contact-item[data-v-f35eb087],.skill-card[data-v-f35eb087],.code-column[data-v-f35eb087],.fact-list span[data-v-f35eb087],.chip-list span[data-v-f35eb087]{transition:none;animation:none}.project-card[data-v-f35eb087]:hover,.project-toggle[data-v-f35eb087]:hover,.jump-button[data-v-f35eb087]:hover,.contact-item[data-v-f35eb087]:hover,.skill-card[data-v-f35eb087]:hover,.fact-list span[data-v-f35eb087]:hover,.chip-list span[data-v-f35eb087]:hover{transform:none}}
