@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";:root{--color-bg:#fafaf9;--color-surface:#fff;--color-primary:#1a1a1a;--color-secondary:#525252;--color-accent:#ef4444;--color-border:#e5e5e5;--color-input-bg:#f5f5f4;--font-display:"Fraunces", serif;--font-body:"Inter", sans-serif;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #0000000f;--shadow-lg:0 10px 15px -3px #00000014}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg)}.selector-wrapper{opacity:0;justify-content:center;align-items:center;min-height:100dvh;padding:20px;animation:.6s forwards fadeIn;display:flex}.cv-content{text-align:center;width:100%;max-width:1000px}.cv-content h1{font-family:var(--font-display);color:var(--color-primary);margin-bottom:10px;font-size:2.2rem}.cv-content p{color:var(--color-secondary);margin-bottom:40px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));justify-items:center;gap:30px;width:100%;display:grid}.card{background-color:var(--color-surface);width:100%;max-width:300px;box-shadow:var(--shadow-md);color:var(--color-primary);cursor:pointer;opacity:0;border-radius:12px;padding:25px;transition:transform .4s,box-shadow .4s,background-color .3s;animation:.6s forwards slideUp;transform:translateY(30px)}.card:first-child{animation-delay:.1s}.card:nth-child(2){animation-delay:.3s}.card:hover{background-color:#f0f0f0;transform:scale(1.05);box-shadow:0 15px 25px #00000026}.card h2{margin-bottom:10px;font-size:1.5rem}.card p{color:var(--color-secondary);margin-bottom:15px;font-size:.95rem}.btn{background-color:var(--color-accent);color:var(--color-surface);border:2px solid red;border-radius:6px;padding:10px 18px;text-decoration:none;transition:background-color .3s,transform .3s;display:inline-block}.btn:hover{background-color:#dc2626;transform:scale(1.05)}footer{border-top:1px solid var(--color-border);margin-top:3rem;padding-top:2rem}.contact-detail{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.contact-detail h5{font-family:var(--font-display);color:var(--color-primary);font-size:1.1rem;font-weight:600}.contact-detail p{font-family:var(--font-display);color:var(--color-secondary);font-size:.875rem}.contact-icon{gap:1rem;display:flex}.contact-icon a{background-color:var(--color-input-bg);border:1px solid var(--color-border);width:2.25rem;height:2.25rem;color:var(--color-secondary);border-radius:8px;justify-content:center;align-items:center;font-size:1.2rem;text-decoration:none;animation:3s ease-in-out infinite float,3s ease-in-out infinite floatShadow;display:flex}.contact-icon a:first-child{animation-delay:0s}.contact-icon a:nth-child(2){animation-delay:.4s}.contact-icon a:nth-child(3){animation-delay:.8s}.contact-icon a:nth-child(4){animation-delay:1.2s}.contact-icon a:hover{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:var(--shadow-md);animation-play-state:paused}.contact-icon a img{filter:invert(30%);width:1.2rem;height:1.2rem;transition:filter .2s}.contact-icon a:hover img{filter:brightness(0)invert()}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes floatShadow{0%,to{box-shadow:var(--shadow-md)}50%{box-shadow:var(--shadow-lg)}}@media (width<=768px){.cv-content h1{font-size:1.8rem}}@media (width<=480px){.cv-content h1{font-size:1.5rem}.card h2{font-size:1.3rem}.card p{font-size:.9rem}.btn{padding:8px 14px;font-size:.9rem}}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-primary);margin:0}h1,h2,h3,h4{margin:0}.cv-form-wrapper{background-color:var(--color-surface);max-width:900px;box-shadow:var(--shadow-lg);border-radius:12px;margin:2rem auto;padding:1.5rem;transition:transform .3s,box-shadow .3s}.cv-form-wrapper:hover{box-shadow:var(--shadow-lg), 0 8px 20px #0000001a;transform:translateY(-3px)}.cv-form{margin-bottom:2rem;transition:transform .2s}.cv-form:hover{transform:translateY(-2px)}.cv-form h2{font-family:var(--font-display);color:var(--color-primary);border-bottom:2px solid var(--color-border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.5rem}.cv-form input,.cv-form textarea{border:1px solid var(--color-border);background-color:var(--color-input-bg);width:100%;font-family:var(--font-body);border-radius:8px;margin-top:.25rem;margin-bottom:1rem;padding:.75rem;font-size:1rem;transition:all .3s}.cv-form input:focus,.cv-form textarea:focus{border-color:var(--color-accent);outline:none;transform:scale(1.02);box-shadow:0 0 0 3px #ef444433}.cv-form input:invalid{border-color:var(--color-accent);animation:.2s shake}textarea{resize:vertical;min-height:80px}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-2px)}50%{transform:translate(2px)}75%{transform:translate(-2px)}to{transform:translate(0)}}.cv-form button{background-color:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.75rem 1.5rem;font-weight:700;transition:transform .2s,box-shadow .2s}.cv-form button:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 4px 12px #0003}.cv-form .form-button{justify-content:flex-end;gap:1rem;display:flex}.btn-edit,.btn-download{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.75rem 1.5rem;font-weight:700;transition:transform .2s,box-shadow .2s}.cv-preview{background-color:var(--color-surface);max-width:900px;box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;gap:1rem;margin:2rem auto;padding:1.5rem;display:flex}.cv-preview h1{font-family:var(--font-display);text-align:center;font-size:2rem}.cv-preview h2{font-family:var(--font-display);color:var(--color-primary);font-size:1.25rem}.cv-preview p{color:var(--color-primary);margin:.25rem 0;font-size:1rem}.cv-preview hr{background-color:#000;border:none;height:2px}.cv-preview div{opacity:1;border-radius:8px;transition:transform .3s,opacity .3s;transform:translateY(0)}.details,.cv-contact{text-align:center;margin:.25rem 0;font-size:1rem}.preview-action,.preview-toolbar{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.work-preview-entry{margin-bottom:10px}.work-preview-header{justify-content:space-between;align-items:baseline;display:flex}.work-preview-title{font-size:1rem}.work-preview-date{white-space:nowrap;margin-left:16px;font-size:.9rem}.optional-preview-entry{margin-bottom:10px}.optional-preview-header{justify-content:space-between;align-items:baseline;display:flex}.optional-preview-title{font-size:1rem}.optional-preview-date{white-space:nowrap;margin-left:16px;font-size:.9rem}.optional-preview-desc{margin:4px 0 0;font-size:.9rem}.cv-points{margin-top:.5rem;padding-left:1.2rem}.work-points-list{color:var(--color-primary);margin-top:.5rem;padding-left:2rem}.skills-list{color:var(--color-primary);margin-top:.2rem;padding-left:1.2rem}.cv-skills-list,.option-preview-list,.cv-points{color:var(--color-primary);margin-top:.2rem;padding-left:2rem}@media (width<=768px){.cv-form-wrapper,.cv-preview{margin:1rem;padding:1rem}.cv-form h2{font-size:1.25rem}.cv-preview h1{font-size:1.5rem}.cv-form button{width:100%}}@media (width<=480px){.cv-form input,.cv-form textarea{padding:.5rem}.cv-form h2{font-size:1.1rem}.cv-preview h1{font-size:1.25rem}}@media print{.preview-toolbar,.preview-action{display:none}}
