@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&display=swap";:root{color:#1f1b17;background:#f4e8d8;font-family:Cormorant Garamond,Iowan Old Style,Palatino Linotype,Georgia,serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden}body{background:radial-gradient(circle at 30% -10%,#fbf2e4,#f4e8d8 45%,#eadcc9)}.app-shell{width:100%;height:100%;padding:1.7rem 1.35rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1.1rem}h1{margin:0;text-align:left;font-size:clamp(3.3rem,7.2vw,8.1rem);font-weight:500;letter-spacing:-.03em;line-height:.84;color:#1e1c1b}.tagline{margin:0;max-width:980px;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.18}.cards-row{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:1rem;margin-top:.2rem}.bottom-row{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:1rem;flex:0 0 auto}.social-card{width:100%;aspect-ratio:5 / 4;min-width:0;border-radius:16px;border:1px solid rgba(31,27,23,.18);background:#ffffff7a;box-shadow:0 8px 28px #1f1b1714;padding:.95rem;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:#1f1b17;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.social-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #1f1b171f;background:#ffffffb8}.social-card:focus-visible{outline:2px solid rgba(31,27,23,.42);outline-offset:3px}.card-brand{font-size:1.35rem;font-weight:600;letter-spacing:.01em}.card-title{font-size:1.44rem;line-height:1.05;letter-spacing:-.01em;overflow:hidden;text-wrap:balance}.contact-add{cursor:pointer;font:inherit;text-align:center;align-items:center;justify-content:center;gap:.3rem}.contact-plus{font-size:clamp(3.2rem,5vw,4rem);line-height:.82}.contact-label{font-size:1.18rem;font-weight:500}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f1b176b;display:grid;place-items:center;padding:1rem}.contact-modal{width:min(540px,100%);border-radius:14px;border:1px solid rgba(31,27,23,.2);background:#f7ecdc;box-shadow:0 20px 46px #1f1b1747;padding:1.05rem;display:grid;gap:.9rem}.contact-modal h2{margin:0;font-size:2rem;line-height:.95}.contact-modal p{margin:0;font-size:1.12rem;line-height:1.2}.contact-details{display:grid;gap:.45rem}.contact-details a{display:block;padding:.35rem .55rem;border-radius:10px;border:1px solid rgba(31,27,23,.2);color:inherit;text-decoration:none;background:#ffffff8f}.modal-actions{display:flex;gap:.5rem}.modal-actions a,.modal-actions button{border:1px solid rgba(31,27,23,.24);border-radius:10px;padding:.43rem .72rem;text-decoration:none;color:inherit;background:#ffffffb8;font:inherit;cursor:pointer}.bottom-card{width:100%;aspect-ratio:5 / 4;min-height:0;border-radius:16px;border:1px solid rgba(31,27,23,.18);background:#ffffff85;box-shadow:0 8px 28px #1f1b1714;overflow:hidden}.email-link-card{cursor:pointer;font:inherit;text-align:left}.email-link-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #1f1b171f;background:#ffffffb8}.email-link-card:focus-visible{outline:2px solid rgba(31,27,23,.42);outline-offset:3px}.email-link-card .card-title{overflow-wrap:anywhere;word-break:break-word}.about-card{grid-column:span 4;aspect-ratio:auto;min-height:0;padding:1rem 1.1rem;display:grid;gap:.45rem;align-content:start;color:#1f1b17}.about-card h2{margin:0;font-size:1.75rem;line-height:.95}.about-card p{margin:0;font-size:1.2rem;line-height:1.14}.email-modal{width:min(680px,100%)}.email-form{display:grid;gap:.75rem}.email-form label{display:grid;gap:.25rem;font-size:1.08rem}.email-form input,.email-form textarea{width:100%;border-radius:10px;border:1px solid rgba(31,27,23,.2);background:#ffffffdb;color:#1f1b17;font:inherit;padding:.45rem .6rem}.email-form textarea{min-height:150px;resize:vertical}@media (max-width: 980px){html,body,#root{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.app-shell{height:auto;min-height:100svh;padding:1.15rem .7rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));gap:.7rem}h1{font-size:clamp(2.6rem,8vw,4.1rem)}.tagline{font-size:clamp(1rem,4.4vw,1.22rem);line-height:1.2}.cards-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.1rem}.bottom-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.social-card,.contact-add{width:100%;aspect-ratio:11 / 10;padding:.7rem;border-radius:12px}.card-brand{font-size:1.1rem}.card-title{font-size:1.22rem}.email-link-card .card-title{font-size:1.05rem;line-height:1.08}.contact-label{font-size:1rem}.contact-modal h2{font-size:1.5rem}.contact-modal p{font-size:1rem}.bottom-card{width:100%;aspect-ratio:11 / 10;border-radius:12px}.about-card{grid-column:span 2;aspect-ratio:auto;min-height:200px}.email-modal{width:min(100%,96vw)}}
