:root{--red:#c5050c;--red-dark:#6e0207;--black:#0f0f0f;--bg:#f5f4f0;--card:#fff;--text:#0f0f0f;--muted:#777;--accent:#c5050c;--border:#e5e3de;--serif:"DM Serif Display", Georgia, serif;--sans:"DM Sans", system-ui, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--sans);margin:0;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2{font-family:var(--serif);font-weight:400}h1{margin:0 0 .25rem;font-size:2.4rem}h2{margin:2.5rem 0 1rem;padding-bottom:.4rem;font-size:1.7rem;position:relative}h2:after{content:"";background:var(--red);width:40px;height:2px;position:absolute;bottom:0;left:0}h3{margin:0;font-size:1.05rem}h4{margin:1rem 0 .4rem}.nav{border-top:4px solid var(--red);border-bottom:1px solid var(--border);background:var(--bg);z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem max(16px,50% - 450px);display:flex;position:sticky;top:0}.nav nav{flex-wrap:wrap;gap:.3rem 1.2rem;display:flex}.nav a{color:var(--text)}.nav a:hover{color:var(--red);text-decoration:none}.nav nav a.router-link-exact-active,.nav nav a.router-link-active{color:var(--accent);font-weight:600}.brand{font-family:var(--serif);font-size:1.2rem}.container{max-width:900px;margin:0 auto;padding:2rem 16px 3rem}.hero{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.avatar{object-fit:cover;object-position:center;border:3px solid #fff;border-radius:50%;width:180px;height:180px;position:relative;box-shadow:0 4px 20px #0006}.hero-banner{color:#fff;background:url(/bascom-hill-spring-2025-1600.jpg) 50% 40%/cover;margin:-2rem calc(50% - 50vw) 2rem;padding:4rem 0;position:relative;overflow:hidden}.hero-banner:before{content:"";background:linear-gradient(#6e0207d9,#960409b8 50%,#5a0205e0);position:absolute;inset:0}.hero-banner .hero{max-width:900px;margin:0 auto;padding:0 24px;position:relative}.hero-banner h1{text-shadow:0 2px 16px #0000008c}.hero-banner a{color:#fff;text-decoration:underline}.tagline{color:#fff;opacity:.9;letter-spacing:.08em;text-transform:uppercase;margin:0 0 1rem;font-weight:300}.links{flex-wrap:wrap;gap:1rem;display:flex}.stats{flex-wrap:wrap;gap:1rem;margin:2rem 0 1rem;display:flex}.stat{background:var(--card);border:1px solid var(--border);text-align:center;border-top:3px solid var(--red);border-radius:12px;flex:1;min-width:140px;padding:1rem}.stat strong{font:2rem var(--serif);color:var(--red);display:block}.card{background:var(--card);border:1px solid var(--border);color:inherit;border-radius:12px;margin-bottom:1rem;padding:1.1rem 1.3rem;display:block}.row{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.muted{color:var(--muted);font-size:.92rem}ul{margin:.6rem 0 0;padding-left:1.2rem}li{margin-bottom:.35rem}.chip{background:var(--bg);border:1px solid var(--border);border-radius:999px;margin:.2rem .3rem .2rem 0;padding:.1rem .7rem;font-size:.85rem;display:inline-block}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.project-card{margin:0;transition:transform .15s,border-color .15s}.project-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.gallery figure{margin:0}.gallery img{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--border);border-radius:12px;width:100%}.gallery figcaption{color:var(--muted);margin-top:.3rem;font-size:.85rem}.back{margin-bottom:1rem;display:inline-block}.footer{text-align:center;color:#fffc;background:var(--red-dark);margin-top:0;padding:2rem 0;font-size:.85rem}.note{margin:.4rem 0}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;pointer-events:none}.island-frame{border:0;width:100vw;height:calc(100dvh - 64px);min-height:520px;margin:0 calc(50% - 50vw);display:block}.availability{color:#fff;opacity:.9;letter-spacing:.04em;margin:0 0 1rem;font-size:.92rem;font-weight:300}.project-card p{margin:.4rem 0 0}.more{margin:1rem 0 0}.island-card{border:1px solid var(--border);color:var(--text);border-radius:12px;margin-top:2.5rem;transition:transform .15s;display:block;position:relative;overflow:hidden}.island-card:hover{text-decoration:none;transform:translateY(-2px)}.island-card img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.island-card-text{background:linear-gradient(#fff0,#ffffffd9 45%);flex-direction:column;justify-content:flex-end;min-height:33.4%;padding:1.2rem 1.3rem;display:flex;position:absolute;bottom:0;left:0;right:0}.island-card-text h3{font-family:var(--serif);font-size:1.4rem;font-weight:400}.island-card-text p{color:var(--muted);margin:.2rem 0 .4rem}.island-card-cta{color:var(--red);font-weight:600}.timeline{border-left:2px solid var(--border);margin:0;padding:0 0 0 1.2rem;list-style:none}.timeline li{flex-wrap:wrap;gap:.2rem 1rem;margin-bottom:.9rem;display:flex;position:relative}.timeline li:before{content:"";background:var(--red);border-radius:50%;width:10px;height:10px;position:absolute;top:.45rem;left:calc(-1.2rem - 6px)}.timeline li .muted{min-width:9.5rem}@media (prefers-reduced-motion:reduce){.project-card,.island-card{transition:none}.project-card:hover,.island-card:hover{transform:none}}@media (width<=600px){.island-card-text{background:var(--card);position:static}}
