:root{--page-bg:#e8dfd5;--card-bg:#ffffff;--text:#545454;--heading:#000000;--muted:#646464;--btn-bg:#2d2d2d;--btn-bg-hover:#000000;--border:#f1f1f1;--input-bg:#fafafa;--max-width:46rem}@font-face{font-family:lato;src:url(/fonts/Lato-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:lato;src:url(/fonts/Lato-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:lato;src:url(/fonts/Lato-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:montserrat;src:url(/fonts/Montserrat-Variable.ttf)format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:caveat;src:url(/fonts/Caveat-Variable.ttf)format("truetype-variations");font-weight:400 700;font-style:normal;font-display:swap}*{box-sizing:border-box}body{margin:0;background:var(--page-bg);color:var(--text);font-family:lato,-apple-system,BlinkMacSystemFont,segoe ui,sans-serif;font-size:15px;line-height:1.7}.page-wrap{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem}.card{background:var(--card-bg);box-shadow:0 0 50px rgba(0,0,0,6%);padding:2rem 2.5rem;margin:2rem 0;border-radius:2px}h1,h2,h3,h4,h5,h6{font-family:montserrat,sans-serif;color:var(--heading);font-weight:400;text-transform:uppercase;letter-spacing:.02em;line-height:1.3;margin:0 0 .6em}h1{font-size:clamp(1.5rem,4vw,2rem)}h2{font-size:1.4rem}h3{font-size:1.15rem}a,a:visited{color:var(--heading)}a:hover{color:var(--muted)}.tagline{font-family:caveat,cursive;color:var(--muted);font-size:1.4rem}.site-header{padding:2.5rem 0 1rem;text-align:center}.site-header .site-title{font-family:montserrat,sans-serif;font-size:2rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:var(--heading)}.site-nav{list-style:none;display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin:1rem 0 0;padding:0;font-family:montserrat,sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.site-nav a{text-decoration:none}.post-list{list-style:none;margin:0;padding:0}.post-list li{padding:1.25rem 0;border-bottom:1px solid var(--border)}.post-list li:last-child{border-bottom:none}.post-meta{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.post-list h2{margin:.3em 0;font-size:1.15rem}.entry-meta{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:1.5rem}.card img{max-width:100%;height:auto;display:block;margin:1.5rem auto}blockquote{border-left:3px solid var(--border);margin:1.5rem 0;padding:.5rem 0 .5rem 1.5rem;font-style:italic;color:var(--muted)}table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}th,td{text-align:left;padding:.5rem .75rem;border:1px solid var(--border)}th{font-family:montserrat,sans-serif;text-transform:uppercase;font-size:.75rem}form.contact-form{display:grid;gap:1rem;max-width:28rem}form.contact-form label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:.3rem}form.contact-form input,form.contact-form textarea{width:100%;background:var(--input-bg);border:1px solid var(--border);color:var(--text);padding:.6rem .75rem;font-family:inherit;font-size:.85rem;font-style:italic}form.contact-form button{justify-self:start;background:var(--btn-bg);color:#fff;border:none;padding:.6rem 1.75rem;font-family:montserrat,sans-serif;text-transform:uppercase;font-size:.85rem;letter-spacing:.04em;cursor:pointer}form.contact-form button:hover{background:var(--btn-bg-hover)}.field-shadow{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-status{padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.form-status.sent{background:#e9fbe5;color:#2f6b1f}.form-status.error{background:#fcf0ef;color:#8a2a24}.portfolio-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;margin:1.5rem 0}.portfolio-gallery img{margin:0;border-radius:2px}.site-footer{text-align:center;color:var(--muted);font-size:.8rem;padding:2rem 0 3rem}