@font-face{font-family:Libre Bodoni;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/libre-bodoni.woff2) format("woff2")}@font-face{font-family:Libre Bodoni;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/libre-bodoni-italic.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-400.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/source-sans-3-500.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-600.woff2) format("woff2")}:root{--color-bg: #f6f7f4;--color-surface: #e9efea;--color-text: #1c2a26;--color-text-muted: #5b6b66;--color-accent: #13594e;--color-accent-dark: #0e453c;--color-sage: #8fa59b;--color-border: #d6ded9;--color-brand-green: #13594e;--font-heading: "Libre Bodoni", "Bodoni MT", "Didot", Georgia, serif;--font-body: "Source Sans 3", "Helvetica Neue", Arial, system-ui, sans-serif;--max-width: 72rem}*,*:before,*:after{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:.975rem;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--color-brand-green)}h1,h2,h3{font-family:var(--font-heading);font-weight:500;line-height:1.12;letter-spacing:0;margin:0 0 .5em;color:var(--color-text)}h1{font-size:clamp(2.5rem,4.25vw + 1rem,4rem);font-weight:600;letter-spacing:-.01em}h2{font-size:clamp(1.75rem,2.25vw + 1rem,2.4rem)}h3{font-size:1.3rem;font-weight:500}.label{font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}p{margin:0 0 1em}.container{max-width:var(--max-width);margin:0 auto;padding-inline:1.5rem}.site-header{border-bottom:none}.site-header .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:1.25rem}.logo{display:inline-flex;align-items:center}.logo img{height:30px;width:auto;display:block}.site-nav{display:flex;gap:1.75rem;flex-wrap:wrap;list-style:none;margin:0;padding:0}.site-nav a{color:var(--color-text);text-decoration:none;font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.site-nav a:hover{color:var(--color-brand-green)}.site-footer{border-top:1px solid var(--color-border);margin-top:5rem}.site-footer .container{padding-block:2rem;color:var(--color-text-muted);font-size:.875rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.site-footer a{color:var(--color-text-muted)}section{padding-block:4rem}section.tight{padding-block:2.5rem}.hero{padding-block:7rem 6rem}.hero h1{margin-bottom:.75rem}.hero p.lede{font-size:1.15rem;color:var(--color-text-muted);max-width:40rem;margin-bottom:2rem}.section-alt{background:var(--color-surface)}.button{display:inline-block;padding:.7rem 1.5rem;background:var(--color-accent);color:#fff;text-decoration:none;border-radius:6px;font-family:var(--font-heading);font-size:1.05rem;font-weight:500;letter-spacing:0;line-height:1.3;border:none;cursor:pointer}.button:hover{background:var(--color-accent-dark)}.grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.card{background:var(--color-bg);border:1px solid var(--color-border);padding:1.75rem}.card h3{font-size:1.25rem}.card p{color:var(--color-text-muted);margin:0;font-size:.95rem}.team-member{text-align:left}.team-member img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;border:1px solid var(--color-border);margin-bottom:1rem;background:var(--color-surface)}.team-member .role{color:var(--color-accent-dark);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem}.team-member p.bio{color:var(--color-text-muted);font-size:.95rem}.news-list{list-style:none;margin:0;padding:0}.news-list li{padding-block:1.75rem;border-bottom:1px solid var(--color-border)}.news-list time{display:block;color:var(--color-text-muted);font-size:.85rem;margin-bottom:.35rem}.news-list a{color:var(--color-text);text-decoration:none;font-family:var(--font-heading);font-size:1.4rem;font-weight:500}.news-list a:hover{color:var(--color-accent-dark)}.news-post .post-date{color:var(--color-text-muted);font-size:.9rem;margin-bottom:1.5rem}form.contact-form{max-width:34rem;display:grid;gap:1.25rem}.contact-form label{display:block;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem;color:var(--color-text-muted)}.contact-form input,.contact-form textarea{width:100%;padding:.7rem .85rem;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:1rem}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}.contact-form textarea{resize:vertical;min-height:8rem}.contact-form .button{justify-self:start}.honeypot{position:absolute;left:-9999px}.portfolio{list-style:none;margin:0;padding:0;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.portfolio h3{font-size:1.3rem;margin-bottom:.25em}.portfolio h3 a{color:inherit;text-decoration:none}.portfolio h3 a:hover{color:var(--color-brand-green)}.portfolio p{color:var(--color-text-muted);font-size:.95rem;margin:0}.portfolio-logo{aspect-ratio:3 / 2;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border:1px solid var(--color-border);margin-bottom:1rem;padding:1.5rem}a.portfolio-logo{text-decoration:none;color:inherit;transition:border-color .15s ease}a.portfolio-logo:hover{border-color:var(--color-brand-green)}.portfolio-logo img{max-height:100%;max-width:100%;width:auto;object-fit:contain;mix-blend-mode:multiply}.portfolio-logo img.invert{filter:invert(1) brightness(.25)}.portfolio-logo-placeholder{font-family:var(--font-heading);font-size:1.15rem;color:var(--color-text-muted);text-align:center}.portfolio-tag{display:inline-block;margin-top:.6rem;font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-dark)}.contact-form input[type=file]{padding:.5rem .85rem;cursor:pointer}.contact-form input[type=file]::file-selector-button{margin-right:.85rem;padding:.35rem .9rem;border:1px solid var(--color-border);border-radius:2px;background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.hero h1{min-height:1.12em}.rotator{font-style:italic;font-weight:400}.services{list-style:none;margin:0;padding:0;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.services li{border-top:1px solid var(--color-text);padding-top:1.25rem}.services h2{font-size:1.25rem;margin-bottom:.35em}.services h2 a{color:inherit;text-decoration:none}.services h2 a:hover{color:var(--color-brand-green)}.services p{color:var(--color-text-muted);font-size:.95rem;margin:0}.team-links{display:flex;align-items:center;gap:1rem;margin:.75rem 0 0;font-size:.85rem}.team-links a{color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border);padding-bottom:1px}.team-links a:hover{color:var(--color-brand-green);border-bottom-color:currentColor}.team-links .icon-link{display:inline-flex;border:none;padding:0;color:var(--color-text-muted)}.team-links .icon-link:hover{color:var(--color-brand-green)}.portfolio-open .portfolio-logo{border-style:dashed;background:transparent}.portfolio-open-mark{font-size:2.5rem}.footer-mark{color:inherit;text-decoration:none}.footer-mark:hover{color:var(--color-brand-green)}.runway{max-width:45rem}.runway canvas{display:block;width:100%;height:auto;border:1px solid var(--color-border);background:var(--color-bg);touch-action:manipulation;cursor:pointer}.runway-hint{margin-top:.75rem;font-size:.85rem;color:var(--color-text-muted)}@media(max-width:40rem){.site-header .container{padding-block:1rem}.site-nav{gap:1rem}.site-nav a{font-size:.72rem;letter-spacing:.05em}.hero{padding-block:4rem 3.5rem}.hero h1{min-height:2.3em}section{padding-block:3rem}}.prose{max-width:42rem}.prose h2{font-size:1.35rem;margin-top:2.25rem}.prose ul{padding-left:1.2rem}.prose li{margin-bottom:.5rem}.note{font-size:.85rem;color:var(--color-text-muted)}.form-note{font-size:.85rem;color:var(--color-text-muted);margin:0}.header-right{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}.lang-switch{display:inline-flex;align-items:center;gap:.6rem;border-left:1px solid var(--color-border);padding-left:1.25rem}.lang-switch a{display:inline-flex;line-height:0;opacity:.45;transition:opacity .15s ease}.lang-switch a[aria-current=true],.lang-switch a:hover{opacity:1}.flag{display:block;border-radius:2px;box-shadow:0 0 0 1px var(--color-border)}@media(max-width:40rem){.header-right{gap:1rem}.lang-switch{border-left:none;padding-left:0}}.contact-email{color:var(--color-text-muted);margin-top:-.5rem}.form-note-line{display:block}.field-hint{font-size:.8rem;color:var(--color-text-muted);margin:.4rem 0 0}
