@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8298327da6d5bcce-s.132ro2ak-rvxq.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0f~sf101j6mzi.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2b402d8aebffd579-s.0dskwooysu3cf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a88409fdd7dc121c-s.0ir_pxtv760h..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.0fzkl03jw-sdz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_142a8aea-module__QpsHNW__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_142a8aea-module__QpsHNW__variable{--font-ui:"Montserrat", "Montserrat Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.0vlx5hthn2t7i.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0zzh68k1~whtc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_7531671f-module__TMP4yG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_7531671f-module__TMP4yG__variable{--font-display:"Fraunces", "Fraunces Fallback"}
:root{--bg:#fff;--ink:#1c1c1c;--orange:#e07b1f;--orange-dark:#c96a12;--orange-darker:#b85f10;--muted:#4a4a4a;--line:#1c1c1c1f;--blush:#fdf3e7;--radius:12px;--space:clamp(1rem, 3vw, 2rem);--max:1400px;--u-interactive-ms:.3s;--u-type-h2:2rem;--u-type-h2-sm:1.35rem;--u-type-h3:1.35rem;--u-type-body:.92rem;--u-type-body-mobile:.82rem;--u-type-body-sm:.875rem;--u-type-ui:.7rem}@media (max-width:640px){:root{--space:.6rem;--u-type-h2:var(--u-type-h2-sm);--u-type-h3:1.12rem;--u-type-body:var(--u-type-body-mobile)}}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--ink);background:var(--bg);font-family:var(--font-ui), "Montserrat", system-ui, sans-serif;font-size:var(--u-type-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.5}*{box-sizing:border-box}a{color:inherit;transition:color var(--u-interactive-ms), opacity var(--u-interactive-ms);text-decoration:none}a:hover{color:var(--orange-dark)}.u-type-h2{font-family:var(--font-display), "Fraunces", Georgia, serif;font-size:var(--u-type-h2);margin:0 0 .75rem;font-weight:600;line-height:1.2}.u-type-h3{font-family:var(--font-display), "Fraunces", Georgia, serif;font-size:var(--u-type-h3);margin:0 0 .5rem;font-weight:600;line-height:1.25}.u-type-body-sm{font-size:var(--u-type-body-sm)}.u-type-ui{font-size:var(--u-type-ui);letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.u-text-accent{color:var(--orange)}.u-fw-semibold{font-weight:600}.btn{border-radius:var(--radius);font-family:inherit;font-size:var(--u-type-body-sm);cursor:pointer;transition:background var(--u-interactive-ms), color var(--u-interactive-ms), border-color var(--u-interactive-ms), box-shadow var(--u-interactive-ms);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-weight:600;display:inline-flex}.btn--primary{background:var(--orange-dark);color:#fff;border-color:var(--orange-darker)}.btn--primary:hover:not(:disabled){background:var(--orange-darker)}.btn--primary:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn--ghost:hover{border-color:var(--orange);color:var(--orange-dark)}.login-wrap{min-height:100vh;padding:var(--space);background:linear-gradient(160deg, var(--blush) 0%, var(--bg) 45%);justify-content:center;align-items:center;display:flex}.login-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:400px;padding:2rem;box-shadow:0 12px 40px #1c1c1c0f}.login-card .u-type-h2{margin-bottom:.35rem}.login-sub{color:var(--muted);font-size:var(--u-type-body-sm);margin:0 0 1.5rem}.login-field{margin-bottom:1rem}.login-field label{font-size:var(--u-type-body-sm);margin-bottom:.35rem;font-weight:600;display:block}.login-field input{border:1px solid var(--line);border-radius:var(--radius);width:100%;font-family:inherit;font-size:var(--u-type-body);color:var(--ink);background:var(--bg);transition:border-color var(--u-interactive-ms), box-shadow var(--u-interactive-ms);padding:.65rem .85rem}.login-field input:focus-visible{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px #e07b1f40}.login-error{border-radius:var(--radius);color:#8a2c0d;font-size:var(--u-type-body-sm);background:#fff4f0;border:1px solid #e0501f59;margin:0 0 1rem;padding:.65rem .85rem}.login-actions{margin-top:1.25rem}.login-actions .btn{width:100%}.admin-shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}@media (max-width:960px){.admin-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}}.admin-sidebar{padding:var(--space);border-right:1px solid var(--line);background:var(--blush)}@media (max-width:960px){.admin-sidebar{border-right:none;border-bottom:1px solid var(--line)}}.admin-brand{margin-bottom:1.5rem}.admin-brand .u-type-h3{margin:0}.admin-brand span{font-size:var(--u-type-ui);color:var(--muted);margin-top:.2rem;display:block}.admin-nav{flex-direction:column;gap:.35rem;display:flex}.admin-nav a{border-radius:calc(var(--radius) - 4px);font-weight:500;font-size:var(--u-type-body-sm);transition:background var(--u-interactive-ms), border-color var(--u-interactive-ms), color var(--u-interactive-ms);border:1px solid #0000;padding:.55rem .75rem;display:block}.admin-nav a:hover{color:var(--ink);background:#ffffffb3}.admin-nav a[data-active=true]{color:var(--orange-dark);border-color:var(--line);background:#fff}.admin-sidebar-footer{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}.admin-main{padding:var(--space);max-width:var(--max);width:100%}.admin-page-title{margin-bottom:1.25rem}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);overflow-x:auto}.submissions-table{border-collapse:collapse;width:100%;font-size:var(--u-type-body-sm)}.submissions-table th,.submissions-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.65rem .85rem}.submissions-table th{font-size:var(--u-type-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#fdf3e780}.submissions-table tr:last-child td{border-bottom:none}.submissions-table tbody tr.submissions-table__row{cursor:pointer;transition:background var(--u-interactive-ms)}.submissions-table tbody tr.submissions-table__row:hover{background:#fdf3e759}.submissions-table tbody tr.submissions-table__row:focus-visible{box-shadow:inset 0 0 0 2px var(--orange);background:#fdf3e780;outline:none}.status-badge{font-size:var(--u-type-ui);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.2rem .55rem;font-weight:600;display:inline-block}.status-new{color:#0b5cab;background:#e8f4ff}.status-in_progress{color:#a66b00;background:#fff6e5}.status-replied{color:#1a6b3c;background:#e8f8ef}.status-archived{color:#555;background:#f0f0f0}.status-spam{color:#a32020;background:#ffe8e8}.detail-grid{gap:1rem;max-width:720px;display:grid}.detail-block{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1rem}.detail-block dt{font-size:var(--u-type-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.25rem}.detail-block dd{white-space:pre-wrap;word-break:break-word;margin:0}.detail-back{color:var(--orange-dark);margin-bottom:1rem;font-weight:600;display:inline-block}.placeholder-card{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);max-width:520px;padding:2rem}.cv-create-form{gap:.75rem;margin-bottom:1rem;display:flex}.cv-editor-page{grid-template-columns:390px 1fr;align-items:start;gap:1rem;display:grid}@media (max-width:1200px){.cv-editor-page{grid-template-columns:1fr}}.cv-editor-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;max-height:calc(100vh - 7rem);padding:.9rem;overflow:auto}.cv-field-label{font-size:var(--u-type-ui);color:var(--muted);margin-bottom:.35rem;display:block}.cv-input{border:1px solid var(--line);width:100%;font-family:inherit;font-size:var(--u-type-body-sm);border-radius:10px;margin-bottom:.8rem;padding:.65rem .75rem}.cv-json{border:1px solid var(--line);border-radius:10px;width:100%;min-height:110px;margin-bottom:.8rem;padding:.65rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45}.cv-form-section{border-top:1px solid var(--line);padding-top:.75rem}.cv-form-section-title{font-size:var(--u-type-body-sm);margin-bottom:.5rem;font-weight:600}.cv-form-subsection-title{font-size:var(--u-type-ui);color:var(--muted);margin:1rem 0 .5rem;font-weight:600}.cv-checkbox-row{font-size:var(--u-type-body-sm);align-items:center;gap:.45rem;margin-bottom:.8rem;display:flex}.cv-group-card{border:1px solid var(--line);border-radius:10px;margin-bottom:.7rem;padding:.7rem}.cv-project-editor-card{border:1px dashed var(--line);border-radius:10px;margin-top:.5rem;padding:.65rem}.cv-skill-editor-list{gap:.4rem;display:grid}.cv-skill-editor-row{grid-template-columns:1fr auto;align-items:start;gap:.4rem;display:grid}.cv-remove-btn{padding:.5rem .7rem}.cv-remove-block-btn{margin-top:.2rem}.cv-editor-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem;display:flex}.cv-preview-shell{flex-direction:column;gap:.75rem;display:flex}.cv-toolbar{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .6rem;display:flex}.cv-toolbar-group{align-items:center;gap:.4rem;display:flex}.cv-icon-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:30px;height:30px}.cv-zoom-label{text-align:center;min-width:44px;font-size:var(--u-type-body-sm)}.cv-reset-btn{color:var(--muted);cursor:pointer;background:0 0;border:none}.cv-preview-scroll{border:1px solid var(--line);border-radius:var(--radius);background:#e0e0e0;min-height:70vh;padding:1rem;overflow:auto}.cv-preview-canvas{margin:0 auto}.cv-page{background:#fff;grid-template-columns:62mm 1fr;width:210mm;min-height:297mm;display:grid;box-shadow:0 4px 40px #0000001f}.cv-sidebar{background:#fdf3e7;border-right:1.5px solid #e07b1f40;flex-direction:column;gap:4.5mm;padding:7mm 5.5mm 7mm 6mm;display:flex}.cv-name-block{padding-bottom:3.5mm}.cv-name{font-family:var(--font-display), "Fraunces", serif;color:#1c1c1c;margin-bottom:2.5mm;font-size:20pt;font-weight:900;line-height:1.05}.cv-job-title{letter-spacing:.08em;text-transform:uppercase;color:#e07b1f;font-size:7pt;font-weight:600;line-height:1.5}.cv-sidebar-section{flex-direction:column;gap:1.1mm;display:flex}.cv-sidebar-label{letter-spacing:.1em;text-transform:uppercase;color:#e07b1f;border-bottom:.5px solid #e07b1f40;margin-bottom:1.5mm;padding-bottom:1mm;font-size:6.5pt;font-weight:600}.cv-contact-row{align-items:baseline;gap:3mm;display:flex}.cv-contact-row-label{color:#e07b1f;text-transform:uppercase;letter-spacing:.05em;min-width:14mm;font-size:6.5pt;font-weight:600}.cv-contact-row-value,.cv-contact-row-value a{color:#4a4a4a;font-size:7.5pt;line-height:1.5;text-decoration:none}.cv-lang-item{justify-content:space-between;margin-bottom:1.5mm;display:flex}.cv-lang-name{color:#1c1c1c;font-size:7.5pt;font-weight:500}.cv-lang-level{color:#888;font-size:6.5pt}.cv-edu-item{margin-bottom:3mm}.cv-edu-degree{color:#1c1c1c;font-size:7.5pt;font-weight:600;line-height:1.4}.cv-edu-school{color:#888;margin-top:.5mm;font-size:7pt}.cv-edu-date{color:#e07b1f;margin-top:.5mm;font-size:6.5pt}.cv-skill-group{margin-bottom:2.5mm}.cv-skill-group-name{color:#e07b1f;margin-bottom:1.5mm;font-size:7pt;font-weight:600}.cv-skill-tags{flex-wrap:wrap;gap:2px;display:flex}.cv-skill-tag{color:#4a4a4a;background:#e07b1f1a;border:.5px solid #e07b1f4d;border-radius:3px;padding:1.5mm 2.5mm;font-size:6.5pt;line-height:1.2}.cv-tagline{color:#1c1c1c8c;border-top:.5px solid #e07b1f33;margin-top:auto;padding-top:4mm;font-size:7.5pt;font-style:italic;line-height:1.6}.cv-main{padding:7mm 7mm 7mm 6.5mm}.cv-summary{margin-bottom:3.5mm;padding-bottom:3mm}.cv-summary-text{color:#4a4a4a;font-size:8pt;line-height:1.78}.cv-section{margin-bottom:3.5mm}.cv-section-title{letter-spacing:.12em;text-transform:uppercase;color:#e07b1f;border-bottom:1px solid #e07b1f;margin-bottom:2.2mm;padding-bottom:1mm;font-size:6.5pt;font-weight:600}.cv-employer{margin-bottom:3.2mm}.cv-employer-header{justify-content:space-between;margin-bottom:.75mm;display:flex}.cv-employer-name{font-family:var(--font-display), "Fraunces", serif;font-size:10.5pt;font-weight:700}.cv-employer-date{color:#1c1c1c;font-size:7pt}.cv-employer-type{color:#e07b1f;margin-bottom:.5mm;font-size:7pt;font-weight:600}.cv-employer-role{color:#888;margin-bottom:2mm;font-size:7pt}.cv-project{border-left:1.5px solid #e07b1f;margin-bottom:2.2mm;padding-left:3mm}.cv-project-header{justify-content:space-between;align-items:baseline;margin-bottom:1mm;display:flex}.cv-project-name{font-size:8pt;font-weight:600}.cv-project-meta{gap:4mm;margin-left:4mm;display:flex}.cv-project-date{color:#888;font-size:6.5pt}.cv-project-url{color:#e07b1f;font-size:6.5pt}.cv-project-desc{color:#4a4a4a;font-size:7.5pt;line-height:1.72}.cv-highlight{color:#1c1c1c;font-weight:600}.cv-refs-grid{grid-template-columns:1fr 1fr;gap:2mm 4mm;display:grid}.cv-ref-item{color:#4a4a4a;font-size:7pt;line-height:1.6}.cv-ref-name{color:#1c1c1c;font-weight:600}.cv-sidebar-references .cv-ref-item{color:#888;margin-bottom:2mm;font-size:7pt;line-height:1.4}.cv-sidebar-references .cv-ref-name{color:#1c1c1c;font-size:7.5pt;font-weight:600}
