@import 'https://fonts.googleapis.com/css2?family=Castoro:ital@0;1&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Source+Code+Pro:ital@0;1&display=swap';pre,code,kbd,samp{font-family:source code pro,monospace;font-optical-sizing:auto;font-weight:400;font-style:normal}h1,h2,h3{font-family:castoro,serif;font-weight:400;font-style:normal}h4,h5,h6{font-family:castoro,serif;font-weight:400;font-style:italic}body,p,li,dt,dd{font-family:nunito sans,sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal;font-variation-settings:"wdth" 100,"YTLC" 500}:root{--max-page-width:52rem;--content-width:90%;--top-margin:90px}body{max-width:var(--max-page-width);margin:var(--top-margin)auto 0;width:100vw;box-sizing:border-box}p{margin-bottom:1.5rem}@media(max-width:700px){body{max-width:100vw;width:100vw;padding:0}header .title h1{font-size:1.1rem;font-weight:700;vertical-align:baseline}header nav a{text-decoration:none;color:var(--body-color);font-weight:600;font-size:.8em}}main{width:var(--content-width);margin:0 auto}.hero{width:100vw;margin-left:50%;transform:translateX(-50%);background:linear-gradient(to bottom,var(--bg-color) 100%,rgba(0,0,0,.1) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px;position:relative;overflow:hidden}.hero-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.25}.hero-content{position:relative;z-index:1;text-align:center;padding:3rem 1rem}.hero-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.hero-subtitle{font-size:1.3rem;margin-bottom:2rem}.hero-cta{display:inline-block;background:var(--highlight1);color:#fff;font-weight:700;padding:.8em 2em;border-radius:2em;text-decoration:none;font-size:1.1rem;box-shadow:0 2px 8px rgba(0,0,0,8%)}.hero-cta:hover{background:var(--highlight2)}.cta{background:var(--highlight1);color:#fff;max-width:12em;font-weight:700;padding:.8em 2em;border-radius:2em;text-decoration:none;font-size:1.1rem;box-shadow:0 2px 8px rgba(0,0,0,8%);display:flex;justify-content:center;align-items:center;transition:background .2s;margin-left:auto;margin-right:auto}.cta a{color:inherit;text-decoration:none;font-weight:700;display:block;width:100%;text-align:center}.cta:hover{background:var(--highlight2)}header{position:fixed;z-index:2;top:0;left:0;width:100%;height:var(--top-margin);background-color:var(--bg-level-1);color:var(--body-color);display:flex;align-items:top;justify-content:space-between;box-shadow:0 2px 4px rgba(0,0,0,.1)}header .title{margin-right:auto;padding:1em}header .title h1{font-size:1.5rem;font-weight:700;vertical-align:baseline}header nav a{text-decoration:none;color:var(--body-color);font-weight:600}header nav a:hover{text-decoration:none;color:var(--highlight1);font-weight:600}header nav ul{gap:1.5em;display:flex;list-style:none;padding:1em}header nav li{display:inline-block}.cards{display:flex;flex-wrap:wrap;gap:1.5em;justify-content:center;align-items:center;margin-top:2em}.cards ul{padding:0}.cards>ul>li{background:linear-gradient(to bottom,var(--bg-level-1),var(--bg-level-2));padding:1.5em;border-radius:.5em;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-bottom:2em;list-style:none}.cards>ul>li>strong{display:block;font-size:1.5rem;font-weight:600;margin-bottom:.5em;font-family:castoro,serif;font-weight:400;font-style:italic;color:var(--highlight1);text-align:center}#contact{position:relative;width:100vw;left:50%;transform:translateX(-50%);background:linear-gradient(to bottom,var(--bg-color) 100%,rgba(0,0,0,8%) 100%);overflow:hidden;margin-top:3em;margin-bottom:3em}#contact::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:url(/images/contact-bg.jpg)50%/cover no-repeat;opacity:.18;z-index:0}#contact>*{position:relative;z-index:1}#contact h2{text-align:center;font-size:2.5rem;font-weight:700}#contact .contact-content{max-width:var(--max-page-width);width:100%;margin:0 auto;display:flex;gap:3em;justify-content:space-between;align-items:flex-start;padding:3em 1em;box-sizing:border-box}#contact .contact-details{flex:1 1 40%;min-width:260px;margin-bottom:2em}#contact .contact-details h3{margin-top:0}#contact .con-info{display:flex;align-items:center;gap:.8em;margin-bottom:1.2em;font-size:1.1rem}#contact .con-info i{font-size:1.4em;color:var(--highlight1)}#contact .form-section{flex:1 1 50%;min-width:300px;background:rgba(255,255,255,.92);border-radius:.7em;box-shadow:0 2px 8px rgba(0,0,0,7%);padding:2em 1.5em;margin-bottom:2em;box-sizing:border-box}#contact form{display:flex;flex-direction:column;gap:1.2em}#contact .form-group input,#contact .form-group textarea{width:100%;box-sizing:border-box;padding:.8em;border:1px solid #ddd;border-radius:.3em;font-size:1rem;background:#fafbfc;transition:border .2s}#contact .form-group input:focus,#contact .form-group textarea:focus{border-color:var(--highlight1);outline:none}#contact #cf-submit{margin-top:.5em}#contact button[type=submit]{background:var(--highlight1);color:#fff;border:none;border-radius:2em;padding:.7em 2em;font-size:1.1rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,8%);transition:background .2s,color .2s,opacity .3s}#contact button[type=submit]:disabled{background:var(--bg-level-1);color:#aaa;opacity:.7;cursor:not-allowed;transition:background .3s,color .3s,opacity .3s}#contact button[type=submit]:hover{background:var(--highlight2)}#contact #response{color:var(--highlight1);font-weight:500;opacity:0;max-height:0;overflow:hidden;margin:0;padding:0;transition:opacity 500ms,max-height 500ms;display:block}#contact #response:not(:empty){opacity:1;max-height:100px}@media(max-width:900px){#contact .contact-content{flex-direction:column;gap:2em;padding:2em .5em}#contact .form-section,#contact .contact-details{min-width:0;width:100%;margin-bottom:1.5em}}.project-list{margin-top:2em}.project-item,.project-header{display:flex;gap:1.5em;margin-bottom:2.5em;padding-bottom:2em;border-bottom:1px solid #ddd;clear:both}.project-item:last-child{border-bottom:none}.project-image{float:left;flex-shrink:0;width:256px;height:256px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;border-radius:4px}.project-image img.placeholder{background-color:#f0f0f0;display:flex;align-items:center;justify-content:center}.project-info{flex:1;min-width:0}.project-info h2{margin-top:0;margin-bottom:.5em}.project-info h2 a{text-decoration:none;color:inherit}.project-info h2 a:hover{text-decoration:underline}.project-client,.project-when{margin:.3em 0;font-size:.95em}.project-description{margin-top:1em;line-height:1.6}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:3em;padding:1.5em 0;border-top:2px solid #ddd}.pagination-prev,.pagination-next{padding:.5em 1em;background-color:#007bff;color:#fff;text-decoration:none;border-radius:4px;font-weight:600;transition:background-color .3s}.pagination-prev:hover,.pagination-next:hover{background-color:#0056b3}.pagination-info{font-weight:600;color:#666}@media(max-width:700px){.project-item{flex-direction:column;gap:1em}.project-image{float:none;width:100%;max-width:256px;margin:0 auto}.pagination{flex-direction:column;gap:1em;text-align:center}}