
:root{--paper:#f6f4ef;--ink:#171717;--muted:#67645f;--line:#d8d3c9;--pink:#ea4a9a;--teal:#168f8d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
img{display:block;max-width:100%}a{color:inherit}.header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:20px 3vw;background:rgba(246,244,239,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.header nav{display:flex;gap:24px}.header nav a{text-decoration:none;font-size:.9rem}.menu{display:none;border:0;background:none;font:inherit}
.hero{min-height:92vh;display:grid;grid-template-columns:1.45fr .55fr;position:relative}.hero-image-wrap{overflow:hidden}.hero-image-wrap img{width:100%;height:92vh;object-fit:cover}.hero-text{display:flex;flex-direction:column;justify-content:flex-end;padding:6vw 4vw 7vw}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.96;margin:0}h1{font-size:clamp(4rem,9vw,10rem)}h2{font-size:clamp(2.7rem,5.8vw,6.5rem)}
.hero-text>p:last-child{font-size:1.2rem;max-width:360px}.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;margin:0 0 20px}
.intro-band{padding:10vw 7vw;background:var(--ink);color:white}.intro-band p{font-family:Georgia,serif;font-size:clamp(2rem,5vw,5.5rem);line-height:1.05;max-width:1250px;margin:0}
.section{padding:9vw 4vw;border-top:1px solid var(--line)}.section-title{display:grid;grid-template-columns:.35fr 1.65fr;gap:30px;margin-bottom:6vw}.section-title h2{max-width:1100px}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:5vw 2vw}.work-card{grid-column:span 6;text-decoration:none}.work-card:nth-child(3n){grid-column:3/span 8}.work-card img{width:100%;aspect-ratio:4/3;object-fit:contain;background:white}.work-card-meta{padding-top:15px}.work-card h3{margin:0;font-size:1.1rem}.work-card p{margin:4px 0;color:var(--muted)}
.project-head{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;margin-bottom:4vw}.project-data{align-self:end}.project-data p{margin:4px 0}.project-hero{width:100%;max-height:85vh;object-fit:contain;background:#fff}.project-note{font-family:Georgia,serif;font-size:clamp(1.4rem,3vw,3rem);max-width:1000px;margin:4vw auto}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:3vw}.detail-button{padding:0;border:0;background:#fff;cursor:zoom-in}.detail-button img{width:100%;height:420px;object-fit:contain}
.video-wrap{margin:5vw auto;max-width:1000px}.video-wrap video{width:100%;background:#000;display:block}
.text-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:6vw}.text-section .section-title{display:block}.prose{max-width:780px;font-size:1.15rem}.prose p:first-child{margin-top:0}.statement{background:#e9e3d8}
.cv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 70px;max-width:1100px}.cv-grid h3{font-size:1rem;text-transform:uppercase;letter-spacing:.12em}.cv-grid p{margin:8px 0;color:var(--muted)}.cv-grid b{color:var(--ink);margin-right:8px}
.button{display:inline-block;margin-top:55px;padding:14px 20px;border:1px solid var(--ink);text-decoration:none}.button:hover{background:var(--ink);color:#fff}
.contact{min-height:65vh;background:var(--teal);color:white}.contact h2{max-width:1000px}.contact>p:not(.kicker){font-size:1.25rem}.contact-note{max-width:650px;opacity:.85}
footer{display:flex;justify-content:space-between;padding:28px 4vw;border-top:1px solid var(--line)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:100;display:none;align-items:center;justify-content:center;padding:3vw}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:92vh}.close{position:absolute;top:18px;right:24px;color:#fff;background:none;border:0;font-size:3rem;cursor:pointer}
.reveal{opacity:1;transform:none;transition:.7s ease}
@media(max-width:760px){.header nav{display:none;position:absolute;top:65px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr;min-height:auto}.hero-image-wrap img{height:62vh}.hero-text{padding:40px 22px 60px}.section{padding:80px 20px}.section-title,.project-head,.text-section{grid-template-columns:1fr}.work-grid{display:block}.work-card{display:block;margin-bottom:55px}.detail-grid{grid-template-columns:1fr}.detail-button img{height:auto}.cv-grid{grid-template-columns:1fr}.intro-band{padding:90px 24px}.project-note{margin:45px 0}.hero-text>p:last-child{font-size:1rem}}


/* Selected-work video */
.selected-video-wrap{position:relative;background:#111;overflow:hidden;aspect-ratio:4/3}
.selected-video-wrap video{width:100%;height:100%;object-fit:cover;display:block}
.video-badge{position:absolute;left:14px;bottom:14px;background:rgba(23,23,23,.86);color:#fff;padding:7px 10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.video-card:hover video{transform:scale(1.015)}
.video-card video{transition:transform .45s ease}

/* Netlify contact form */
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start}
.contact-heading h2{max-width:760px}
.contact-form{max-width:720px;width:100%;padding-top:12px}
.form-row{display:grid;gap:8px;margin-bottom:24px}
.form-row label{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700}
.form-row input,.form-row textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.65);background:transparent;color:#fff;padding:12px 2px;font:inherit;border-radius:0;outline:none}
.form-row input::placeholder,.form-row textarea::placeholder{color:rgba(255,255,255,.65)}
.form-row input:focus,.form-row textarea:focus{border-bottom-color:#fff}
.form-row textarea{resize:vertical;min-height:150px}
.form-submit{border:1px solid #fff;background:transparent;color:#fff;padding:14px 22px;font:inherit;cursor:pointer}
.form-submit:hover,.form-submit:focus{background:#fff;color:var(--teal)}
.form-note{font-size:.85rem!important;opacity:.8;margin-top:14px}
.hidden-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:760px){
  .contact{grid-template-columns:1fr}
  .contact-form{padding-top:10px}
}

.series-subhead{font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:500;margin:2.2rem 0 .8rem;letter-spacing:.02em}

/* Latest work preview */
.latest-work{padding-top:90px;padding-bottom:90px}
.latest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.latest-card{text-decoration:none;display:block}
.latest-card img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff}
.latest-card h3{margin:0;font-size:1rem}.latest-card p{margin:4px 0;color:var(--muted);font-size:.88rem}
.series-meta{margin:-22px 0 24px;color:var(--muted);font-size:.95rem}
.project .series-subhead:not(:first-of-type){margin-top:70px}
/* Newsletter */
.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;border-top:1px solid var(--line)}
.newsletter-copy p:last-child{max-width:580px;color:var(--muted)}
.newsletter-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;max-width:680px}
.newsletter-form>label{grid-column:1/-1;font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700}
.newsletter-form input[type=email]{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:13px 2px;font:inherit;outline:none}
.newsletter-form .form-submit{border-color:var(--ink);color:var(--ink)}
.newsletter-form .form-submit:hover,.newsletter-form .form-submit:focus{background:var(--ink);color:var(--paper)}
@media(max-width:760px){.latest-grid{grid-template-columns:repeat(2,1fr);gap:28px 14px}.newsletter{grid-template-columns:1fr}.newsletter-form{grid-template-columns:1fr}.newsletter-form>label{grid-column:auto}}

/* Series navigation cards */
.series-links { padding-top: 2rem; }
.series-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }
.series-link-card { color:inherit; text-decoration:none; display:block; }
.series-link-card h2 { font-size:clamp(1.15rem,2vw,1.65rem); margin:.8rem 0 0; line-height:1.15; }
.series-preview { display:grid; grid-template-columns:repeat(3,1fr); gap:.35rem; aspect-ratio:1.65/1; overflow:hidden; }
.series-preview img { width:100%; height:100%; min-width:0; object-fit:cover; display:block; }
.series-link-card:hover .series-preview img { opacity:.9; }
@media(max-width:800px){.series-link-grid{grid-template-columns:1fr}.series-preview{aspect-ratio:2.2/1}}
/* 2026 series navigation: four uncropped artwork previews in a square grid */
.series-links-inline { grid-column:1 / -1; margin:1rem 0 2rem; }
.series-links-inline .series-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }
.series-links-inline .series-link-card { color:inherit; text-decoration:none; display:block; }
.series-links-inline .series-link-card h2 { font-size:clamp(1.15rem,2vw,1.65rem); margin:.8rem 0 0; line-height:1.15; }
.series-links-inline .series-preview { display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); gap:.35rem; aspect-ratio:1/1; overflow:hidden; background:white; }
.series-links-inline .series-preview img { width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; display:block; background:white; }
.series-links-inline .series-link-card:hover .series-preview img { opacity:.9; }
@media(max-width:800px){.series-links-inline .series-link-grid{grid-template-columns:1fr}.series-links-inline .series-preview{aspect-ratio:1/1}}

/* Persistent newsletter invitation */
.newsletter-float{
  position:fixed; right:18px; top:50%; transform:translateY(-50%);
  z-index:999; display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border:1px solid var(--ink); background:var(--paper);
  color:var(--ink); text-decoration:none; text-transform:uppercase;
  letter-spacing:.1em; font-size:.72rem; font-weight:700;
  box-shadow:0 3px 14px rgba(0,0,0,.10);
}
.newsletter-float:hover,.newsletter-float:focus{background:var(--ink);color:var(--paper)}
@media(max-width:760px){
  .newsletter-float{right:12px; top:auto; bottom:14px; transform:none; padding:10px 13px;}
}

/* Keep floating newsletter control above all artwork links */
.newsletter-float{
  z-index:2147483647 !important;
  pointer-events:auto !important;
  touch-action:manipulation;
  isolation:isolate;
}

/* Newsletter control is a real button so it cannot inherit or trigger artwork links. */
button.newsletter-float{
  font-family:inherit;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
}
