:root{--bg-color: #fff9f1;--text-color: #1a1a1a;--accent-color: #333;--font-main: "Outfit", sans-serif;--transition-speed: .6s}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);overflow-x:hidden;line-height:1.6}h1,h2,h3{font-weight:600;letter-spacing:-.03em}.hero{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;padding:2rem}.logo{font-size:8rem;font-weight:600;margin-bottom:.5rem;position:relative;display:inline-block}.copyright{font-size:2rem;vertical-align:super;font-weight:400}.subtitle{font-size:1.2rem;text-transform:uppercase;letter-spacing:.2em;margin-bottom:1rem;opacity:.8}.tagline{font-size:1rem;opacity:.6}.scroll-indicator{position:absolute;bottom:3rem;display:flex;flex-direction:column;align-items:center;gap:1rem;opacity:.6}.scroll-indicator .line{width:1px;height:60px;background-color:var(--text-color);animation:growLine 2s infinite ease-in-out;transform-origin:top}@keyframes growLine{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{transform:scaleY(0);transform-origin:bottom}}.portfolio-grid{padding:4rem 2rem;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:6rem}.portfolio-item{width:100%;cursor:pointer;transition:transform var(--transition-speed) cubic-bezier(.22,1,.36,1)}.portfolio-item:hover{transform:translateY(-10px)}.image-slot{width:100%;aspect-ratio:16/9;background-color:#e6e0d8;border-radius:12px;display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative;margin-bottom:1.5rem;transition:all .4s ease}.portfolio-item:hover .image-slot{box-shadow:0 20px 40px #0000000d}.placeholder-text{font-size:2rem;color:#0000001a;font-weight:800;text-transform:uppercase;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.item-info{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid rgba(0,0,0,.1);padding-top:1rem}.item-info h2{font-size:1.5rem;font-weight:400}.item-info p{font-size:.9rem;opacity:.6}.footer{padding:6rem 2rem;text-align:center;border-top:1px solid rgba(0,0,0,.05);margin-top:4rem}.footer-logo{font-size:3rem;margin-bottom:1rem}.contact-link{display:inline-block;margin:2rem 0;font-size:1.5rem;color:var(--text-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s}.contact-link:hover{border-color:var(--text-color)}.copyright-text{font-size:.8rem;opacity:.5}.fade-in-up{opacity:0;transform:translateY(30px);animation:fadeInUp 1s cubic-bezier(.22,1,.36,1) forwards}.fade-in-delay{opacity:0;animation:fadeIn 1s ease forwards .5s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:.6}}.scroll-reveal{opacity:0;transform:translateY(50px);transition:all 1s cubic-bezier(.22,1,.36,1)}.scroll-reveal.active{opacity:1;transform:translateY(0)}@media (max-width: 768px){.logo{font-size:5rem}.portfolio-grid{gap:4rem}.image-slot{aspect-ratio:4/3}}.modal{display:none;position:fixed;z-index:1000;padding-top:50px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000000e6;opacity:0;transition:opacity .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal.show{display:block;opacity:1}.modal-content{margin:auto;display:block;width:auto;max-width:90%;max-height:80vh;object-fit:contain;border-radius:4px;transform:scale(.9);transition:transform .3s cubic-bezier(.22,1,.36,1);box-shadow:0 20px 50px #00000080}.modal.show .modal-content{transform:scale(1)}#caption{margin:auto;display:block;width:80%;max-width:700px;text-align:center;color:#ccc;padding:20px 0;font-size:1.2rem;font-weight:300}.close{position:absolute;top:20px;right:30px;color:#f1f1f1;font-size:40px;font-weight:300;transition:.3s;cursor:pointer;z-index:1001;line-height:1}.close:hover,.close:focus{color:#fff;transform:rotate(90deg)}body.modal-open{overflow:hidden}
