:root{--paper:#f5f1eb;--paper-deep:#ece5dc;--ink:#201f1d;--muted:#68635e;--line:#201f1d3d;--wine:#6f0f1d;--wine-dark:#520914;--sage:#859080;--blush:#d9b6ad;--serif:"Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", Georgia, serif;--sans:"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;--page:min(1440px, calc(100% - 64px))}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{min-width:0;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--wine);outline-offset:4px}.page-enter{animation:.55s cubic-bezier(.22,1,.36,1) both pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.site-header{width:var(--page);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:86px;margin:0 auto;display:flex}.wordmark{letter-spacing:.08em;cursor:pointer;background:0 0;border:0;padding:0;font-family:Georgia,serif;font-size:21px}.header-actions{align-items:center;gap:18px;display:flex}.text-link,.plain-button,.back-button,.analysis-topbar button{cursor:pointer;text-underline-offset:6px;text-decoration:underline;-webkit-text-decoration-color:var(--wine);text-decoration-color:var(--wine);background:0 0;border:0;padding:5px 0}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .2s;display:grid}.icon-button:hover{background:#6f0f1d14}.welcome{flex-direction:column;min-height:100svh;display:flex}.welcome-grid{width:var(--page);border-bottom:1px solid var(--line);flex:1;grid-template-columns:.94fr 1.06fr;min-height:650px;margin:40px auto;display:grid}.welcome-copy{flex-direction:column;align-items:flex-start;padding:clamp(40px,7vw,105px) 7vw 50px 2.8vw;display:flex}.welcome-kicker{color:var(--muted);letter-spacing:.18em;margin:0 0 24px;font-family:Georgia,serif;font-size:11px}.welcome h1{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(54px,5.7vw,88px);font-weight:400;line-height:1.12}.accent-rule{background:var(--wine);width:64px;height:2px;margin:40px 0}.welcome-copy>p:not(.welcome-kicker){max-width:610px;margin:0 0 38px;font-size:clamp(17px,1.5vw,21px);line-height:1.75}.primary-button{border:1px solid var(--wine);background:var(--wine);color:#fffaf5;cursor:pointer;justify-content:center;align-items:center;gap:28px;min-height:54px;padding:0 28px;transition:background .2s,transform .2s;display:inline-flex}.primary-button:hover{background:var(--wine-dark);transform:translateY(-1px)}.quiet-meta{color:var(--muted);letter-spacing:.05em;margin-top:20px;font-size:14px}.study-overview{background:var(--paper-deep);border-left:1px solid var(--line);flex-direction:column;justify-content:center;min-height:650px;padding:clamp(52px,7vw,104px);display:flex}.study-overview>p{letter-spacing:.2em;text-transform:uppercase;margin:0 0 36px;font-size:12px;font-weight:600}.study-overview dl{border-top:1px solid var(--line);margin:0}.study-overview dl>div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:24px;padding:26px 0;display:grid}.study-overview dt{color:var(--muted);font-size:13px}.study-overview dd{font-family:var(--serif);margin:0;font-size:19px}.study-overview>span{color:var(--muted);margin-top:34px;font-size:13px;line-height:1.7}.welcome-footer{width:var(--page);min-height:70px;color:var(--muted);font-family:var(--serif);justify-content:space-between;align-items:center;margin:0 auto;font-size:14px;display:flex}.quiz{min-height:100svh;position:relative;overflow:hidden}.quiz-progress-wrap{width:var(--page);margin:44px auto 0}.progress-count{color:var(--muted);align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.progress-count strong{color:var(--wine);letter-spacing:.12em;font-family:Georgia,serif;font-size:22px;font-weight:400}.progress-track{background:var(--line);width:68%;height:1px;position:relative}.progress-track span{background:var(--wine);height:3px;transition:width .4s;position:absolute;inset:-1px auto auto 0}.question-layout{width:var(--page);grid-template-columns:minmax(0,1fr) 320px;align-items:stretch;gap:72px;margin:54px auto 0;display:grid}.question-content{max-width:980px}.question-number,.section-label,.result-index{text-transform:uppercase;letter-spacing:.25em;margin:0 0 24px;font-size:12px;font-weight:600}.question-content h2{max-width:930px;min-height:138px;font-family:var(--serif);letter-spacing:-.03em;margin:0 0 24px;font-size:clamp(36px,4vw,58px);font-weight:400;line-height:1.3}.choice-instruction{color:var(--wine);margin:-4px 0 20px;font-size:13px;font-weight:600}.choice-instruction.least-step{color:#525e4d}.options{border-top:1px solid var(--line)}.option{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:56px minmax(0,1fr) auto 34px;align-items:center;gap:18px;width:100%;min-height:72px;padding:14px 8px;font-size:17px;transition:color .18s,padding .18s,background .18s;display:grid}.option:hover{background:#ffffff52;padding-left:14px}.option.selected{color:var(--wine);border-bottom:2px solid var(--wine);font-weight:600}.option.selected-least{color:#525e4d;border-bottom:2px solid var(--sage);background:#85908014;font-weight:600}.option:disabled{cursor:default;opacity:.5}.option.selected-most:disabled{opacity:1}.option:disabled:hover{background:0 0;padding-left:8px}.option-letter{border-right:1px solid var(--line);font-family:Georgia,serif;font-size:22px}.option-arrow{opacity:0;transition:all .18s;transform:translate(-8px)}.option:hover .option-arrow,.option.selected .option-arrow{opacity:1;transform:none}.choice-tag{color:var(--wine);white-space:nowrap;border:1px solid #6f0f1d4d;padding:5px 8px;font-size:10px;font-style:normal;font-weight:500}.choice-tag.least{color:#525e4d;border-color:#525e4d59}.saved-answer-note{color:var(--muted);margin:18px 0 0;font-size:13px}.skip-button{color:var(--muted);border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;margin:13px 0 0;padding:4px 0;font-size:11px}.skip-button:disabled{opacity:.45;cursor:default}.skipped-note{color:var(--muted);margin:14px 0 0;font-size:12px}.question-nav{justify-content:space-between;align-items:center;gap:16px;min-height:54px;margin-top:18px;display:flex}.saved-actions{align-items:center;gap:14px;display:flex}.saved-actions .plain-button{margin:0}.back-button{align-items:center;gap:9px;display:inline-flex}.back-button:disabled{opacity:.3;cursor:default}.quiz-next-button{min-width:132px}.quiz-next-button:disabled{opacity:.55;cursor:wait}.quiz-side-note{background:var(--paper-deep);border-top:3px solid var(--wine);flex-direction:column;min-height:470px;padding:28px 30px 30px;display:flex;position:relative;overflow:hidden}.question-visual{flex:1;min-height:300px;position:relative}.question-visual>span{color:#201f1d61;letter-spacing:.16em;font-family:Georgia,serif;font-size:11px}.visual-mark{width:220px;height:220px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.visual-mark i{display:block;position:absolute}.quiz-side-caption{border-top:1px solid var(--line);padding-top:20px}.quiz-side-caption strong{font-family:var(--serif);font-size:22px;font-weight:400}.quiz-side-caption p{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.65}.visual-time .visual-ring{border:1px solid #6f0f1d6b;border-radius:50%;inset:21px}.visual-time .visual-hand{background:var(--wine);transform-origin:bottom;width:1px;height:68px;top:42px;left:110px;transform:rotate(38deg)}.visual-time .visual-block{background:#6f0f1deb;width:58px;height:82px;bottom:8px;right:9px}.visual-space .visual-grid{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);border:1px solid var(--line);background-size:44px 44px;inset:22px}.visual-space .visual-object{background:var(--wine);width:88px;height:118px;bottom:23px;right:25px;box-shadow:-12px 12px #6f0f1d1f}.visual-space .visual-line{background:var(--ink);width:96px;height:1px;top:72px;left:2px;transform:rotate(-28deg)}.visual-rest .visual-plate{border:1px solid #201f1d61;border-radius:50%;width:150px;height:150px;top:32px;left:18px;box-shadow:inset 0 0 0 28px #ffffff38}.visual-rest .visual-crescent{border:25px solid var(--wine);border-left-color:#0000;border-radius:50%;width:98px;height:98px;top:2px;right:2px;transform:rotate(-25deg)}.visual-rest .visual-dot{background:var(--ink);border-radius:50%;width:18px;height:18px;bottom:28px;right:29px}.visual-learning .visual-path{border:1px solid #201f1d57;border-right-color:#0000;border-radius:50%;width:154px;height:154px;top:22px;left:28px;transform:rotate(-22deg)}.visual-learning .visual-step{border:1px solid var(--wine);background:var(--paper-deep);width:28px;height:28px;transform:rotate(45deg)}.visual-learning .visual-step.one{bottom:30px;left:17px}.visual-learning .visual-step.two{background:var(--wine);top:96px;left:91px}.visual-learning .visual-step.three{top:17px;right:12px}.visual-people .visual-person{border:1px solid var(--wine);border-radius:50%;width:124px;height:124px;top:38px}.visual-people .visual-person.one{background:#6f0f1d1a;left:3px}.visual-people .visual-person.two{border-color:#201f1d80;right:3px}.visual-people .visual-bridge{background:var(--wine);width:72px;height:2px;bottom:22px;left:74px}.visual-change .visual-level{background:#6f0f1deb;width:48px;bottom:18px}.visual-change .visual-level.one{opacity:.34;height:46px;left:19px}.visual-change .visual-level.two{opacity:.66;height:94px;left:85px}.visual-change .visual-level.three{height:146px;right:19px}.visual-change .visual-orbit{border:1px solid #201f1d52;border-bottom-color:#0000;border-radius:50%;width:172px;height:172px;top:5px;left:24px;transform:rotate(18deg)}.quiz-hint{width:var(--page);border-top:1px solid var(--line);letter-spacing:.22em;color:var(--muted);margin:36px auto 0;padding:20px 0 26px;font-size:11px}.result-page{min-height:100svh}.portrait-hero{width:var(--page);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.35fr) .65fr;align-items:center;gap:72px;margin:42px auto 0;padding:34px 1.3vw 58px;display:grid}.portrait-copy h1{font-family:var(--serif);letter-spacing:-.05em;margin:0 0 8px;font-size:clamp(54px,6vw,90px);font-weight:400;line-height:1.08}.english-name{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-family:Georgia,serif;font-size:13px}.profile-context{color:var(--wine);margin:12px 0 0;font-size:13px}.mixed-type-tags{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.mixed-type-tags span{border:1px solid var(--line);color:#514d48;padding:7px 10px;font-size:12px}.result-rule{background:var(--line);max-width:590px;height:1px;margin:28px 0}.portrait-copy h2{max-width:720px;font-family:var(--serif);margin:0 0 22px;font-size:clamp(22px,2vw,30px);font-weight:400;line-height:1.5}.portrait-copy>p:last-child{color:#514d48;max-width:660px;font-family:var(--serif);margin:0;font-size:18px;line-height:1.9}.result-summary-card{background:var(--paper-deep);border-top:3px solid var(--wine);justify-self:stretch;padding:34px}.result-summary-card>p{letter-spacing:.18em;text-transform:uppercase;margin:0 0 24px;font-size:12px;font-weight:600}.result-summary-card dl{margin:0}.result-summary-card dl>div{border-top:1px solid var(--line);padding:18px 0}.result-summary-card dt{color:var(--muted);margin-bottom:7px;font-size:12px}.result-summary-card dd{font-family:var(--serif);margin:0;font-size:18px}.result-summary-card>span{color:var(--muted);margin-top:20px;font-size:11px;line-height:1.6;display:block}.traits-row{width:var(--page);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid}.trait{text-align:center;border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:12px;min-height:220px;padding:46px 5vw;display:flex}.trait:last-child{border-right:0}.trait-mark{color:var(--wine);letter-spacing:.1em;font-family:Georgia,serif;font-size:13px}.trait strong{font-family:var(--serif);font-size:23px;font-weight:400}.trait>span:last-child{color:var(--muted);font-family:var(--serif);font-size:14px}.expanded-portrait{width:var(--page);border-bottom:1px solid var(--line);background:#fff3;grid-template-columns:.5fr 1.5fr;margin:0 auto;padding:56px 8vw;display:grid}.expanded-portrait>div{max-width:760px;font-family:var(--serif);font-size:18px;line-height:1.9}.method-boundary{border-top:1px solid var(--line);color:var(--muted);font-family:var(--sans);padding-top:20px;font-size:12px}.result-actions{width:var(--page);justify-content:center;align-items:center;gap:16px;margin:0 auto;padding:42px 0 54px;display:flex}.outline-button{border:1px solid var(--wine);min-height:52px;color:var(--wine);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:10px;padding:0 24px;transition:background .2s;display:inline-flex}.outline-button:hover{background:#6f0f1d0f}.plain-button{-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);align-items:center;gap:8px;margin-left:12px;display:inline-flex}.result-footer{width:var(--page);border-top:1px solid var(--line);letter-spacing:.35em;justify-content:space-between;align-items:center;min-height:76px;margin:0 auto;font-family:Georgia,serif;display:flex}.result-footer button{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#201f1d8a;place-items:center;padding:24px;animation:.2s both fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.owner-gate,.about-modal{background:var(--paper);width:min(510px,100%);padding:54px;position:relative;box-shadow:0 28px 80px #00000038}.owner-gate h2,.about-modal h2{font-family:var(--serif);margin:18px 0 12px;font-size:36px;font-weight:400}.owner-gate p,.about-modal p{color:var(--muted);line-height:1.75}.owner-gate .security-note{border-left:2px solid var(--wine);color:#514d48;margin-top:12px;padding:10px 12px;font-size:12px}.owner-gate label{letter-spacing:.15em;margin:26px 0 8px;font-size:12px;display:block}.owner-gate input{border:1px solid var(--line);background:#fff6;width:100%;height:52px;margin-bottom:14px;padding:0 14px}.owner-gate .primary-button{width:100%;margin-top:10px}.form-error{color:var(--wine);margin-bottom:8px;font-size:12px;display:block}.modal-close{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:18px;right:18px}.about-modal .primary-button{margin-top:18px}.analysis-page{min-height:100svh;padding-bottom:54px}.analysis-topbar{background:var(--ink);height:68px;color:var(--paper);justify-content:space-between;align-items:center;padding:0 4vw;display:flex}.analysis-topbar button{color:inherit;-webkit-text-decoration-color:var(--blush);text-decoration-color:var(--blush);align-items:center;gap:8px;display:flex}.analysis-topbar span{letter-spacing:.12em;align-items:center;gap:8px;font-size:12px;display:flex}.analysis-heading{width:var(--page);border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:28px;margin:0 auto;padding:52px 0 38px;display:flex}.analysis-heading h1{font-family:var(--serif);margin:0 0 10px;font-size:55px;font-weight:400}.analysis-heading p:last-child{color:var(--muted);margin:0}.export-action{flex-direction:column;align-items:flex-end;gap:9px;display:flex}.export-action>span{max-width:280px;color:var(--muted);text-align:right;font-size:10px;line-height:1.5}.analysis-grid{width:var(--page);grid-template-columns:1fr 1fr;margin:0 auto;display:grid}.directions-panel{order:1}.affinity-panel{order:2}.dimensions-panel{order:3}.influence-panel{order:4}.analysis-section{border-bottom:1px solid var(--line);padding:42px 3.2vw 48px}.analysis-grid>.analysis-section:nth-child(odd){border-right:1px solid var(--line);padding-left:0}.analysis-grid>.analysis-section:nth-child(2n){padding-right:0}.analysis-section h2{font-family:var(--serif);margin:0 0 8px;font-size:29px;font-weight:400}.panel-note{color:var(--muted);margin:0 0 28px;font-size:12px;line-height:1.6}.decision-panel,.owner-input-panel{width:var(--page);margin:0 auto;padding-left:0;padding-right:0}.panel-heading{grid-template-columns:minmax(260px,.7fr) 1.3fr;align-items:end;gap:44px;margin-bottom:28px;display:grid}.panel-heading .section-label{margin-bottom:12px}.panel-heading p:last-child{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.decision-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.decision-card{background:var(--paper);min-height:330px;padding:30px}.decision-card>span{color:var(--wine);letter-spacing:.16em;font-size:11px;font-weight:600}.decision-card h3{min-height:54px;font-family:var(--serif);margin:20px 0 10px;font-size:22px;font-weight:400;line-height:1.4}.decision-card>p{min-height:66px;color:var(--muted);margin:0 0 24px;font-size:12px;line-height:1.7}.decision-card dl{margin:0}.decision-card dl>div{border-top:1px solid var(--line);padding:12px 0}.decision-card dt{color:var(--muted);margin-bottom:5px;font-size:10px}.decision-card dd{margin:0;font-size:12px;line-height:1.6}.decision-card.empty{background:var(--paper-deep)}.owner-form-grid{grid-template-columns:1fr 1fr;gap:56px;display:grid}.owner-form-grid h3{font-family:var(--serif);margin:0 0 18px;font-size:20px;font-weight:400}.evidence-group{margin-bottom:28px}.evidence-group h4{color:var(--wine);border-bottom:1px solid var(--line);letter-spacing:.1em;margin:0;padding:10px 0;font-size:11px;font-weight:600}.select-row{border-top:1px solid var(--line);grid-template-columns:minmax(150px,.75fr) 1.25fr;align-items:center;gap:18px;min-height:66px;display:grid}.select-row>span{font-size:13px}.select-row select{width:100%;min-width:0;height:38px;color:var(--ink);border:1px solid var(--line);background:#ffffff59;padding:0 30px 0 10px}.motive-row{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr auto;align-items:center;gap:14px;min-height:86px;display:grid}.motive-row>b{color:var(--wine);font-family:Georgia,serif;font-size:16px;font-weight:400}.motive-row strong{font-family:var(--serif);font-size:16px;font-weight:400}.motive-row p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.55}.motive-row>span{color:var(--wine);white-space:nowrap;font-size:11px}.stability-note{background:var(--paper-deep);margin-top:34px;padding:20px}.stability-note strong{font-family:var(--serif);font-size:15px;font-weight:400}.stability-note p{color:var(--muted);margin:7px 0 0;font-size:11px}.prior-panel ol{margin:0;padding:0;list-style:none}.prior-panel li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:54px;font-size:13px;display:flex}.prior-panel em{color:var(--muted);font-size:10px;font-style:normal}.dimension-row{margin-bottom:24px}.dimension-labels{font-family:var(--serif);justify-content:space-between;margin-bottom:9px;font-size:14px;display:flex}.dimension-track{background:linear-gradient(90deg, var(--sage), #ddd7cf 50%, var(--blush));height:5px;margin:0 8px;position:relative}.dimension-track i{background:var(--muted);width:1px;height:15px;position:absolute;top:-5px;left:50%}.dimension-track span{border:2px solid var(--paper);background:var(--wine);width:12px;height:12px;box-shadow:0 0 0 1px var(--wine);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.dimension-row p{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.5}.affinity-row{margin-bottom:19px}.affinity-row>div:first-child{font-family:var(--serif);justify-content:space-between;margin-bottom:7px;font-size:14px;display:flex}.affinity-row strong{color:var(--wine);font-family:var(--sans);font-size:11px;font-weight:500}.affinity-row>p{color:var(--muted);margin:0;font-size:11px}.affinity-track{background:#201f1d17;height:3px}.affinity-track span{background:var(--wine);height:100%;display:block}.direction-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 118px;align-items:start;gap:18px;min-height:82px;padding:18px 0;display:grid}.direction-row strong{font-family:var(--serif);font-size:17px;font-weight:400}.direction-row p{color:var(--muted);margin:6px 0 0;font-size:12px}.direction-row .evidence-note{color:var(--ink);font-size:10px}.direction-row .supporting-answer{border-left:1px solid var(--line);color:#514d48;padding-left:10px;font-size:10px;line-height:1.55}.direction-row .required-checks{font-size:10px;line-height:1.5}.direction-row>span{color:var(--wine);text-align:center;border:1px solid #6f0f1d4d;padding:5px 7px;font-size:10px;line-height:1.35}.empty-state{background:var(--paper-deep);border-left:3px solid var(--wine);padding:24px}.empty-state strong{font-family:var(--serif);font-size:17px;font-weight:400}.empty-state p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.7}.strategy-list{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.strategy-list h3{font-family:var(--serif);margin:0 0 14px;font-size:18px;font-weight:400}.strategy-list>div{margin-top:12px}.strategy-list strong{font-size:14px}.strategy-list p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.6}.influence-row{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr auto;align-items:center;gap:14px;min-height:95px;display:grid}.influence-row>b{color:var(--wine);font-family:Georgia,serif;font-size:22px;font-weight:400}.influence-row p{font-family:var(--serif);margin:0 0 6px;line-height:1.5}.influence-row span{color:var(--muted);font-size:11px}.influence-row em{color:var(--wine);letter-spacing:.08em;font-size:10px;font-style:normal}.analysis-disclaimer{width:var(--page);color:var(--muted);text-align:right;margin:26px auto 0;font-size:11px}.site-loading,.album-status{min-height:100svh;color:var(--muted);font-family:var(--serif);letter-spacing:.08em;place-items:center;display:grid}.birthday-login{background:var(--paper);place-items:center;min-height:100svh;padding:32px;display:grid}.birthday-login-shell{border:1px solid var(--line);grid-template-columns:minmax(390px,.78fr) minmax(0,1.22fr);width:min(1240px,100%);min-height:min(760px,100svh - 64px);display:grid;overflow:hidden;box-shadow:0 28px 90px #201f1d1c}.birthday-login-panel{background:var(--paper-deep);border-top:3px solid var(--wine);flex-direction:column;justify-content:center;padding:clamp(42px,5vw,76px);display:flex}.birthday-login-kicker{color:var(--muted);letter-spacing:.16em;align-items:center;gap:10px;font-family:Georgia,serif;font-size:10px;display:flex}.birthday-login-panel h1{font-family:Georgia, var(--serif);letter-spacing:-.05em;margin:42px 0 20px;font-size:clamp(48px,5vw,72px);font-weight:400;line-height:1.02}.birthday-login-panel>p{color:var(--muted);margin:0;line-height:1.75}.birthday-login-panel form{margin-top:36px}.birthday-login-panel label{letter-spacing:.14em;margin-bottom:9px;font-size:12px;display:block}.birthday-login-panel input{border:1px solid var(--line);background:#ffffff73;width:100%;height:54px;padding:0 15px}.birthday-login-panel .primary-button{width:100%;margin-top:16px}.birthday-login-panel .primary-button:disabled{opacity:.58;cursor:wait}.site-login-error{color:var(--wine);margin-top:9px;font-size:12px;display:block}.birthday-login-art{background:#efe8de;min-height:0;overflow:hidden}.birthday-login-art img{object-fit:cover;object-position:63% center;width:100%;height:100%;display:block}.birthday-home{flex-direction:column;min-height:100svh;display:flex}.birthday-home-header,.birthday-home-footer{width:var(--page);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:80px;margin:0 auto;display:flex}.birthday-home-header>span,.birthday-home-footer{letter-spacing:.12em;font-family:Georgia,serif}.birthday-home-header button,.album-header button,.album-empty>button{cursor:pointer;color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;display:inline-flex}.birthday-home-hero{width:var(--page);border-bottom:1px solid var(--line);flex:1;grid-template-columns:minmax(420px,.88fr) minmax(0,1.12fr);margin:34px auto;display:grid}.birthday-home-copy{flex-direction:column;justify-content:center;padding:clamp(42px,5vw,80px) clamp(34px,5vw,82px) 42px 0;display:flex}.birthday-edition{color:var(--muted);letter-spacing:.18em;margin:0 0 28px;font-family:Georgia,serif;font-size:10px}.birthday-home-hero h1{font-family:Georgia, var(--serif);letter-spacing:-.06em;margin:0;font-size:clamp(64px,7.2vw,112px);font-weight:400;line-height:.96}.birthday-home-hero .birthday-intro{max-width:610px;color:var(--muted);margin:30px 0 40px;font-size:16px;line-height:1.8}.birthday-entry-list{border-top:1px solid var(--line);width:100%}.birthday-entry-list>button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:20px;width:100%;min-height:104px;padding:18px 6px;transition:background .2s,padding .2s;display:grid}.birthday-entry-list>button:hover{background:#ffffff4d;padding-left:18px}.birthday-entry-list>button>span{border:1px solid var(--line);width:44px;height:44px;color:var(--wine);border-radius:50%;place-items:center;display:grid}.birthday-entry-list strong{font-family:var(--serif);font-size:21px;font-weight:400;display:block}.birthday-entry-list small{color:var(--muted);margin-top:9px;font-size:12px;display:block}.birthday-hero-art{background:var(--paper-deep);min-height:660px;margin:0;position:relative;overflow:hidden}.birthday-hero-art img{object-fit:cover;object-position:62% center;width:100%;height:100%;display:block;position:absolute;inset:0}.birthday-hero-art figcaption{color:#201f1d9e;letter-spacing:.12em;align-items:center;gap:14px;font-family:Georgia,serif;font-size:10px;display:flex;position:absolute;bottom:20px;left:24px;right:24px}.birthday-hero-art figcaption i{background:#201f1d47;flex:1;height:1px}.birthday-home-footer{border-top:1px solid var(--line);color:var(--muted);border-bottom:0;font-size:13px}.album-empty{flex-direction:column;min-height:100svh;padding:34px max(24px,5vw);display:flex}.album-empty>div{text-align:center;flex:1;place-content:center;max-width:760px;margin:0 auto;display:grid}.album-empty h1{font-family:var(--serif);margin:0 0 20px;font-size:clamp(52px,8vw,94px);font-weight:400}.album-empty p{color:var(--muted);margin:0;font-size:17px;line-height:1.8}.album-page{color:#f5f1eb;background:#171716;min-height:100svh;padding-bottom:26px}.album-header{border-bottom:1px solid #f5f1eb2e;grid-template-columns:1fr auto 1fr;align-items:center;min-height:74px;padding:0 3vw;display:grid}.album-header>div:nth-child(2){align-items:baseline;gap:16px;display:flex}.album-header strong{font-family:var(--serif);font-size:18px;font-weight:400}.album-header span{color:#f5f1eb94;letter-spacing:.12em;font-family:Georgia,serif;font-size:11px}.album-header button{color:#f5f1ebbf}.album-header-controls{justify-self:end;gap:5px;display:flex}.album-header-controls button{border-radius:50%;justify-content:center;width:40px;height:40px;padding:0}.album-header-controls button:hover{background:#ffffff14}.album-stage{grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;min-height:calc(100svh - 168px);padding:28px 2vw 10px;display:grid;position:relative}.album-frame{grid-template-rows:minmax(0,1fr) auto;justify-items:center;max-width:min(1100px,100%);height:min(72svh,820px);margin:0 auto;animation:.65s cubic-bezier(.22,1,.36,1) both albumReveal;display:grid}@keyframes albumReveal{0%{opacity:0;transform:scale(.985)}}.album-frame img,.album-frame video{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.album-frame.portrait{max-width:min(700px,100%)}.album-frame figcaption{color:#f5f1eb9e;justify-content:space-between;gap:24px;width:100%;min-height:48px;padding-top:14px;font-size:11px;display:flex}.album-frame figcaption p{text-align:right;max-width:560px;margin:0;line-height:1.6}.album-arrow{color:#f5f1eb;cursor:pointer;background:0 0;border:1px solid #f5f1eb38;border-radius:50%;justify-self:center;place-items:center;width:48px;height:48px;display:grid}.album-arrow:hover{background:#ffffff12}.album-progress{background:#f5f1eb33;width:calc(100% - 6vw);height:1px;margin:0 auto 14px}.album-progress span{background:#d9b6ad;height:2px;transition:width .4s;display:block}.album-thumbnails{scrollbar-width:thin;gap:7px;height:58px;margin:0 3vw;display:flex;overflow-x:auto}.album-thumbnails button{opacity:.48;cursor:pointer;background:0 0;border:1px solid #0000;width:50px;min-width:50px;height:50px;padding:0;transition:opacity .2s,border-color .2s}.album-thumbnails button.active{opacity:1;border-color:#d9b6ad}.album-thumbnails img{object-fit:cover;width:100%;height:100%}.analysis-nav-actions{align-items:center;gap:22px;display:flex}@media (width<=900px){:root{--page:min(100% - 38px, 720px)}.site-header{height:70px}.welcome-grid{grid-template-columns:1fr;margin-top:20px}.welcome-copy{padding:48px 8px 56px}.welcome h1{font-size:clamp(52px,15vw,78px)}.study-overview{border-left:0;order:2;min-height:auto;padding:48px}.question-layout{grid-template-columns:minmax(0,1fr);margin-top:38px}.quiz-side-note{display:none}.progress-track{width:100%}.question-content h2{min-height:0;margin-bottom:34px}.portrait-hero{grid-template-columns:1fr;gap:42px}.result-summary-card{max-width:420px}.analysis-grid{grid-template-columns:1fr}.analysis-section,.analysis-grid>.analysis-section:nth-child(odd),.analysis-grid>.analysis-section:nth-child(2n){border-right:0;padding:34px 0}.decision-panel,.owner-input-panel{padding-left:0;padding-right:0}.decision-grid{grid-template-columns:1fr}.decision-card,.decision-card h3,.decision-card>p{min-height:0}.birthday-login-shell{grid-template-columns:1fr;min-height:0}.birthday-login-panel{min-height:500px}.birthday-login-art{order:-1;height:280px}.birthday-home-hero{grid-template-columns:1fr;padding:0}.birthday-home-copy{padding:48px 0 54px}.birthday-home-hero h1{font-size:clamp(62px,15vw,96px)}.birthday-entry-list{width:100%}.birthday-hero-art{min-height:520px}.album-stage{grid-template-columns:52px minmax(0,1fr) 52px}}@media (width<=620px){:root{--page:calc(100% - 32px)}.wordmark{font-size:20px}.text-link{font-size:12px}.welcome-grid{min-height:auto}.welcome-copy{justify-content:center;min-height:575px}.welcome h1{font-size:52px}.welcome-copy>p:not(.welcome-kicker){font-size:18px}.study-overview{padding:38px 26px}.study-overview dl>div{grid-template-columns:96px 1fr;gap:16px}.welcome-footer{font-size:12px}.quiz-progress-wrap{margin-top:28px}.question-layout{margin-top:34px}.question-number{margin-bottom:16px}.question-content h2{font-size:32px;line-height:1.38}.option{grid-template-columns:38px minmax(0,1fr) auto;gap:10px;min-height:76px;padding:12px 2px;font-size:15px}.option-arrow{display:none}.option-letter{font-size:18px}.quiz-hint{margin-top:24px}.question-nav{align-items:flex-end}.saved-actions{flex-direction:column-reverse;align-items:flex-end;gap:10px}.choice-tag{padding:4px 6px;font-size:9px}.portrait-hero{margin-top:20px;padding:28px 0 46px}.portrait-copy h1{font-size:52px}.portrait-copy h2{font-size:21px}.portrait-copy>p:last-child{font-size:16px}.result-summary-card{max-width:none}.traits-row{grid-template-columns:1fr}.trait{border-right:0;border-bottom:1px solid var(--line);min-height:112px;padding:26px 20px}.trait:last-child{border-bottom:0}.expanded-portrait{grid-template-columns:1fr;padding:40px 20px}.result-actions{flex-direction:column;align-items:stretch}.result-actions .plain-button{justify-content:center;margin:8px 0 0}.owner-gate,.about-modal{max-height:calc(100svh - 32px);padding:44px 26px 32px;overflow-y:auto}.owner-gate h2,.about-modal h2{font-size:32px}.analysis-topbar{padding:0 16px}.analysis-topbar span{font-size:10px}.analysis-heading{flex-direction:column;align-items:stretch;padding:36px 0 28px}.analysis-heading h1{font-size:43px}.analysis-heading .outline-button{width:100%}.export-action{align-items:stretch;width:100%}.export-action>span{text-align:left;max-width:none}.direction-row{grid-template-columns:1fr}.direction-row>span{justify-self:start}.influence-row{grid-template-columns:28px 1fr;padding:15px 0}.influence-row em{grid-column:2}.panel-heading{grid-template-columns:1fr;align-items:start;gap:10px}.owner-form-grid{grid-template-columns:1fr;gap:40px}.select-row{grid-template-columns:1fr;gap:8px;padding:12px 0}.decision-card{padding:24px 20px}.motive-row{grid-template-columns:26px 1fr auto}.birthday-login{padding:0}.birthday-login-shell{min-height:100svh;box-shadow:none;border:0}.birthday-login-panel{min-height:0;padding:38px 24px 48px}.birthday-login-panel h1{margin-top:30px;font-size:48px}.birthday-login-art{height:190px}.birthday-home-header,.birthday-home-footer{min-height:64px}.birthday-home-hero{margin-top:16px}.birthday-home-copy{padding:34px 0 42px}.birthday-edition{margin-bottom:20px}.birthday-home-hero h1{font-size:58px}.birthday-home-hero .birthday-intro{margin:24px 0 30px;font-size:15px}.birthday-entry-list>button{grid-template-columns:46px minmax(0,1fr) 24px;gap:14px;min-height:110px}.birthday-entry-list>button>span{width:42px;height:42px}.birthday-entry-list strong{font-size:19px}.birthday-hero-art{min-height:340px}.birthday-hero-art figcaption{bottom:14px;left:16px;right:16px}.album-header{grid-template-columns:1fr auto;padding:0 16px}.album-header>div:nth-child(2){display:none}.album-stage{grid-template-columns:1fr;min-height:calc(100svh - 150px);padding:16px 12px 8px}.album-arrow{z-index:2;background:#1717168c;width:42px;height:42px;position:absolute;top:50%}.album-arrow.previous{left:14px}.album-arrow.next{right:14px}.album-frame{width:100%;height:min(72svh,720px)}.album-frame figcaption{padding:12px 4px 0}.album-thumbnails{margin:0 16px}.analysis-nav-actions{gap:12px}.analysis-nav-actions button:first-child{display:none}}@media (width<=360px){:root{--page:calc(100% - 24px)}.site-header{height:54px}.wordmark{font-size:17px}.quiz-progress-wrap{margin-top:14px}.progress-count{margin-bottom:6px}.progress-count strong{font-size:17px}.question-layout{margin-top:18px}.question-number{margin-bottom:10px;font-size:10px}.question-content h2{margin-bottom:14px;font-size:24px;line-height:1.34}.choice-instruction{margin-bottom:12px;font-size:11px;line-height:1.55}.option{gap:8px;min-height:60px;padding:8px 0;font-size:13px;line-height:1.45}.option-letter{font-size:16px}.choice-tag{white-space:normal;text-align:center;max-width:52px;line-height:1.25}.quiz-hint{display:none}.question-nav{margin-top:12px}.back-button,.saved-actions .plain-button{font-size:12px}.quiz-next-button{min-width:112px;padding:0 14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--folio-stone:#b9b1a6;--folio-paper:#f3eee6;--folio-paper-deep:#ebe4da;--folio-cloth:#262625;--folio-ink:#252321;--folio-muted:#6e6963;--folio-wine:#7a2530;--folio-line:#2a262233;--motion-press:90ms;--motion-fast:.16s;--motion-base:.24s;--motion-route:.32s;--motion-feature:.42s;--ease-enter:cubic-bezier(.16, 1, .3, 1);--ease-move:cubic-bezier(.22, 1, .36, 1)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.folio-entry,.folio-home,.folio-gallery{min-height:100svh;color:var(--folio-ink);background-color:var(--folio-stone);background-image:url(/assets/folio-stone-texture.webp);background-repeat:repeat;background-size:768px 768px}.folio-entry{place-items:center;padding:clamp(24px,5vw,72px);display:grid}.folio-entry-object{filter:drop-shadow(0 20px 24px #1c191629);width:min(940px,100%);height:min(520px,100svh - 96px);min-height:440px;position:relative}.folio-entry-sleeve{z-index:2;object-fit:fill;pointer-events:none;width:72%;height:100%;transition:transform var(--motion-base) var(--ease-move), opacity var(--motion-base) ease;position:absolute;inset:0 auto 0 0}.folio-entry-cover{z-index:3;color:#e9dfd2;pointer-events:none;width:54%;transition:transform var(--motion-base) var(--ease-move), opacity var(--motion-base) ease;flex-direction:column;padding:clamp(56px,7vw,92px) clamp(44px,6vw,76px);display:flex;position:absolute;inset:0 auto 0 4%}.folio-entry-cover h1{font-family:var(--serif);letter-spacing:-.04em;margin:52px 0 0;font-size:clamp(48px,5vw,68px);font-weight:400}.folio-entry-cover>p:not(.folio-entry-date){color:#f2eadfb8;margin:auto 0 0;font-size:14px}.folio-entry-date,.folio-entry-signature{color:#a96b70;letter-spacing:.18em;font-family:Georgia,serif;font-size:11px}.folio-entry-signature{color:#f2eadfa3;margin-top:42px}.folio-entry-insert{z-index:1;background-color:var(--folio-paper);width:46%;transition:transform var(--motion-feature) var(--ease-enter), opacity var(--motion-base) ease;background-image:url(/assets/folio-paper-texture.webp);background-repeat:repeat;background-size:768px 768px;align-items:center;padding:0 clamp(36px,4vw,58px) 0 clamp(72px,7vw,104px);display:flex;position:absolute;top:7%;bottom:7%;right:0;box-shadow:10px 12px 22px #211d191f}.folio-entry-insert form{width:100%}.folio-entry-insert label{color:var(--folio-muted);margin-bottom:12px;font-size:13px;display:block}.folio-entry-insert input{width:100%;height:50px;color:var(--folio-ink);font:17px var(--sans);background:#ffffff24;border:1px solid #7a253094;border-radius:0;padding:0 13px}.folio-entry-insert input:focus{outline:2px solid var(--folio-wine);outline-offset:3px}.folio-entry-error{color:var(--folio-wine);margin-top:10px;font-size:12px;line-height:1.5;display:block}.folio-entry-submit{border:0;border-bottom:2px solid var(--folio-wine);width:100%;min-height:56px;color:var(--folio-wine);font:500 17px var(--sans);cursor:pointer;transition:color var(--motion-fast), padding var(--motion-fast), opacity var(--motion-fast);background:0 0;border-radius:0;justify-content:space-between;align-items:center;margin-top:22px;padding:0 2px;display:flex}.folio-entry-submit:hover{padding-left:7px;padding-right:7px}.folio-entry-submit:disabled{opacity:.52;cursor:wait}.folio-entry.is-unsealing .folio-entry-sleeve,.folio-entry.is-unsealing .folio-entry-cover{opacity:.85;transform:translate(-18px)}.folio-entry.is-unsealing .folio-entry-insert{transform:translate(24px)}.folio-home{place-items:center;padding:clamp(24px,4vw,58px);display:grid;overflow:hidden}.folio-home-object{filter:drop-shadow(0 22px 28px #231f1b2b);transform-origin:50%;grid-template-columns:minmax(166px,.32fr) minmax(760px,2fr) minmax(168px,.38fr);width:min(1380px,100%);height:min(850px,100svh - 64px);min-height:680px;display:grid}.folio-home.is-opening .folio-home-object{animation:folioOpen .82s var(--ease-enter) both}.folio-home.is-opening .folio-home-letter>div,.folio-home.is-opening .folio-home-contents>*{animation:folioContent .42s var(--ease-enter) .43s both}@keyframes folioOpen{0%{opacity:.05;transform:translateY(18px)scale(.78)}48%{opacity:1;transform:translateY(0)scale(.94)}to{opacity:1;transform:none}}@keyframes folioContent{0%{opacity:0;transform:translateY(8px)}}.folio-home-spine,.gallery-spine{color:#eee4d7;position:relative;overflow:hidden}.folio-home-spine>img,.gallery-spine>img{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.folio-home-spine>span,.folio-home-spine>small{z-index:1;letter-spacing:.08em;font-family:Georgia,serif;position:absolute;left:15%}.folio-home-spine>span{font-size:16px;top:46%}.folio-home-spine>small{font-size:12px;bottom:12%}.folio-home-pages{background-color:var(--folio-paper);min-width:0;box-shadow:inset -1px 0 var(--folio-line);background-image:url(/assets/folio-paper-texture.webp);background-repeat:repeat;background-size:768px 768px;grid-template-columns:1fr 1.06fr;display:grid}.folio-home-letter,.folio-home-contents{align-items:center;min-width:0;display:flex}.folio-home-letter{border-right:1px solid var(--folio-line);padding:clamp(50px,4.6vw,68px)}.folio-home-letter h1{font-family:var(--serif);letter-spacing:-.055em;margin:0;font-size:clamp(52px,4.6vw,68px);font-weight:400;line-height:1.08}.folio-home-letter h1:focus{outline:none}.folio-home-letter p{color:var(--folio-muted);margin:46px 0 0;font-size:15px;line-height:1.85}.folio-home-letter i{background:var(--folio-wine);width:68px;height:2px;margin:36px 0 30px;display:block}.folio-home-letter time{color:var(--folio-wine);letter-spacing:.18em;font-family:Georgia,serif;font-size:11px}.folio-home-contents{flex-direction:column;justify-content:center;align-items:stretch;padding:clamp(54px,5vw,82px)}.folio-home-contents h2,.folio-home-index h2{font-family:var(--serif);margin:0;font-size:20px;font-weight:400}.folio-home-contents h2{border-bottom:1px solid var(--folio-line);padding-bottom:26px}.folio-home-contents nav>button{width:100%;min-height:168px;color:var(--folio-ink);border:0;border-bottom:1px solid var(--folio-line);text-align:left;cursor:pointer;transition:color var(--motion-fast), padding var(--motion-fast), background var(--motion-fast);background:0 0;border-radius:0;grid-template-columns:76px 1fr 32px;align-items:center;gap:18px;padding:30px 2px;display:grid}.folio-home-contents nav>button:hover{color:var(--folio-wine);background:#7a253006;padding-left:10px;padding-right:10px}.folio-home-contents nav b{color:var(--folio-wine);font:400 clamp(42px,4vw,58px) Georgia,serif}.folio-home-contents nav strong{font-family:var(--serif);font-size:clamp(20px,2vw,28px);font-weight:400;display:block}.folio-home-contents nav small{color:var(--folio-muted);margin-top:14px;font-size:13px;display:block}.folio-home-logout{color:var(--folio-muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:8px;margin-top:auto;padding:9px 0;display:inline-flex}.folio-home-index,.gallery-chapter-index{background-color:var(--folio-paper);border-left:1px solid var(--folio-line);background-image:url(/assets/folio-paper-texture.webp);background-repeat:repeat;background-size:768px 768px;min-width:0}.folio-home-index{padding:42px 28px 28px}.folio-home-index h2{border-bottom:1px solid var(--folio-line);padding-bottom:20px;font-size:14px}.folio-home-index ol{margin:0;padding:0;list-style:none}.folio-home-index li{border-bottom:1px solid var(--folio-line);padding:18px 0}.folio-home-index li span{letter-spacing:.08em;justify-content:space-between;align-items:baseline;gap:8px;font:10px Georgia,serif;display:flex}.folio-home-index li b{color:var(--folio-wine);font-size:15px;font-weight:400}.folio-home-index li img{aspect-ratio:4/2.6;object-fit:cover;width:100%;margin-top:12px}.folio-gallery{place-items:center;padding:clamp(18px,3vw,44px);display:grid}.gallery-book{filter:drop-shadow(0 22px 28px #231f1b2b);grid-template:"spine index"92px"spine pages"minmax(0,1fr)/clamp(136px,11vw,166px) minmax(0,1fr);width:min(1480px,100%);height:calc(100svh - clamp(36px,6vw,88px));min-height:0;margin:0 auto;display:grid}.gallery-spine{grid-area:spine}.gallery-spine>button{z-index:1;color:#eee4d7;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:8px 0;display:inline-flex;position:absolute;top:42px;left:28px}.gallery-spine>span{z-index:1;font:28px/1.2 Georgia,serif;position:absolute;top:50%;left:18%}.gallery-spine>span small{font-size:17px}.gallery-pages{background-color:var(--folio-paper);background-image:url(/assets/folio-paper-texture.webp);background-repeat:repeat;background-size:768px 768px;grid-area:pages;min-width:0;height:100%;min-height:0;overflow:hidden}.gallery-pages.mode-index{overflow-y:auto}.gallery-cover{grid-template-columns:.86fr 1.14fr;min-height:100%;display:grid}.gallery-cover>section{border-right:1px solid var(--folio-line);flex-direction:column;justify-content:center;padding:clamp(56px,6vw,96px);display:flex}.gallery-cover>section>span{color:var(--folio-wine);letter-spacing:.17em;font:10px Georgia,serif}.gallery-cover h1{font-family:var(--serif);letter-spacing:-.055em;margin:42px 0 28px;font-size:clamp(58px,5vw,72px);font-weight:400;line-height:1.02}.gallery-cover p{color:var(--folio-muted);margin:0;font-size:15px;line-height:1.8}.gallery-cover>section>div{gap:26px;margin-top:48px;display:flex}.gallery-cover>section button{min-height:48px;color:var(--folio-ink);border:0;border-bottom:1px solid var(--folio-ink);font:15px var(--sans);cursor:pointer;background:0 0;align-items:center;gap:12px;padding:0 2px;display:inline-flex}.gallery-cover>section button:first-child{color:var(--folio-wine);border-color:var(--folio-wine)}.gallery-cover figure{grid-template-rows:minmax(0,1fr) auto;min-width:0;margin:0;padding:clamp(54px,5vw,76px);display:grid}.gallery-cover figure img{object-fit:cover;width:100%;height:100%;min-height:0}.gallery-cover figcaption{color:var(--folio-muted);letter-spacing:.1em;padding-top:14px;font:11px Georgia,serif}.gallery-spread{height:100%;min-height:0;animation:galleryPageIn var(--motion-feature) var(--ease-enter) both;grid-template-columns:.44fr .56fr;display:grid}@keyframes galleryPageIn{0%{opacity:0;transform:translateY(12px)}}.gallery-spread-lead,.gallery-spread-support{min-width:0;min-height:0;padding:clamp(30px,4.2svh,48px)}.gallery-spread-lead{border-right:1px solid var(--folio-line);flex-direction:column;display:flex}.gallery-spread-lead header{margin-bottom:clamp(20px,3svh,30px)}.gallery-spread-lead header b{color:var(--folio-wine);font:400 clamp(46px,6.2svh,64px) Georgia,serif}.gallery-spread-lead header h1{font-family:var(--serif);letter-spacing:-.035em;margin:7px 0 12px;font-size:clamp(34px,4.5svh,46px);font-weight:400;line-height:1.12}.gallery-spread-lead header time{color:var(--folio-wine);letter-spacing:.035em;font:13px Georgia,serif}.gallery-spread-lead header i{background:var(--folio-wine);width:48px;height:2px;margin-top:clamp(14px,2.4svh,22px);display:block}.gallery-media-card{grid-template-rows:minmax(0,1fr) auto;align-self:stretch;min-width:0;min-height:0;margin:0;display:grid}.gallery-media-card figcaption{min-height:28px;color:var(--folio-muted);font:11px/1.4 var(--sans);letter-spacing:.015em;padding-top:9px}.gallery-media{width:100%;min-width:0;height:100%;min-height:0;color:inherit;cursor:zoom-in;background:#ffffffb8;border:1px solid #4c433a21;border-radius:0;padding:8px;display:block;position:relative;overflow:hidden;box-shadow:0 7px 18px #2e282214}.gallery-media img{object-fit:contain;width:100%;height:100%;transition:transform var(--motion-feature) var(--ease-move), opacity var(--motion-fast);display:block}.gallery-media:hover img{transform:scale(1.012)}.gallery-media:focus-visible{outline:2px solid var(--folio-wine);outline-offset:4px}.gallery-spread-lead>.gallery-media-card{flex:1 1 0;min-height:0}.gallery-video-mark{color:#f5f0e8;background:#201e1cd1;align-items:center;gap:7px;min-height:34px;padding:0 10px;font-size:11px;display:inline-flex;position:absolute;bottom:12px;right:12px}.gallery-spread-support{grid-template-rows:minmax(0,1fr) auto;gap:20px;display:grid}.gallery-support-media{min-width:0;min-height:0;display:grid;position:relative}.gallery-spread-support.count-2 .gallery-support-media{grid-template-rows:minmax(0,1fr) minmax(174px,.48fr);grid-template-columns:minmax(0,1fr) minmax(180px,.5fr);gap:clamp(18px,2.3vw,30px)}.gallery-spread-support.count-2 .gallery-media-card:first-child{grid-area:1/1/auto/-1}.gallery-spread-support.count-2 .gallery-media-card:nth-child(2){grid-area:2/2}.gallery-spread-support.count-1 .gallery-support-media{grid-template-columns:.38fr .62fr;align-items:center;gap:28px}.gallery-spread-support.count-1 .gallery-media-card{grid-column:2;max-height:82%}.gallery-mementos{pointer-events:none;grid-area:2/1;min-width:0;min-height:0;position:relative}.gallery-ticket{filter:drop-shadow(0 5px 7px #382f2729);width:min(250px,92%);position:absolute;bottom:8%;left:2%;transform:rotate(-3.5deg)}.gallery-date-stamp{opacity:.78;width:clamp(76px,7vw,104px);position:absolute;top:-12%;right:3%;transform:rotate(8deg)}.gallery-spread-support footer{min-height:48px;color:var(--folio-muted);justify-content:space-between;align-items:center;gap:20px;font-size:11px;display:flex}.gallery-spread-support footer>span{letter-spacing:.12em;font:11px Georgia,serif}.gallery-spread-support footer nav{align-items:center;gap:28px;display:flex}.gallery-spread-support footer button{min-width:78px;height:44px;color:var(--folio-ink);border:0;border-bottom:1px solid var(--folio-line);font:12px var(--sans);cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:0;display:inline-flex}.gallery-spread-support footer button:disabled{opacity:.25;cursor:default}.gallery-chapter-index{border-left:0;border-bottom:1px solid var(--folio-line);grid-area:index;grid-template-columns:minmax(234px,.34fr) minmax(0,1fr);align-items:stretch;gap:22px;width:100%;height:92px;min-height:0;padding:0 20px;display:grid;overflow:hidden}.gallery-index-tools{align-items:center;gap:8px;display:flex}.gallery-index-tools>button{min-height:42px;color:var(--folio-muted);border:1px solid var(--folio-line);font:11px var(--sans);white-space:nowrap;cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.gallery-index-tools>button.active{color:var(--folio-wine);border-color:var(--folio-wine)}.gallery-index-tools>.gallery-mute{border:0;width:40px;padding:0}.gallery-chapter-count{display:none}.gallery-chapter-index ol{grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;min-height:0;margin:0;padding:0;list-style:none;display:grid}.gallery-chapter-index li{min-height:0}.gallery-chapter-index li>button{width:100%;height:100%;min-height:0;color:var(--folio-ink);border:0;border-left:1px solid var(--folio-line);text-align:left;cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:10px;padding:0 10px;display:flex}.gallery-chapter-index li>button b{font:400 22px Georgia,serif}.gallery-chapter-index li>button strong{font-family:var(--serif);white-space:nowrap;font-size:15px;font-weight:400;display:block}.gallery-chapter-index li>button small{color:var(--folio-muted);letter-spacing:.09em;white-space:nowrap;margin-top:6px;font:9px Georgia,serif;display:block}.gallery-chapter-index li>button.active{color:var(--folio-wine);box-shadow:inset 0 -2px var(--folio-wine)}.gallery-contact-sheet{min-height:100%;padding:clamp(38px,5vw,72px)}.gallery-contact-sheet>header{border-bottom:1px solid var(--folio-line);max-width:720px;padding-bottom:34px}.gallery-contact-sheet>header>span{color:var(--folio-wine);letter-spacing:.18em;font:10px Georgia,serif}.gallery-contact-sheet h1{font-family:var(--serif);letter-spacing:-.045em;margin:16px 0 10px;font-size:clamp(42px,5vw,68px);font-weight:400}.gallery-contact-sheet>header p{color:var(--folio-muted);margin:0;font-size:14px}.gallery-contact-sheet>div>section{border-bottom:1px solid var(--folio-line);padding:42px 0}.gallery-contact-sheet h2{color:var(--folio-ink);font-family:var(--serif);justify-content:space-between;margin:0 0 22px;font-size:22px;font-weight:400;display:flex}.gallery-contact-sheet h2 span{color:var(--folio-muted);font:11px Georgia,serif}.gallery-contact-grid{grid-template-columns:repeat(4,1fr);align-items:start;gap:20px 14px;display:grid}.gallery-contact-grid .gallery-media{aspect-ratio:4/3}.gallery-contact-grid .gallery-media img{object-fit:cover}.gallery-contact-grid .gallery-media-card:nth-child(5n+1){grid-area:span 2/span 2}.gallery-contact-grid .gallery-media-card:nth-child(5n+1) .gallery-media{aspect-ratio:4/3}.gallery-lightbox{color:#f3eee6;background:#171716;border:0;width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:0}.gallery-lightbox::backdrop{background:#100f0edb}.gallery-lightbox-shell{place-items:center;height:100%;padding:76px 86px 40px;display:grid;position:relative}.gallery-lightbox header{z-index:2;border-bottom:1px solid #f3eee62e;justify-content:space-between;align-items:center;min-height:68px;padding:0 28px;display:flex;position:absolute;inset:0 0 auto}.gallery-lightbox header span{color:#f3eee6a8;letter-spacing:.1em;font:11px Georgia,serif}.gallery-lightbox header button{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.gallery-lightbox figure{max-width:min(1120px,100vw - 190px);height:calc(100svh - 132px);margin:0}.gallery-lightbox figure.portrait{max-width:min(720px,100vw - 190px)}.gallery-lightbox figure img,.gallery-lightbox figure video{object-fit:contain;width:100%;height:100%;display:block}.gallery-lightbox-arrow{z-index:2;width:48px;height:48px;color:inherit;cursor:pointer;background:#17171673;border:1px solid #f3eee63d;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%}.gallery-lightbox-arrow.previous{left:24px}.gallery-lightbox-arrow.next{right:24px}@media (width<=1080px){.folio-home-object{grid-template-columns:118px minmax(650px,1fr);overflow-x:auto}.folio-home-index{display:none}}@media (width>=761px) and (width<=1279px){.folio-gallery{padding:clamp(18px,2.5vw,30px)}.gallery-book{grid-template:"spine index""spine pages"minmax(0,1fr)/110px minmax(0,1fr);height:calc(100svh - clamp(36px,5vw,60px))}.gallery-spine{grid-area:spine}.gallery-spine>button{white-space:nowrap;gap:6px;font-size:13px;left:15px}.gallery-pages{grid-area:pages;height:auto}.gallery-chapter-index{border-left:0;border-bottom:1px solid var(--folio-line);grid-area:index;grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);align-items:center;gap:18px;width:100%;height:auto;padding:12px 18px;display:grid}.gallery-index-tools{gap:7px;display:flex}.gallery-index-tools>button{flex:1;min-width:0;min-height:42px}.gallery-index-tools>.gallery-mute{grid-column:auto;width:38px;min-width:38px;min-height:42px;font-size:0}.gallery-chapter-count{display:none}.gallery-chapter-index ol{grid-template-rows:1fr;grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;display:grid}.gallery-chapter-index li>button{border-bottom:0;border-left:1px solid var(--folio-line);grid-template-columns:25px minmax(0,1fr);gap:6px;height:54px;min-height:54px;padding:5px 9px}.gallery-chapter-index li>button b{font-size:18px}.gallery-chapter-index li>button strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.gallery-chapter-index li>button small{margin-top:4px;font-size:8px}.gallery-chapter-index li>button.active{border-bottom:2px solid var(--folio-wine)}}@media (width>=761px) and (width<=900px){.gallery-chapter-index{grid-template-columns:auto minmax(0,1fr);gap:10px;padding-left:12px;padding-right:12px}.gallery-index-tools>button{flex:0 0 42px;width:42px;padding:0;font-size:0}.gallery-index-tools>button svg{width:17px;height:17px}.gallery-chapter-index li>button{grid-template-columns:1fr;place-items:center;padding:5px 2px;display:grid}.gallery-chapter-index li>button span{display:none}}@media (width<=760px){.folio-entry,.folio-home,.folio-gallery{background-color:var(--folio-paper);background-image:url(/assets/folio-paper-texture.webp);background-size:768px 768px}.folio-entry{align-items:start;min-height:100svh;padding:18px}.folio-entry-object{filter:none;width:100%;height:calc(100svh - 36px);min-height:640px}.folio-entry-sleeve{object-fit:fill;width:100%;height:45%}.folio-entry-cover{width:86%;height:45%;padding:38px 34px;left:7%}.folio-entry-cover h1{margin-top:32px;font-size:46px}.folio-entry-cover>p:not(.folio-entry-date){margin-top:auto}.folio-entry-signature{margin-top:22px}.folio-entry-insert{align-items:flex-start;width:auto;padding:54px 30px 36px;inset:40% 12px 0;box-shadow:0 12px 22px #211d191a}.folio-entry-insert form{margin-top:34px}.folio-home{padding:0;display:block;overflow:visible}.folio-home-object{filter:none;width:100%;height:auto;min-height:100svh;display:block;overflow:visible}.folio-home-spine{background:var(--folio-cloth);height:70px}.folio-home-spine>img{object-fit:cover}.folio-home-spine>span{font-size:14px;top:26px;left:20px}.folio-home-spine>small{inset:27px 20px auto auto}.folio-home-pages{display:block}.folio-home-letter{border-right:0;border-bottom:1px solid var(--folio-line);min-height:390px;padding:54px 24px 42px}.folio-home-letter h1{font-size:clamp(48px,14vw,64px);line-height:1.04}.folio-home-letter p{margin-top:32px;font-size:14px}.folio-home-letter p br{display:none}.folio-home-letter i{margin:28px 0 22px}.folio-home-contents{padding:38px 24px 44px}.folio-home-contents nav>button{grid-template-columns:52px 1fr 26px;min-height:114px;padding:20px 0}.folio-home-contents nav b{font-size:34px}.folio-home-contents nav strong{font-size:21px}.folio-home-logout{margin-top:28px}.folio-home-index{border-top:1px solid var(--folio-line);border-left:0;padding:32px 24px 42px;display:block}.folio-home-index ol{grid-template-columns:repeat(5,minmax(112px,1fr));gap:12px;display:grid;overflow-x:auto}.folio-home-index li{border-bottom:0;min-width:112px}.folio-gallery{padding:0}.gallery-book{filter:none;grid-template:"spine""index""pages"/1fr;width:100%;height:auto;min-height:100svh;display:grid}.gallery-spine{background:var(--folio-cloth);grid-area:spine;height:64px}.gallery-spine>img{object-fit:cover}.gallery-spine>button{min-height:40px;top:12px;left:16px}.gallery-spine>span{font-size:17px;top:20px;left:auto;right:16px}.gallery-spine>span small{font-size:12px}.gallery-pages{grid-area:pages;height:auto;min-height:0;overflow:visible}.gallery-chapter-index{z-index:10;border-left:0;border-bottom:1px solid var(--folio-line);grid-area:index;width:100%;height:auto;min-height:0;padding:12px 16px 10px;display:block;position:sticky;top:0;overflow:hidden}.gallery-index-tools{display:flex}.gallery-index-tools>button{flex:1;min-width:0;min-height:40px}.gallery-index-tools>.gallery-mute{max-width:44px;min-height:40px;font-size:0}.gallery-chapter-count{display:none}.gallery-chapter-index ol{grid-template-rows:1fr;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:9px;display:grid;overflow:hidden}.gallery-chapter-index li{min-width:0}.gallery-chapter-index li>button{border-right:1px solid var(--folio-line);text-align:center;border-bottom:0;grid-template-columns:1fr;place-items:center;gap:2px;height:auto;min-height:58px;padding:6px 2px;display:grid}.gallery-chapter-index li>button b{font-size:17px}.gallery-chapter-index li>button strong{font-size:12px}.gallery-chapter-index li>button small{display:none}.gallery-chapter-index li>button.active{box-shadow:inset 0 -2px var(--folio-wine);border-bottom:0}.gallery-cover{display:block}.gallery-cover>section{border-right:0;border-bottom:1px solid var(--folio-line);padding:52px 24px 42px}.gallery-cover h1{margin:30px 0 24px;font-size:64px}.gallery-cover>section>div{margin-top:34px}.gallery-cover figure{height:540px;padding:24px}.gallery-spread{display:block}.gallery-spread-lead,.gallery-spread-support{padding:32px 20px}.gallery-spread-lead{border-right:0;border-bottom:1px solid var(--folio-line)}.gallery-spread-lead header h1{font-size:34px}.gallery-spread-lead>.gallery-media-card{min-height:0}.gallery-spread-lead>.gallery-media-card .gallery-media{aspect-ratio:4/5;height:auto}.gallery-spread-support{gap:12px;display:grid}.gallery-spread-support.count-1 .gallery-support-media,.gallery-spread-support.count-2 .gallery-support-media{grid-template-rows:auto;grid-template-columns:1fr 1fr;gap:12px;display:grid}.gallery-spread-support.count-1 .gallery-media-card,.gallery-spread-support.count-2 .gallery-media-card:first-child,.gallery-spread-support.count-2 .gallery-media-card:nth-child(2){grid-area:auto;width:100%;max-height:none}.gallery-spread-support.count-1 .gallery-media-card{grid-column:1/-1}.gallery-spread-support .gallery-media{aspect-ratio:4/5;height:auto}.gallery-spread-support .gallery-media-card.landscape .gallery-media{aspect-ratio:4/3}.gallery-mementos{display:none}.gallery-spread-support footer{margin-top:12px}.gallery-spread-support footer nav{gap:14px}.gallery-spread-support footer button{width:44px;min-width:44px}.gallery-spread-support footer button span{display:none}.gallery-contact-sheet{padding:40px 20px}.gallery-contact-grid{grid-template-columns:repeat(2,1fr);gap:16px 8px}.gallery-contact-grid .gallery-media-card:nth-child(5n+1){grid-column:span 2}.gallery-lightbox-shell{padding:74px 12px 22px}.gallery-lightbox header{padding:0 12px}.gallery-lightbox figure,.gallery-lightbox figure.portrait{width:100%;max-width:100%;height:calc(100svh - 118px)}.gallery-lightbox-arrow{background:#1717169e;width:44px;height:44px;top:50%}.gallery-lightbox-arrow.previous{left:8px}.gallery-lightbox-arrow.next{right:8px}}@media (prefers-reduced-motion:reduce){.folio-home.is-opening .folio-home-object,.folio-home.is-opening .folio-home-letter>div,.folio-home.is-opening .folio-home-contents>*,.gallery-spread{animation:none!important}}.birthday-card-stage{min-height:100svh;color:var(--folio-ink);background-color:var(--folio-stone);background-image:url(/assets/folio-stone-texture.webp);background-repeat:repeat;background-size:768px 768px;place-items:center;padding:clamp(24px,4vw,56px);display:grid;position:relative;overflow:hidden}.birthday-envelope-scene,.birthday-card-spread{grid-area:1/1}.birthday-envelope-scene{z-index:3;perspective:1200px;place-items:center;width:min(860px,92vw);display:grid}.birthday-envelope-trigger{aspect-ratio:3/2;width:min(790px,88vw);color:var(--folio-ink);cursor:pointer;text-align:left;transform-origin:50%;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:block;position:relative}.birthday-envelope-trigger:focus-visible{outline:2px solid var(--folio-wine);outline-offset:10px}.birthday-envelope-trigger:active{transform:scale(.995)}.birthday-envelope-trigger:disabled{cursor:default}.birthday-card-stage.is-loading .birthday-envelope-scene{opacity:0;pointer-events:none}.birthday-envelope-shadow{z-index:-1;filter:blur(20px);opacity:.72;background:#2a252033;border-radius:50%;height:20%;position:absolute;bottom:7%;left:10%;right:10%}.birthday-envelope-asset{object-fit:contain;pointer-events:none;width:100%;height:100%;transition:opacity .22s ease, transform .34s var(--ease-move);display:block;position:absolute;inset:0}.birthday-envelope-asset.is-sealed{z-index:1;opacity:1}.birthday-envelope-asset.is-open{z-index:2;opacity:0;transform:translateY(-2%)scale(.9)}.birthday-envelope-address{z-index:4;color:#443f39;pointer-events:none;transition:opacity .16s ease, transform .2s var(--ease-enter);flex-direction:column;display:flex;position:absolute;bottom:23%;left:18%}.birthday-envelope-address small{color:var(--folio-wine);letter-spacing:.22em;font:10px Georgia,serif}.birthday-envelope-address strong{font-family:var(--serif);letter-spacing:-.04em;margin-top:5px;font-size:clamp(34px,5vw,54px);font-weight:400}.birthday-envelope-address i{color:var(--folio-muted);letter-spacing:.16em;margin-top:7px;font:9px Georgia,serif}.birthday-envelope-postage{z-index:5;pointer-events:none;transform-origin:50%;width:clamp(86px,13vw,124px);transition:opacity .16s ease, transform .2s var(--ease-enter);position:absolute;top:15%;right:13%;transform:rotate(-2deg)}.birthday-envelope-postage>img{z-index:2;width:100%;display:block;position:relative}.birthday-postmark{z-index:1;color:#5d343894;flex-direction:column;align-items:center;gap:5px;width:112px;height:60px;display:flex;position:absolute;top:26%;right:96%;transform:rotate(5deg)}.birthday-postmark:before{content:"";border:1px solid;border-radius:50%;width:54px;height:54px;position:absolute;top:-8px;left:42px}.birthday-postmark b{z-index:1;letter-spacing:.08em;white-space:nowrap;font:8px Georgia,serif}.birthday-postmark i{background:currentColor;width:100%;height:1px;display:block}.birthday-envelope-seal{z-index:7;pointer-events:none;filter:drop-shadow(0 5px 5px #3b151933);transform-origin:50%;width:clamp(72px,7vw,76px);height:auto;transition:opacity .17s ease 70ms, transform .22s var(--ease-enter) 40ms;display:block;position:absolute;top:59%;left:50%;transform:translate(-50%,-50%)rotate(-2deg)}.birthday-envelope-open-label{z-index:6;min-width:92px;min-height:42px;color:var(--folio-wine);font:500 14px var(--sans);transition:opacity .16s ease, transform .16s var(--ease-enter);border-bottom:1px solid;justify-content:space-between;align-items:center;gap:18px;padding:0 2px 5px;display:flex;position:absolute;bottom:20%;right:18%}.birthday-envelope-trigger:hover .birthday-envelope-open-label{transform:translate(5px)}.birthday-card-stage.is-entering .birthday-envelope-trigger{animation:birthdayEnvelopeEnter .36s var(--ease-enter) both;will-change:transform, opacity}.birthday-card-stage.is-entering .birthday-envelope-postage{animation:birthdayStampEnter .23s var(--ease-enter) 70ms both}.birthday-card-stage.is-entering .birthday-postmark{animation:birthdayPostmarkEnter .22s var(--ease-enter) .12s both}.birthday-card-stage.is-entering .birthday-envelope-seal{animation:birthdaySealEnter .22s var(--ease-enter) .12s both}.birthday-card-stage.is-entering .birthday-envelope-open-label{animation:.1s .26s both birthdayContentReveal}.birthday-card-stage.is-opening .birthday-envelope-trigger{pointer-events:none}.birthday-card-stage.is-opening .birthday-envelope-trigger:focus-visible{outline:0}.birthday-card-stage.is-opening .birthday-envelope-asset.is-sealed{opacity:0;transform:translateY(2%)scale(.985)}.birthday-card-stage.is-opening .birthday-envelope-asset.is-open{opacity:1;transform:translateY(-2%)scale(.94)}.birthday-card-stage.is-opening .birthday-envelope-address,.birthday-card-stage.is-opening .birthday-envelope-postage,.birthday-card-stage.is-opening .birthday-envelope-open-label{opacity:0;transform:translateY(6px)}.birthday-card-stage.is-opening .birthday-envelope-seal{opacity:0;transform:translate(-50%,calc(-50% - 10px))scale(.96)rotate(-6deg)}.birthday-card-stage.is-opening .birthday-envelope-scene{pointer-events:none;animation:.4s cubic-bezier(.4,0,1,1) .34s both birthdayEnvelopeLeave}.birthday-card-stage.is-opened .birthday-envelope-scene{display:none}@keyframes birthdayEnvelopeEnter{0%{opacity:0;transform:translateY(24px)scale(.985)}to{opacity:1;transform:none}}@keyframes birthdayStampEnter{0%{opacity:0;transform:scale(.94)rotate(-4deg)}to{opacity:1;transform:scale(1)rotate(-2deg)}}@keyframes birthdayPostmarkEnter{0%{opacity:0;transform:translate(6px)rotate(5deg)}to{opacity:1;transform:translate(0)rotate(5deg)}}@keyframes birthdaySealEnter{0%{opacity:0;transform:translate(-50%,-47%)scale(.94)rotate(-4deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-2deg)}}@keyframes birthdayEnvelopeLeave{to{opacity:0;transform:translateY(14px)scale(.96)}}@keyframes birthdayContentReveal{0%{opacity:0;transform:translateY(8px)}}.birthday-card-spread{z-index:2;background-color:var(--folio-paper);opacity:0;transform-origin:50%;pointer-events:none;background-image:url(/assets/folio-paper-texture.webp);background-repeat:repeat;background-size:768px 768px;grid-template-columns:1.08fr .92fr;width:min(1080px,100vw - 64px);height:min(700px,100svh - 72px);min-height:620px;display:grid;position:relative;overflow:hidden;transform:translateY(38px)scale(.74);box-shadow:0 24px 42px #241f1b2e}.birthday-card-spread:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#332d2700,#332d270f,#fff3,#332d2700);width:34px;position:absolute;top:0;bottom:0;left:54%;transform:translate(-50%)}.birthday-card-stage.is-opening .birthday-card-spread{animation:birthdaySpreadOpen .62s var(--ease-enter) .28s both;will-change:transform, opacity}.birthday-card-stage.is-opened .birthday-card-spread{opacity:1;pointer-events:auto;transform:none}@keyframes birthdaySpreadOpen{0%{opacity:0;transform:translateY(38px)scale(.74)}to{opacity:1;transform:none}}.birthday-card-message,.birthday-card-choices{min-width:0;position:relative}.birthday-card-message{border-right:1px solid var(--folio-line);align-items:center;padding:clamp(54px,6vw,76px);display:flex}.birthday-card-message-inner{width:100%}.birthday-card-message h1{max-width:500px;font-family:var(--serif);letter-spacing:-.055em;margin:0;font-size:clamp(48px,5vw,64px);font-weight:400;line-height:1.1}.birthday-card-message h1:focus{outline:none}.birthday-card-greeting{max-width:430px;margin-top:44px}.birthday-card-greeting p{color:#57514b;margin:0 0 14px;font-size:15px;line-height:1.9}.birthday-card-greeting p:last-child{margin-bottom:0}.birthday-card-greeting .birthday-card-signature{color:var(--folio-ink);letter-spacing:.04em;margin-top:22px;font-family:Georgia,serif}.birthday-card-message footer{align-items:center;gap:18px;margin-top:42px;display:flex}.birthday-card-message footer i{background:var(--folio-wine);width:58px;height:1px}.birthday-card-message time{color:var(--folio-wine);letter-spacing:.17em;font:10px Georgia,serif}.birthday-card-choices{flex-direction:column;padding:clamp(44px,5vw,66px) clamp(38px,4.5vw,58px) 36px;display:flex}.birthday-card-choices nav{flex:1;grid-template-rows:1fr 1fr;display:grid}.birthday-card-choice{width:100%;min-height:0;color:var(--folio-ink);border:0;border-bottom:1px solid var(--folio-line);text-align:left;cursor:pointer;transition:color .16s ease, padding .16s var(--ease-enter), background .16s ease;background:0 0;border-radius:0;grid-template-columns:52px minmax(0,1fr) 28px;align-items:center;gap:16px;padding:26px 0;display:grid}.birthday-card-choice:first-child{border-top:1px solid var(--folio-line)}.birthday-card-choice:hover,.birthday-card-choice:focus-visible{color:var(--folio-wine);background:#7a253006;padding-left:8px;padding-right:8px}.birthday-card-choice:focus-visible{outline:2px solid var(--folio-wine);outline-offset:3px}.birthday-card-choice-number{color:var(--folio-wine);font:400 34px Georgia,serif}.birthday-card-choice-copy{min-width:0;display:block}.birthday-card-choice-copy small{color:var(--folio-wine);letter-spacing:.18em;margin-bottom:9px;font:9px Georgia,serif;display:block}.birthday-card-choice-copy strong{font-family:var(--serif);font-size:clamp(23px,2.6vw,31px);font-weight:400;line-height:1.15;display:block}.birthday-card-choice-copy p{color:var(--folio-muted);margin:13px 0 0;font-size:13px;line-height:1.7}.birthday-card-choice-copy em{color:currentColor;margin-top:14px;font-size:12px;font-style:normal;display:inline-block}.birthday-card-logout{min-height:40px;color:var(--folio-muted);font:12px var(--sans);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:7px;margin-top:14px;padding:0;display:inline-flex}.birthday-card-stage.is-opening .birthday-card-message-inner{animation:birthdayPageContent .17s var(--ease-enter) .59s both}.birthday-card-stage.is-opening .birthday-card-choice.is-year{animation:birthdayPageContent .14s var(--ease-enter) .68s both}.birthday-card-stage.is-opening .birthday-card-choice.is-gift{animation:birthdayPageContent .14s var(--ease-enter) .74s both}.birthday-card-stage.is-opening .birthday-card-logout{animation:birthdayPageContent .14s var(--ease-enter) .77s both}@keyframes birthdayPageContent{0%{opacity:0;transform:translateY(8px)}}@media (width<=760px){.birthday-card-stage{background-color:var(--folio-paper);background-image:url(/assets/folio-paper-texture.webp);place-items:start center;min-height:100svh;padding:16px;overflow:hidden auto}.birthday-envelope-scene{width:100%;min-height:calc(100svh - 32px)}.birthday-envelope-trigger{width:100%;max-width:540px}.birthday-envelope-address{bottom:21%;left:17%}.birthday-envelope-address strong{font-size:clamp(30px,11vw,46px)}.birthday-envelope-address i{display:none}.birthday-envelope-postage{width:clamp(66px,21vw,94px);top:14%;right:10%}.birthday-postmark{width:76px;height:45px;right:95%}.birthday-postmark:before{width:40px;height:40px;left:28px}.birthday-postmark b{font-size:6px}.birthday-envelope-seal{width:clamp(50px,15vw,56px);top:58.5%}.birthday-envelope-open-label{gap:10px;min-width:74px;min-height:38px;font-size:13px;bottom:18%;right:15%}.birthday-card-spread{width:100%;height:auto;min-height:calc(100svh - 32px);display:block;overflow:visible;transform:translateY(24px)scale(.92);box-shadow:0 12px 28px #241f1b1f}.birthday-card-spread:after{display:none}.birthday-card-message{border-right:0;border-bottom:1px solid var(--folio-line);min-height:405px;padding:50px 24px 38px}.birthday-card-message h1{font-size:clamp(42px,12vw,54px);line-height:1.08}.birthday-card-greeting{margin-top:34px}.birthday-card-greeting p{font-size:14px;line-height:1.8}.birthday-card-message footer{margin-top:30px}.birthday-card-choices{min-height:470px;padding:32px 20px 28px}.birthday-card-choice{grid-template-columns:42px minmax(0,1fr) 24px;gap:12px;min-height:194px;padding:22px 0}.birthday-card-choice-number{font-size:29px}.birthday-card-choice-copy strong{font-size:24px}.birthday-card-choice-copy p{font-size:13px}.birthday-card-stage.is-opening .birthday-card-spread{animation-duration:.46s;animation-delay:.24s}.birthday-card-stage.is-opening .birthday-card-message-inner{animation-delay:.52s}.birthday-card-stage.is-opening .birthday-card-choice.is-year{animation-delay:.6s}.birthday-card-stage.is-opening .birthday-card-choice.is-gift{animation-delay:.66s}.birthday-card-stage.is-opening .birthday-card-logout{animation-delay:.69s}.birthday-card-stage.is-opening .birthday-envelope-scene{animation-duration:.32s;animation-delay:.26s}}@media (prefers-reduced-motion:reduce){.birthday-card-stage *,.birthday-card-stage :before,.birthday-card-stage :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.birthday-card-stage.is-opened .birthday-envelope-scene{display:none}}
