:root{--color-background:#fbeaee;--color-surface:#fffdfc;--color-surface-alt:#f3d7de;--color-border:#e3bdc7;--color-text:#2b2426;--color-muted:#6e5f62;--color-accent:#9a556c;--color-accent-hover:#7c4256;--font-heading:georgia, "Iowan Old Style", "Palatino Linotype", serif;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--leading-tight:1.25;--leading-normal:1.6;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--content-width:48rem;--content-padding:1.5rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-pill:999px;--shadow-sm:0 2px 6px #2b24261a;--shadow-md:0 4px 12px #2b24262e}@media (width>=64rem){:root{--content-width:60rem;--space-lg:2rem;--space-xl:2.5rem}}*{box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-background);margin:0}main{max-width:var(--content-width);padding:var(--space-md) var(--content-padding) var(--space-2xl);margin:0 auto}h1,h2,h3{font-family:var(--font-heading);line-height:var(--leading-tight);color:var(--color-text)}h1{font-size:var(--text-3xl);margin:0 0 var(--space-sm)}h2{font-size:var(--text-2xl);margin:var(--space-xl) 0 var(--space-sm)}h3{font-size:var(--text-lg);margin:var(--space-lg) 0 var(--space-2xs)}p{margin:0 0 var(--space-md)}a{color:var(--color-accent);transition:color .15s}a:hover{color:var(--color-accent-hover)}button,.btn{max-width:100%;font:inherit;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-lg);overflow-wrap:break-word;cursor:pointer;border:none;text-decoration:none;transition:background-color .15s,transform .1s;display:inline-block}button:hover,.btn:hover{background:var(--color-accent-hover);color:#fff}button:active,.btn:active{transform:scale(.97)}a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}header,footer{padding:var(--space-md) var(--content-padding);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}footer{border-bottom:none;border-top:1px solid var(--color-border);font-size:var(--text-sm)}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-sm);max-width:var(--content-width);flex-wrap:wrap;margin:0 auto;display:flex}.brand{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text);font-weight:700;text-decoration:none}.brand:hover{color:var(--color-accent-hover)}nav[aria-label=Primary] ul{gap:var(--space-2xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}nav[aria-label=Primary] a{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);color:var(--color-text);text-decoration:none;transition:background-color .15s,color .15s;display:inline-block}nav[aria-label=Primary] a:hover{background:var(--color-surface);color:var(--color-accent-hover)}nav[aria-label=Primary] a[aria-current=page],nav[aria-label=Primary] a[aria-current=page]:hover{background:var(--color-accent);color:#fff}.hero{align-items:center;gap:var(--space-xl);padding:var(--space-xl) 0 var(--space-md);flex-wrap:wrap;display:flex}.hero-text{flex:16rem}.hero-image{flex:12rem;max-width:16rem;margin:0}.hero-image img{border-radius:var(--radius-md);width:100%;height:auto;display:block}.hero-image figcaption,.section-photo figcaption{margin-top:var(--space-2xs);font-size:var(--text-sm);color:var(--color-muted)}.card-grid{gap:var(--space-md);margin:var(--space-md) 0 var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.info-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);background:var(--color-surface)}.info-card-figure{margin:0 0 var(--space-sm)}.info-card-image{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);width:100%;display:block}.info-card-image-link{border-radius:var(--radius-sm);display:block}.info-card-image-link .info-card-image{transition:transform .2s,box-shadow .2s}.info-card-image-link:hover .info-card-image{box-shadow:var(--shadow-md);transform:scale(1.03)}.info-card-image-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.info-card-figure figcaption{margin-top:var(--space-2xs);font-size:var(--text-sm);color:var(--color-muted)}.section-with-photo{align-items:center;gap:var(--space-xl);flex-wrap:wrap;display:flex}.section-photo{flex:14rem;max-width:20rem;margin:0}.section-photo img{border-radius:var(--radius-md);width:100%;height:auto;display:block}.section-with-photo p{flex:2 16rem}.section-photo-square{aspect-ratio:1}.section-photo-square img{object-fit:cover;object-position:top;height:100%}.project-notice{border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);background:#fff8dc;border:1px solid #d8c76b}@media (width<=30rem){:root{--content-padding:1rem}h1{font-size:var(--text-2xl)}.hero{padding:var(--space-lg) 0 var(--space-xs);gap:var(--space-lg)}}
