:root{--ink:#1a1a1a;--paper:#f4f1e8;--rust:#e6512d;--mustard:#f2c94c;--olive:#6b6f46;--rule:#c8c5bc;--display:'Archivo Black',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body)}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--rust);outline-offset:4px}.wrap{width:min(1440px,calc(100% - 96px));margin:auto}.skip{position:absolute;left:-999px;top:0}.skip:focus{left:20px;top:20px;z-index:100;background:white;padding:12px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:27px 0;border-bottom:1px solid var(--ink);gap:20px}.brand{font-family:var(--display);font-size:clamp(22px,3vw,35px);letter-spacing:.035em;line-height:1;text-decoration:none}.brand-dot,.period{color:var(--rust)}nav{display:flex;gap:clamp(14px,3.5vw,58px);font-size:12px;font-weight:700;letter-spacing:.06em}nav a{text-decoration:none}nav a:hover,.site-footer a:hover{color:var(--rust)}.hero{overflow:hidden}.eyebrow{display:flex;align-items:center;gap:10px;padding-top:28px;font-size:11px;letter-spacing:.1em;font-weight:700}.status-dot{height:8px;width:8px;border-radius:50%;background:var(--rust)}.index{margin-left:auto;color:#777}.hero-body{display:grid;grid-template-columns:1.22fr .78fr;align-items:center;min-height:570px;gap:20px}.hero h1{font-family:var(--display);font-size:clamp(58px,7.6vw,128px);line-height:.91;letter-spacing:-.075em;margin:38px 0 28px}.accent-word{color:var(--rust)}.intro{max-width:480px;font-size:clamp(16px,1.7vw,22px);line-height:1.45;margin:0 0 30px}.cta{background:var(--ink);color:var(--paper);text-decoration:none;display:inline-flex;align-items:center;gap:44px;font-size:12px;letter-spacing:.04em;font-weight:700;padding:16px 20px;border-radius:3px}.cta:hover{background:var(--rust)}.hero-art{width:100%;max-width:530px;justify-self:center;transform:rotate(-7deg)}.hero-art svg{width:100%;display:block;filter:drop-shadow(8px 12px 0 rgba(0,0,0,.045))}.art-caption{display:block;text-align:center;font-size:10px;letter-spacing:.1em;margin:0 0 20px}.ticker{white-space:nowrap;overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:16px 0;font-weight:700;font-size:13px;letter-spacing:.14em}.ticker span{color:var(--rust);margin:0 24px;font-size:20px}.work-section{padding:105px 0 120px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-kicker{letter-spacing:.13em;font-size:11px;font-weight:700;margin:0 0 20px}.section-top h2,.about-section h2,.contact-section h2{font-family:var(--display);letter-spacing:-.065em;font-size:clamp(44px,6.3vw,94px);line-height:.96;margin:0}.work-count{font-size:12px;font-weight:700;white-space:nowrap;padding-bottom:9px}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:42px 0 28px}.filter{background:transparent;border:1px solid var(--ink);padding:11px 14px;font-size:11px;font-weight:700;cursor:pointer;letter-spacing:.04em;border-radius:2px}.filter.active,.filter:hover{background:var(--ink);color:var(--paper)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 21px}.project-card{min-width:0}.project-open{width:100%;text-align:left;border:0;background:none;padding:0;cursor:pointer;color:inherit}.project-media{aspect-ratio:1.13;position:relative;overflow:hidden;background:#dedbd0}.project-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.project-open:hover img{transform:scale(1.035)}.media-badge{position:absolute;left:14px;top:14px;background:var(--paper);font-weight:700;font-size:10px;padding:8px 9px;letter-spacing:.08em}.project-details{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-top:15px}.project-details h3{font-size:clamp(16px,1.65vw,21px);line-height:1.15;margin:0 0 7px;font-weight:700}.project-details p{font-size:12px;color:#666;margin:0}.project-arrow{font-size:22px}.empty-state{padding:60px 0}.about-section{background:var(--ink);color:var(--paper);padding:105px 0}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px}.about-copy{padding-top:75px;max-width:510px}.about-copy p{font-size:clamp(17px,1.85vw,23px);line-height:1.45}.about-copy p+p{font-size:16px;color:#c6c5be}.little-star{font-size:64px;color:var(--mustard)}.text-link{display:inline-block;margin-top:25px;border-bottom:1px solid var(--paper);text-decoration:none;padding-bottom:7px;font-size:12px;font-weight:700}.contact-section{padding:110px 0 90px}.contact-line{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:45px}.contact-line p{margin:0}.contact-line a{font-weight:700;font-size:14px;text-decoration:none}.site-footer{padding:28px 0 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--ink)}.site-footer span,.site-footer>a:last-child{font-size:10px;font-weight:700;letter-spacing:.06em;text-decoration:none}.project-dialog{width:min(920px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid var(--ink);padding:28px;background:var(--paper);color:var(--ink)}.project-dialog::backdrop{background:rgba(0,0,0,.8)}.dialog-close{display:block;margin-left:auto;margin-bottom:20px;border:1px solid var(--ink);padding:10px 14px;background:transparent;cursor:pointer;font-size:11px;font-weight:700}.dialog-title{font-family:var(--display);font-size:clamp(32px,5vw,64px);line-height:.99;letter-spacing:-.05em;margin:8px 0 14px}.dialog-meta{font-size:12px;font-weight:700;color:var(--rust);letter-spacing:.08em}.dialog-description{font-size:17px;line-height:1.6;max-width:680px;margin:0 0 25px}.gallery-media{display:block;width:100%;max-height:70vh;object-fit:contain;background:#dedbd0;margin-bottom:14px}.media-player{width:100%;margin-bottom:14px;background:var(--ink)}.audio-player{width:100%;margin:15px 0 30px}.model-viewer{display:block;width:100%;height:min(65vh,530px);background:#e8e3d7;margin:10px 0 22px}.media-hint{font-size:12px;color:#555}.media-link{font-weight:700;display:inline-block;margin:12px 0 30px}.gallery-media+figcaption{font-size:12px;padding:0 0 20px}.gallery-block{margin-bottom:18px}.project-dialog figure{margin:0}.privacy-note{font-size:12px;color:#555} @media(max-width:900px){.wrap{width:calc(100% - 44px)}.hero-body{grid-template-columns:1fr .7fr;min-height:500px}.hero h1{font-size:clamp(50px,8vw,80px)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.wrap{width:calc(100% - 30px)}.site-header{padding:18px 0}.brand{font-size:23px;letter-spacing:.02em}nav{font-size:10px;gap:15px}.index{display:none}.hero-body{display:flex;flex-direction:column;align-items:stretch;gap:0}.hero h1{font-size:clamp(49px,12vw,78px);margin:37px 0 18px}.hero-art{max-width:350px;margin:12px auto 10px}.intro{font-size:17px}.work-section{padding:65px 0 80px}.section-top h2,.about-section h2,.contact-section h2{font-size:clamp(40px,10vw,60px)}.project-grid{grid-template-columns:1fr;gap:31px}.filters{margin-top:28px}.filter{font-size:10px;padding:9px}.about-section{padding:70px 0}.about-grid{grid-template-columns:1fr;gap:16px}.about-copy{padding-top:0}.contact-section{padding:75px 0}.contact-line{align-items:start;flex-direction:column}.site-footer{flex-wrap:wrap}.site-footer span{order:3;width:100%}.project-dialog{padding:14px}.dialog-title{font-size:37px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* V2 additions */
.about-portrait{width:100%;height:245px;object-fit:cover;display:block;background:#d8d1c3;border:1px solid #888}.portrait-wrap{max-width:360px;margin-bottom:32px}.portrait-caption{font-size:10px!important;letter-spacing:.1em;color:#d9d5cd!important;margin:7px 0 0!important}.contact-intro{font-size:18px;margin:30px 0}.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:9%;margin-top:34px}.contact-form{display:flex;flex-direction:column;gap:10px}.contact-form label{font-size:11px;letter-spacing:.09em;font-weight:700;margin-top:12px}.contact-form input,.contact-form textarea{border:1px solid #777;background:#fffdf7;color:var(--ink);font:inherit;padding:14px;border-radius:2px;width:100%}.contact-form textarea{resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--rust);outline-offset:2px}.contact-form .honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.send-button{cursor:pointer;border:0;align-self:flex-start}.contact-aside>p:first-child{font-size:11px;font-weight:700;letter-spacing:.12em}.email-plain{display:block;overflow-wrap:anywhere;font-weight:700;margin:22px 0 34px}.social-links{display:flex;gap:12px;flex-wrap:wrap}.social-links a{display:flex;align-items:center;gap:10px;text-decoration:none;border:1px solid var(--ink);padding:10px 13px;font-size:11px;font-weight:700}.social-links a:hover{background:var(--rust);color:var(--paper)}.social-links svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.social-links svg .solid{fill:currentColor;stroke:none}.social-note{font-size:11px;line-height:1.5;color:#666;margin-top:20px}.back-to-top{position:fixed;bottom:24px;right:24px;width:46px;height:46px;border:1px solid var(--ink);background:var(--rust);color:#fff;font-size:27px;cursor:pointer;z-index:4;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s,transform .2s}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.image-expand{display:block;position:relative;width:100%;border:0;background:transparent;cursor:zoom-in;padding:0}.expand-label{position:absolute;right:10px;bottom:24px;background:var(--ink);color:var(--paper);padding:10px;font-size:11px;font-weight:700}.lightbox{height:100dvh;width:100vw;max-height:100dvh;max-width:100vw;border:0;margin:0;padding:0;background:var(--ink);color:var(--paper)}.lightbox::backdrop{background:#000}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;font-size:11px;font-weight:700;letter-spacing:.09em}.lightbox-toolbar button{padding:11px 16px;border:1px solid var(--paper);background:transparent;color:var(--paper);cursor:pointer}.lightbox-content{height:calc(100dvh - 67px);display:flex;align-items:center;justify-content:center;padding:12px 24px 24px}.lightbox-content img{max-width:100%;max-height:100%;object-fit:contain}.privacy-page{padding:70px 0 110px;max-width:850px}.privacy-page h1{font-family:var(--display);font-size:clamp(42px,7vw,80px);line-height:1}.privacy-page h2{margin-top:44px}.privacy-page p{line-height:1.7}.privacy-page a{color:var(--rust)}
@media(max-width:640px){.contact-layout{grid-template-columns:1fr;gap:36px}.about-portrait{height:210px}.lightbox-toolbar{padding:12px}.lightbox-content{padding:8px 12px 20px}.back-to-top{bottom:14px;right:14px}}

/* Editable homepage artwork */
.hero-art{transform:translate(var(--hero-x,0px),var(--hero-y,0px)) rotate(var(--hero-rotation,-7deg));display:flex;flex-direction:column;align-items:center}
.hero-art #hero-default-svg,.hero-art .hero-custom-image{width:var(--hero-size,100%);height:auto;max-width:none;object-fit:contain;display:block;filter:drop-shadow(8px 12px 0 rgba(0,0,0,.045))}
.hero-art [hidden]{display:none!important}
.hero-art .art-caption{margin-top:12px}

/* When a custom homepage image is selected, never render the original flower. */
.hero-art.has-custom-art #hero-default-svg{display:none!important}
.hero-art.has-custom-art #hero-custom-image{display:block!important}

/* V7: high contrast artwork captions above all media, including video and 3D. */
.project-dialog .gallery-block{margin:0 0 32px}
.project-dialog .gallery-block > figcaption{
  display:block;position:relative;box-sizing:border-box;
  background:var(--ink);color:var(--paper);
  border-left:5px solid var(--rust);padding:14px 17px;
  margin:0 0 12px;font:700 clamp(14px,1.5vw,18px)/1.35 var(--body);
  letter-spacing:.015em;overflow-wrap:anywhere;
}
.project-dialog .gallery-block > figcaption::before{
  content:'ARTWORK /';display:block;color:var(--mustard);
  font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:6px;
}
.project-dialog .gallery-block > .media-player,
.project-dialog .gallery-block > .audio-player,
.project-dialog .gallery-block > .model-viewer{margin-top:0}
