:root{--color-navy: #0f2535;--color-bg: #c9c5c0;--color-bg-light: #d4d0cb;--color-text: #0f2535;--color-muted: #8a9ba8;--font-logo: "Quicksand", sans-serif;--font-body: "Montserrat", sans-serif;--nav-width: 220px;--site-pad: clamp(20px, 4vw, 60px);--content-gap: clamp(24px, 4vw, 60px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;color:var(--color-text);background-color:var(--color-bg);line-height:1.6;min-height:100dvh}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}ul,ol{list-style:none}input,textarea,button{font:inherit;color:inherit}.skip-link{position:absolute;top:-100%;left:1rem;padding:.5rem 1rem;background:var(--color-navy);color:var(--color-bg);font-size:.8125rem;font-weight:600;letter-spacing:.5px;z-index:1000;border-radius:0 0 4px 4px;transition:top .2s ease}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--color-navy);outline-offset:2px}.site{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;max-width:1400px;margin:0 auto}.site__header{padding:clamp(24px,3vw,40px) var(--site-pad) 0}.site__footer{padding:clamp(16px,2vw,24px) var(--site-pad);text-align:center;opacity:.5;font-size:.8rem}.site__body{display:grid;grid-template-columns:var(--nav-width) 1fr;gap:var(--content-gap);padding:0 var(--site-pad) clamp(40px,5vw,60px)}.main{padding-top:20px;min-width:0}.logo{display:inline-block;text-decoration:none}.logo__img{display:block;height:clamp(48px,6vw,72px);width:auto}.nav{display:flex;flex-direction:column;gap:12px;padding-top:20px}.nav__link{font-family:var(--font-body);font-weight:700;font-size:clamp(13px,1.2vw,15px);letter-spacing:1px;text-transform:uppercase;color:var(--color-navy);text-decoration:none;width:fit-content;position:relative;transition:opacity .2s ease}.nav__link:active{opacity:.6}.nav__link:focus-visible{outline:2px solid var(--color-navy);outline-offset:4px}.nav__link:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background-color:var(--color-navy);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav__link:hover:after{transform:scaleX(1)}.nav__link--active:after{transform:scaleX(1)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:clamp(12px,2vw,20px)}.project-card{display:flex;flex-direction:column;text-decoration:none;cursor:pointer}.project-card:hover .project-card__image img{transform:scale(1.05)}.project-card:active .project-card__image img{transform:scale(1);transition-duration:.1s}.project-card__image{position:relative;overflow:hidden;aspect-ratio:1;background-color:var(--color-bg-light)}.project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card__info{display:flex;flex-direction:column;gap:2px;padding:10px 2px}.project-card__title{font-weight:600;font-size:13px;letter-spacing:.5px;text-transform:uppercase;color:var(--color-navy)}.project-card__description{font-size:12px;line-height:1.5;color:var(--color-muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,50px);align-items:start}.about__portrait{width:100%;aspect-ratio:3 / 4;object-fit:cover;background-color:var(--color-bg-light)}.about__content{padding-top:10px}.about__title{font-family:var(--font-body);font-weight:700;font-size:clamp(15px,1.5vw,18px);letter-spacing:1px;text-transform:uppercase;margin-bottom:clamp(16px,2vw,24px)}.about__text{font-size:clamp(13px,1.2vw,14px);line-height:1.8;text-align:justify;hyphens:none;-webkit-hyphens:none}.about__text p+p{margin-top:20px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:start}.contact__form-section{max-width:100%;padding-top:4px}.contact__heading{font-family:var(--font-body);font-weight:300;font-size:clamp(22px,2.4vw,32px);letter-spacing:.5px;margin-bottom:clamp(32px,4vw,48px)}.contact__success{font-size:13px;color:var(--color-navy);background:#0f25350f;padding:12px 16px;margin-bottom:28px;letter-spacing:.2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}.form-group label{font-weight:500;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-muted)}.form-group input,.form-group textarea{width:100%;border:none;border-bottom:1px solid var(--color-navy);background:transparent;padding:8px 0;font-size:14px;outline:none;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{border-bottom-color:var(--color-muted)}.form-group textarea{resize:vertical;min-height:80px;border-bottom:1px solid var(--color-navy)}.contact__info{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12px;font-weight:400;letter-spacing:.8px;color:var(--color-muted)}.contact__info a{color:var(--color-text);transition:color .2s ease}.contact__info a:hover{color:var(--color-muted)}.contact__info-divider{color:var(--color-muted);font-weight:300}.contact__image{width:100%;aspect-ratio:3 / 4;object-fit:cover;background-color:var(--color-bg-light)}.form-submit{margin-top:8px}.form-submit button{background:var(--color-navy);color:var(--color-bg);border:none;padding:12px 40px;font-weight:500;font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:opacity .3s ease}.form-submit button:hover{opacity:.8}.splash-page{margin:0;overflow:hidden;background-color:var(--color-navy)}.splash{position:fixed;inset:0;z-index:1000;background-color:var(--color-navy);display:flex;align-items:center;justify-content:center;animation:splash-fade-out .8s ease 2.5s forwards;pointer-events:none}.splash--full{position:fixed;pointer-events:auto}.splash[data-hidden]{display:none}.splash__content{text-align:center}.splash__logo-img{height:clamp(80px,15vw,200px);width:auto;opacity:0;animation:splash-logo-in 1s ease .3s forwards}@keyframes splash-logo-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-fade-out{to{opacity:0;visibility:hidden}}.animate-in{opacity:0;transform:translateY(24px);animation:entrance .7s cubic-bezier(.22,1,.36,1) forwards}:root.no-project-return-fade .animate-in,:root.no-project-return-fade .animate-scale,:root.no-project-return-fade .animate-slide-left,:root.no-project-return-fade .animate-slide-right{animation:none!important;opacity:1!important;transform:none!important}.project-grid .project-card.animate-in{animation-play-state:paused}.project-grid[data-ready=true] .project-card.animate-in{animation-play-state:running}.project-grid .project-card--returning.animate-in{opacity:1;transform:none;animation:none}:root.no-project-return-fade::view-transition-old(page-content),:root.no-project-return-fade::view-transition-new(page-content){animation:none}.animate-in--d1{animation-delay:.08s}.animate-in--d2{animation-delay:.16s}.animate-in--d3{animation-delay:.24s}.animate-in--d4{animation-delay:.32s}.animate-in--d5{animation-delay:.4s}.animate-in--d6{animation-delay:.48s}.animate-in--d7{animation-delay:.56s}.animate-in--d8{animation-delay:.64s}.animate-slide-left{opacity:0;transform:translate(-30px);animation:entrance-left .7s cubic-bezier(.22,1,.36,1) forwards}.animate-slide-right{opacity:0;transform:translate(30px);animation:entrance-right .7s cubic-bezier(.22,1,.36,1) forwards}.animate-slide-left--d1,.animate-slide-right--d1{animation-delay:.15s}.animate-slide-left--d2,.animate-slide-right--d2{animation-delay:.3s}.animate-scale{opacity:0;transform:scale(.95);animation:entrance-scale .8s cubic-bezier(.22,1,.36,1) .1s forwards}@keyframes entrance{to{opacity:1;transform:translateY(0)}}@keyframes entrance-left{to{opacity:1;transform:translate(0)}}@keyframes entrance-right{to{opacity:1;transform:translate(0)}}@keyframes entrance-scale{to{opacity:1;transform:scale(1)}}::view-transition-image-pair(project-img-*){isolation:auto}::view-transition-old(project-img-*),::view-transition-old(project-title-*){animation:none!important;opacity:0}::view-transition-new(project-img-*),::view-transition-new(project-title-*){animation:none!important}::view-transition-old(page-content){animation:page-out .01s linear forwards}::view-transition-new(page-content){animation:page-in .16s linear forwards}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0}to{opacity:1}}.img-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-bg-light) 0%,#b8b3ae 50%,var(--color-bg-light) 100%);display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-size:12px;letter-spacing:1px;text-transform:uppercase}@media(max-width:1024px){:root{--nav-width: 160px}}@media(max-width:768px){:root{--nav-width: auto}.site__body{grid-template-columns:1fr;gap:16px}.nav{flex-direction:row;gap:20px;padding-top:0;flex-wrap:wrap}.about{grid-template-columns:1fr}.about__portrait{max-height:50vh;aspect-ratio:auto;height:auto;object-fit:contain}.about__text{text-align:left}.contact{grid-template-columns:1fr}.contact__image{max-height:50vh;aspect-ratio:auto;height:auto;object-fit:contain;order:-1}.form-row{grid-template-columns:1fr;gap:0}}@media(max-width:480px){.nav__link{font-size:13px}.project-grid{grid-template-columns:1fr 1fr}.project-card__image{aspect-ratio:3 / 4}.project-card__overlay{opacity:1;background:linear-gradient(to top,rgba(15,37,53,.5) 0%,transparent 40%)}.project-card__title{font-size:12px}.form-submit button{width:100%}}
