/* Project stories and the quieter shared contact area. */
#af-black.fx-site.fx-hud #af-about .af-brand-visual{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
#af-black.fx-site.fx-hud #af-about .af-brand-visual::before,#af-black.fx-site.fx-hud #af-about .af-brand-visual::after{display:none}
#af-black.fx-site.fx-hud #af-about .af-brand-visual img{border-radius:0;mask-image:radial-gradient(ellipse 65% 65% at 50% 46%,#000 40%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 65% 65% at 50% 46%,#000 40%,transparent 78%)}
#af-black.fx-site.fx-hud #af-about .af-brand-eyebrow{left:7%;top:8%}
#af-black.fx-site.fx-hud #af-about .af-brand-name{left:7%;bottom:8%;text-shadow:0 2px 20px #000}
#af-black.fx-site.fx-hud .af-media .vv-card-logo{position:absolute;z-index:2;width:43%;height:auto;right:4%;bottom:6%;filter:drop-shadow(0 2px 8px #000);object-fit:contain}
#af-black.fx-site.fx-hud .af-contact.fx-contact{display:block;background:#101411;color:var(--af-text);border-top:1px solid #ffffff14;padding:0;overflow:visible}
#af-black.fx-site.fx-hud .fx-contact::before,#af-black.fx-site.fx-hud .fx-contact::after{display:none}
#af-black.fx-site.fx-hud .fx-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:64px;padding-bottom:64px}
#af-black.fx-site.fx-hud .fx-contact-inner small{color:var(--af-accent);font:11px var(--fx-mono);letter-spacing:.14em}
#af-black.fx-site.fx-hud .fx-contact h2{font-family:'Noto Sans JP',sans-serif;font-size:clamp(25px,2.8vw,38px);font-weight:700;line-height:1.55;letter-spacing:.01em;margin:12px 0 16px}
#af-black.fx-site.fx-hud .fx-contact-note{margin:0;max-width:650px;font-size:13px;line-height:2;color:#afb6ac}
#af-black.fx-site.fx-hud .fx-contact a.fx-contact-cta{min-height:50px;padding:13px 22px;border:1px solid #d2f72f;background:#d2f72f;border-radius:8px;color:#101411;box-shadow:none;font-size:13px;gap:24px}
#af-black.fx-site.fx-hud .fx-contact a.fx-contact-cta:hover{background:#e4ff77;border-color:#e4ff77;color:#101411;box-shadow:none}
#af-black.fx-site.fx-hud .fx-contact a.fx-contact-cta span{font-size:22px;width:auto;height:auto;border-radius:0;background:none;color:inherit}

/* A shared layout; each project keeps its own visual language. */
#af-black .pj-main{padding-top:96px}
#af-black .pj-crumb{display:flex;gap:12px;align-items:center;min-height:44px;margin-bottom:18px;color:#9ca396;font-size:11px}
#af-black .pj-crumb a:hover{color:#d2f72f}
#af-black .pj-section{padding-block:86px;border-bottom:1px solid #ffffff14;scroll-margin-top:100px}
#af-black .pj-eyebrow{font:11px var(--fx-mono);letter-spacing:.2em;color:var(--pj-accent,#d2f72f);margin-bottom:16px}
#af-black .pj-heading{font-size:clamp(27px,3vw,44px);line-height:1.5;letter-spacing:-.035em;font-weight:600;margin:0}
#af-black .pj-copy{font-size:14px;line-height:2.15;color:#b3b9b0;max-width:680px}
#af-black .pj-copy p+p{margin-top:18px}
#af-black .pj-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
#af-black .pj-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:12px 20px;border:1px solid #ffffff36;border-radius:7px;background:#ffffff07;color:#f2f4ee;font-size:12px;line-height:1.5;cursor:pointer;transition:background .2s,border-color .2s}
#af-black .pj-button:hover{border-color:var(--pj-accent,#d2f72f);background:#ffffff12}
#af-black .pj-button.is-primary{background:var(--pj-accent,#d2f72f);color:#101411;border-color:var(--pj-accent,#d2f72f)}
#af-black .pj-button.is-primary:hover{filter:brightness(1.1)}
#af-black .pj-button span{font-size:18px}
#af-black .pj-tabs{display:flex;gap:30px;padding-block:22px;border-bottom:1px solid #ffffff1c;flex-wrap:wrap;font-size:12px}
#af-black .pj-tabs a{padding:7px 0;color:#c5cabe}
#af-black .pj-tabs a:hover{color:var(--pj-accent,#d2f72f)}
#af-black .pj-two-col{display:grid;grid-template-columns:1fr 1.12fr;gap:9%;align-items:start}
#af-black .pj-section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:35px}
#af-black .pj-section-head .pj-copy{max-width:460px}
#af-black .pj-credit{font-size:11px;line-height:1.9;color:#9ca396;margin-top:20px}
#af-black .pj-credit a{text-decoration:underline;text-underline-offset:4px}
#af-black .pj-back{margin-block:45px 65px}

/* Vegetable Village — deep woodland, warm paper and full portraits. */
#af-black.fx-site.vv-page{--pj-accent:#cfdb9c;--af-bg:#080e0b;background:radial-gradient(ellipse at 95% 40%,#1a28172e,transparent 60%),#080e0b}
#af-black .vv-hero{min-height:620px;position:relative;display:flex;align-items:center;overflow:hidden;border-radius:10px;background:#172317}
#af-black .vv-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
#af-black .vv-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#07110bea 0%,#07110b9c 36%,#07110b00 75%),linear-gradient(0deg,#07110b9e,transparent 35%)}
#af-black .vv-hero-copy{position:relative;z-index:1;width:49%;padding:54px 0 54px 5%}
#af-black .vv-hero h1{margin:0}
#af-black .vv-logo{display:block;width:100%;max-width:460px;height:auto;filter:drop-shadow(0 4px 16px #0009)}
#af-black .vv-jp-title{font-size:14px;letter-spacing:.16em;margin:22px 0;color:#f1f1d9}
#af-black .vv-hero-copy>p:not(.pj-eyebrow):not(.vv-jp-title){font-size:15px;line-height:2.05;max-width:390px;color:#dfe3ce}
#af-black .vv-intro-line{display:grid;grid-template-columns:1fr auto;align-items:center;gap:45px;margin-top:36px;padding:25px 0;border-top:1px solid #cedc9c29}
#af-black .vv-intro-line p{color:#b3b9b0;font-size:13px;line-height:2}
#af-black .vv-followers{display:block;min-width:220px;padding-left:35px;border-left:1px solid #cedc9c29;color:#cfdb9c}
#af-black .vv-followers b{display:block;font:600 40px 'Space Grotesk',sans-serif;letter-spacing:-.04em}
#af-black .vv-followers small{font-size:11px;color:#b3b9b0;line-height:1.8}
#af-black .vv-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 20px}
#af-black .vv-resident{min-width:0}
#af-black .vv-portrait{display:block;position:relative;width:100%;padding:0;background:#152017;border:0;cursor:zoom-in;border-radius:5px;overflow:hidden}
#af-black .vv-portrait img{display:block;width:100%;height:auto;aspect-ratio:1632/2912;object-fit:cover;transition:transform .45s}
#af-black .vv-portrait:hover img{transform:scale(1.025)}
#af-black .vv-portrait span{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff60;border-radius:50%;background:#0007;color:white;font-size:19px}
#af-black .vv-resident h3{font-size:16px;font-weight:500;margin:15px 0 8px;line-height:1.6}
#af-black .vv-resident p{font-size:12px;line-height:1.9;color:#9fae9c}
#af-black .vv-reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#af-black .vv-reel-media{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:6px;background:#182119}
#af-black .vv-reel-media>img{width:100%;height:100%;object-fit:cover;display:block}
#af-black .vv-reel-media>button{position:absolute;inset:0;width:100%;border:0;background:linear-gradient(0deg,#0009,transparent 45%);display:flex;align-items:center;justify-content:center;cursor:pointer}
#af-black .vv-reel-media>button span{display:grid;place-items:center;width:62px;height:62px;padding-left:3px;border:1px solid #ffffffad;border-radius:50%;color:#fff;background:#0a160ca6;font-size:21px;transition:background .2s}
#af-black .vv-reel-media>button:hover span{background:#6a7937}
#af-black .vv-reel-media iframe{display:block;width:100%;height:100%;border:0;background:#fff}
#af-black .vv-reel h3{font-size:17px;line-height:1.6;margin-top:17px}
#af-black .vv-reel .pj-credit{margin-top:5px}
#af-black .vv-reel>a{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:12px;margin-top:12px;border-bottom:1px solid #cfdb9c40;color:#cfdb9c}
#af-black .vv-print{padding:34px;border:1px solid #ffffff1c;border-radius:8px;background:#cedc9c06;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;margin-top:45px}
#af-black .vv-print h3{font-size:20px;margin-bottom:12px}
#af-black .vv-print p{font-size:13px;line-height:2;color:#b3b9b0}
.pj-lightbox{background:#080e0b;color:#eee;border:1px solid #ffffff35;border-radius:9px;max-width:calc(100vw - 30px);max-height:calc(100dvh - 30px);padding:16px;margin:auto}
.pj-lightbox::backdrop{background:#000d;backdrop-filter:blur(5px)}
.pj-lightbox img{display:block;width:auto;max-width:85vw;height:auto;max-height:78dvh;object-fit:contain;margin:auto}
.pj-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:12px;font:12px sans-serif}
#af-black .pj-lightbox-bar button{border:1px solid #ffffff60;border-radius:5px;padding:9px 13px;background:#1f2920;color:#fff;cursor:pointer;min-height:40px}

/* Ø-SODOX — clean stage, silver type, record catalogue. */
#af-black.os-page{--pj-accent:#d2f72f}
#af-black .os-hero{display:grid;grid-template-columns:.75fr 1.25fr;gap:5%;align-items:center;padding:25px 0 60px}
#af-black .os-hero h1{font:700 clamp(56px,7.5vw,110px)/1 'Archivo','Space Grotesk',sans-serif;letter-spacing:-.06em;margin:16px 0 27px}
#af-black .os-hero h2{font-size:clamp(19px,2vw,27px);font-weight:500;line-height:1.6;margin-bottom:20px}
#af-black .os-hero .pj-copy{font-size:13px}
#af-black .os-hero-art{margin:0;position:relative;padding:8px;border:1px solid #aeb8b64a;border-radius:5px}
#af-black .os-hero-art img{width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover;display:block;border-radius:2px}
#af-black .os-hero-caption{display:flex;justify-content:space-between;padding:15px 4px 7px;color:#aeb8b0;font:10px var(--fx-mono);letter-spacing:.1em}
#af-black .os-search{display:block;width:min(340px,100%);font-size:11px;color:#aeb6a6}
#af-black .os-search input{display:block;width:100%;min-height:48px;margin-top:8px;padding:12px 16px;color:#f3f6ee;background:#111713;border:1px solid #ffffff36;border-radius:6px;font:14px 'Noto Sans JP',sans-serif;appearance:none}
#af-black .os-search input:focus{outline:2px solid #d2f72f;outline-offset:2px}
#af-black .os-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 22px}
#af-black .os-track[hidden]{display:none}
#af-black .os-track-cover{display:block;aspect-ratio:16/9;position:relative;overflow:hidden;border-radius:5px;background:#17201a}
#af-black .os-track-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
#af-black .os-track-cover:hover img{transform:scale(1.035)}
#af-black .os-track-play{position:absolute;left:14px;bottom:14px;width:38px;height:38px;border:1px solid #ffffff7d;background:#080c0ba3;border-radius:50%;display:grid;place-items:center;font-size:12px;padding-left:2px}
#af-black .os-track-cover:hover .os-track-play{background:#d2f72f;color:#060708;border-color:#d2f72f}
#af-black .os-track-time{position:absolute;right:12px;bottom:13px;background:#060708d9;padding:5px 7px;color:#fff;font:10px var(--fx-mono)}
#af-black .os-track h3{font-size:20px;line-height:1.5;letter-spacing:-.015em;margin:14px 0 7px;font-weight:500}
#af-black .os-track h3 a:hover{color:#d2f72f}
#af-black .os-track p{font:10px var(--fx-mono);color:#9ca396;letter-spacing:.05em}
#af-black .os-catalog-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff1c;margin-top:40px;padding-top:25px}
#af-black .os-result-count{font-size:12px;color:#9ca396}
#af-black .os-empty{padding-block:45px;color:#bcc3b5;font-size:14px}
#af-black .os-listen-banner{padding:38px;border:1px solid #ffffff1c;border-radius:8px;background:linear-gradient(110deg,#d2f72f0b,transparent);display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:55px}
#af-black .os-listen-banner h3{font-size:23px;margin-bottom:12px}
#af-black .os-listen-banner p{font-size:13px;color:#aeb6a6;line-height:2}
@media(max-width:1000px){#af-black .vv-hero{min-height:530px}#af-black .vv-hero-copy{width:57%}#af-black .os-hero{grid-template-columns:1fr;padding-top:0;gap:35px}#af-black .os-hero-art{max-width:850px}#af-black .os-hero h1{font-size:80px}#af-black .vv-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}#af-black .pj-two-col{gap:6%}}
@media(max-width:760px){#af-black .pj-section{padding-block:58px}#af-black .pj-two-col{grid-template-columns:1fr;gap:25px}#af-black .pj-section-head{align-items:start;flex-direction:column;gap:20px}#af-black .vv-hero{min-height:670px;align-items:end}#af-black .vv-hero::after{background:linear-gradient(0deg,#07110bf5 3%,#07110ba8 53%,#07110b00 90%)}#af-black .vv-hero-art{object-position:65% center}#af-black .vv-hero-copy{width:100%;padding:30px 7%}#af-black .vv-logo{width:78%;max-width:360px}#af-black .vv-hero-copy .pj-eyebrow{margin-bottom:12px}#af-black .vv-intro-line{grid-template-columns:1fr;gap:23px}#af-black .vv-followers{border:0;padding:0}#af-black .vv-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}#af-black .vv-reels{gap:14px}#af-black .vv-reel-media{aspect-ratio:9/16}#af-black .vv-reel h3{font-size:14px}#af-black .vv-reel>a{font-size:11px}#af-black .vv-reel-media>button span{width:44px;height:44px;font-size:16px}#af-black .vv-print{grid-template-columns:1fr;padding:25px}#af-black .os-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}#af-black .os-listen-banner{display:block;padding:28px}#af-black .os-listen-banner .pj-button{margin-top:25px}#af-black.fx-site.fx-hud .fx-contact-inner{flex-direction:column;align-items:start;padding-block:45px;gap:24px}#af-black.fx-site.fx-hud .fx-contact a.fx-contact-cta{width:fit-content;min-width:0}#af-black .pj-copy{font-size:13px}}
@media(max-width:480px){#af-black .pj-main{padding-top:92px}#af-black .vv-hero{min-height:640px}#af-black .vv-hero .pj-buttons{margin-top:20px}#af-black .vv-hero .pj-button{font-size:11px;padding:11px 13px;gap:12px}#af-black .vv-jp-title{margin-block:16px}#af-black .vv-resident h3{font-size:14px}#af-black .vv-resident p{font-size:11px}#af-black .vv-reels{grid-template-columns:1fr;gap:32px}#af-black .vv-reel-media{aspect-ratio:4/5}#af-black .vv-reel h3{font-size:18px}#af-black .vv-reel>a{font-size:12px}#af-black .os-hero h1{font-size:64px}#af-black .os-catalog{grid-template-columns:1fr}#af-black .os-catalog-foot{align-items:start;flex-direction:column}#af-black .pj-tabs{gap:20px}}
@media(prefers-reduced-motion:reduce){#af-black .vv-portrait:hover img,#af-black .os-track-cover:hover img{transform:none}}

#af-black.fx-site.fx-hud .fx-contact a.fx-contact-cta:hover span{transform:translateX(2px)}
#af-black .pj-button[hidden],#af-black .vv-reel-media>button[hidden],#af-black .os-empty[hidden]{display:none}

/* Compact, image-led Instagram and artist video collections. */
#af-black.fx-site.fx-hud .vv-reels{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px 16px}
#af-black.fx-site.fx-hud .vv-reel{min-width:0}
#af-black.fx-site.fx-hud .vv-reel>a.vv-reel-link{display:block;min-height:0;border:0;padding:0;color:inherit}
#af-black.fx-site.fx-hud .vv-reel-media{aspect-ratio:9/16;border-radius:7px;isolation:isolate;border:1px solid #ffffff15}
#af-black.fx-site.fx-hud .vv-reel-media>img{transition:transform .3s}
#af-black.fx-site.fx-hud .vv-reel-play{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#08120c8c;backdrop-filter:blur(5px);color:white}
#af-black.fx-site.fx-hud .vv-reel-play svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6}
#af-black.fx-site.fx-hud .vv-reel-open{position:absolute;bottom:0;inset-inline:0;padding:30px 10px 12px;background:linear-gradient(transparent,#050b08c9);color:#fff;font-size:10px;line-height:1.5}
#af-black.fx-site.fx-hud .vv-reel h3{font-size:13px;line-height:1.5;margin:12px 0 7px;overflow-wrap:anywhere}
#af-black.fx-site.fx-hud .vv-reel-label{display:flex;justify-content:space-between;color:#aab49f;font:9px/1.5 var(--fx-mono);letter-spacing:.07em}
#af-black.fx-site.fx-hud .vv-reel-link:hover img{transform:scale(1.035)}
#af-black.fx-site.fx-hud .vv-reel-link:hover h3{color:var(--pj-accent,#d2f72f)}
#af-black.fx-site.fx-hud .os-mv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
#af-black.fx-site.fx-hud .os-mv-card{min-width:0}
#af-black.fx-site.fx-hud .os-mv-link{display:block}
#af-black.fx-site.fx-hud .os-mv-cover{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:7px;background:#161b16;border:1px solid #ffffff20}
#af-black.fx-site.fx-hud .os-mv-cover>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
#af-black.fx-site.fx-hud .os-mv-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:26px;text-shadow:0 1px 9px #0008;background:#0001}
#af-black.fx-site.fx-hud .os-mv-watch{position:absolute;right:9px;bottom:9px;padding:6px 9px;border:1px solid #ffffff40;border-radius:4px;background:#080b08d9;color:#fff;font-size:10px}
#af-black.fx-site.fx-hud .os-mv-label{font:9px/1.7 var(--fx-mono);letter-spacing:.06em;color:#a9b49c;margin:16px 0 7px}
#af-black.fx-site.fx-hud .os-mv-card h3{display:flex;justify-content:space-between;align-items:center;gap:8px;font:600 clamp(21px,2.1vw,30px)/1.3 var(--fx-display);margin:0 0 12px}
#af-black.fx-site.fx-hud .os-mv-card h3 span{font-size:18px;color:var(--pj-accent,#d2f72f)}
#af-black.fx-site.fx-hud .os-mv-description{font-size:12px;line-height:1.95;margin:0;color:#b3b9b0}
#af-black.fx-site.fx-hud .os-mv-link:hover img{transform:scale(1.025)}
#af-black.fx-site.fx-hud .os-mv-link:hover h3{color:var(--pj-accent,#d2f72f)}
#af-black.fx-site.fx-hud .vv-reel-link:focus-visible,#af-black.fx-site.fx-hud .os-mv-link:focus-visible{outline:2px solid var(--pj-accent,#d2f72f);outline-offset:6px;border-radius:4px}
@media(max-width:1100px){#af-black.fx-site.fx-hud .vv-reels{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}}
@media(max-width:760px){#af-black.fx-site.fx-hud .os-mv-grid{grid-template-columns:1fr;gap:32px}#af-black.fx-site.fx-hud .os-mv-card h3{font-size:25px}#af-black.fx-site.fx-hud .os-mv-description{font-size:13px}}
@media(max-width:560px){#af-black.fx-site.fx-hud .vv-reels{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 13px}#af-black.fx-site.fx-hud .vv-reel-open{font-size:10px}}
@media(prefers-reduced-motion:reduce){#af-black.fx-site.fx-hud .vv-reel-media>img,#af-black.fx-site.fx-hud .os-mv-cover>img{transition:none}}
