@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f8f8f5;--black:#171717;--yellow:#ffe000;--blue:#1864ab;--red:#ee3426}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--black);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--red);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}.skip{position:absolute;left:10px;top:-100px;z-index:5;background:white;padding:15px}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 4.5%;border-bottom:1px solid #d8d8d5}.brand{font-family:'Barlow Condensed',Impact,sans-serif;font-size:36px;font-weight:900;line-height:.9;letter-spacing:-1px}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:3px;line-height:2;margin-top:5px}nav{display:flex;align-items:center;gap:35px;font-size:14px;font-weight:600}.nav-contact{border:1px solid;padding:12px 17px;border-radius:30px}.nav-contact span{margin-left:16px}.hero{padding:28px 4.5% 0;overflow:hidden}.eyebrow{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.6px;font-weight:600}h1,h2,h3,p{margin:0}h1{position:relative;font-family:'Barlow Condensed',Impact,sans-serif;font-weight:900;font-size:clamp(78px,12.9vw,200px);line-height:.88;letter-spacing:-.025em;margin:42px 0 27px}.outline{color:var(--paper);-webkit-text-stroke:2px var(--black)}.asterisk{display:inline-block;color:var(--red);font-family:Arial,sans-serif;font-size:.75em;vertical-align:top;margin-left:.07em;transform:rotate(12deg)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.hero-bottom p{font-size:16px;line-height:1.6}.round-link{font-size:14px;font-weight:600;display:flex;align-items:center;gap:20px}.round-link span{display:grid;place-items:center;width:47px;height:47px;border:1px solid;border-radius:50%;font-size:22px}.art-stage{position:relative;height:455px;display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:36px;padding:30px 30px 45px;background:repeating-linear-gradient(90deg,#151515 0px,#151515 28px,#f8f8f5 28px,#f8f8f5 56px)}.hero-art{position:relative;background:#fff;border:10px solid white;box-shadow:0 7px 0 #0005;transition:transform .25s}.hero-art img{height:100%;object-fit:cover}.hero-art span{position:absolute;bottom:12px;left:10px;background:var(--yellow);padding:8px;font-size:11px;font-weight:700;letter-spacing:1px}.art-one{transform:rotate(-7deg);margin-top:13px}.art-two{transform:rotate(3deg);z-index:1}.art-three{transform:rotate(7deg);margin-top:20px}.hero-art:hover{transform:rotate(0) translateY(-8px);z-index:3}.art-sticker{position:absolute;right:5%;top:-22px;z-index:3;border-radius:50%;background:var(--yellow);border:2px solid black;width:128px;height:128px;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:17px;font-weight:800;transform:rotate(12deg)}.art-sticker small{font-size:11px;margin-top:7px}.ticker{display:flex;overflow:hidden;white-space:nowrap;gap:40px;background:var(--blue);color:white;padding:21px 0;font-weight:800;font-size:22px;letter-spacing:.8px}.ticker b{color:var(--yellow)}.section{padding:95px 6%}.kicker{font-size:12px;letter-spacing:1.7px;font-weight:700;margin-bottom:25px}h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(48px,5.5vw,88px);font-weight:800;line-height:.98;letter-spacing:-1px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:45px}.section-top>p{font-size:15px;line-height:1.7}.projects{display:grid;grid-template-columns:1.18fr 1fr;gap:6%}.project-small{padding-top:95px}.project-image{height:560px;position:relative;background:#e5e5e3;overflow:hidden}.project-small .project-image{height:425px}.project-image img{transition:transform .4s}.project:hover img{transform:scale(1.035)}.image-button{position:absolute;right:15px;bottom:15px;border-radius:50%;background:white;width:50px;height:50px;display:grid;place-items:center;font-size:25px}.project-label{padding:18px 0;border-bottom:1px solid #bbb}.project-label h3{font-size:22px;letter-spacing:-.6px;margin-bottom:8px}.project-label span{font-size:11px;letter-spacing:1.3px}.mural{display:grid;grid-template-columns:1fr 1fr;margin-top:80px;background:var(--yellow)}.mural>img{height:490px}.mural>div{padding:50px;align-self:center}.mural h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:64px;line-height:.98}.mural p:not(.kicker){margin:22px 0;line-height:1.7}.pill{display:inline-block;border:1px solid;border-radius:30px;padding:13px 22px;font-size:14px;font-weight:600}.about{background:var(--black);color:var(--paper)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about h2{font-size:clamp(64px,7.5vw,115px)}.about h2 em{font-family:Georgia,serif;font-weight:400;color:var(--yellow);font-size:.8em}.bio p{font-size:16px;line-height:1.8;margin-bottom:22px;color:#d6d6d2}.bio .intro{font-size:25px;line-height:1.35;color:white}.text-link{font-size:14px;display:inline-block;border-bottom:1px solid;padding-bottom:8px;margin-top:12px}.stripes{height:50px;background:repeating-linear-gradient(110deg,black 0,black 20px,white 20px,white 40px)}.contact{background:var(--red)}.contact h2{font-size:clamp(75px,13.2vw,195px);line-height:.88;font-weight:900}.contact h2 span{color:var(--paper)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:40px}.contact-bottom p{line-height:1.7}.contact-button{background:var(--paper);padding:21px 30px;border-radius:50px;font-size:18px;font-weight:700;white-space:nowrap;transition:background .2s}.contact-button:hover{background:var(--yellow)}footer{padding:40px 4.5%;display:flex;align-items:center;gap:30px;flex-wrap:wrap}footer p{font-size:13px;margin-right:auto}footer>a:not(.brand){font-size:14px}.concept{font-size:10px;letter-spacing:1px;width:100%;text-align:right;color:#666}@media(min-width:1500px){.art-stage{height:560px}}@media(max-width:800px){header{padding:20px 5%}nav{gap:20px}.nav-contact{display:none}.hero{padding:25px 5% 0}.eyebrow{font-size:10px;gap:20px}.eyebrow span:last-child{text-align:right}h1{margin-top:35px;font-size:13.3vw;line-height:.94}.asterisk{font-size:.65em}.hero-bottom p{font-size:14px}.round-link{font-size:12px;gap:10px}.art-stage{height:330px;gap:14px;padding:35px 15px}.hero-art{border-width:6px}.hero-art span{display:none}.art-sticker{width:90px;height:90px;font-size:12px;right:1%}.art-sticker small{font-size:9px}.section{padding:65px 6%}.section-top{display:block}.section-top>p{margin-top:20px}.project-image{height:380px}.project-small .project-image{height:310px}.project-small{padding-top:60px}.project-label h3{font-size:19px}.project-label span{font-size:10px}.mural>img{height:360px}.mural>div{padding:25px}.mural h3{font-size:44px}.about-grid{gap:7%}.bio .intro{font-size:21px}.bio p{font-size:15px}footer p{width:60%}}@media(max-width:520px){.brand{font-size:30px}nav{gap:16px;font-size:13px}nav a:nth-child(2){display:none}.hero-bottom{gap:10px}.hero-bottom p{font-size:13px}.round-link{font-size:0}.round-link span{font-size:20px}.art-stage{height:280px;grid-template-columns:1fr 1fr;padding:30px 18px}.art-three{display:none}.art-sticker{top:-15px}.ticker{font-size:16px;padding:16px 0}.projects{grid-template-columns:1fr;gap:30px}.project-small{padding:0}.project-image,.project-small .project-image{height:420px}.mural{grid-template-columns:1fr;margin-top:45px}.mural>img{height:330px}.mural>div{padding:32px}.mural h3{font-size:52px}.about-grid{grid-template-columns:1fr;gap:35px}.about h2{font-size:76px}.contact-bottom{display:block}.contact-button{display:inline-block;margin-top:25px}.contact-bottom p{font-size:15px}footer{gap:25px}footer p{width:auto;flex:1;font-size:12px}.concept{text-align:left}.outline{-webkit-text-stroke:1px var(--black)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Project-led homepage */
.logo{display:block;width:185px;flex-shrink:0}.logo img{height:auto;object-fit:contain}header{position:relative;gap:30px;z-index:10}.header-note{margin-left:auto;font-size:12px;line-height:1.6;letter-spacing:1px}.menu-wrap{position:relative}.menu-toggle{font:600 16px 'DM Sans',sans-serif;display:flex;align-items:center;gap:22px;border:1px solid var(--black);border-radius:30px;background:transparent;padding:14px 22px;cursor:pointer}.menu-lines{width:19px;height:9px;border-top:2px solid;border-bottom:2px solid}.menu-toggle:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.dropdown{position:absolute;right:0;top:calc(100% + 14px);width:255px;background:var(--paper);border:1px solid var(--black);box-shadow:7px 7px 0 var(--blue);padding:10px;display:flex;flex-direction:column;gap:0;align-items:stretch}.dropdown[hidden]{display:none}.dropdown a{font-size:18px;padding:13px 17px;border-bottom:1px solid #ddd}.dropdown a:last-child{border:0}.dropdown a:hover,.dropdown a:focus-visible{background:var(--yellow)}.intro-section{padding:50px 5% 50px}.intro-section .kicker{margin-bottom:24px;font-size:12px}.intro-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.intro-row h1{margin:0;font-size:clamp(66px,8.8vw,142px);line-height:.92}.intro-row>p{font-size:16px;line-height:1.6;flex-shrink:0;margin-bottom:5px}.project-feed{padding:0 5% 90px}.feed-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #bbb;padding:24px 0}.feed-heading h2{font:600 20px 'DM Sans',sans-serif;letter-spacing:-.5px}.feed-heading>span{font-size:12px;letter-spacing:1px}.project-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px 32px}.project-item{min-width:0;scroll-margin-top:30px}.project-visual{height:560px;overflow:hidden;background:#e6e6e3}.project-visual img{transition:transform .35s;object-position:center}.project-item a:hover .project-visual img{transform:scale(1.025)}.project-caption{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;padding-top:18px}.category{font-size:12px;letter-spacing:1.3px;margin-bottom:7px}.project-caption h3{font-size:23px;letter-spacing:-.6px}.project-caption>span{font-size:12px;color:#555;text-align:right;max-width:150px;line-height:1.5}.design-visual{background:var(--blue);padding:30px}.design-visual img{object-fit:contain}.illustration-visual{background:var(--yellow);padding:30px}.illustration-visual img{object-fit:contain}.painting-section{margin-top:80px;scroll-margin-top:25px}.painting-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.painting-grid a{overflow:hidden}.painting-grid img{aspect-ratio:1;object-fit:cover;transition:transform .35s}.painting-grid a:hover img{transform:scale(1.025)}.plain-link{font-size:14px;border-bottom:1px solid;padding-bottom:5px}.wavy-stripes{height:90px;background:var(--paper) url('assets/waves.svg') repeat-x center;background-size:320px 100px}.social-links{display:flex;gap:22px;flex-wrap:wrap}.social-links a{font-size:14px}.social-links a:hover{text-decoration:underline}footer p{line-height:1.6}.contact h2{font-size:clamp(75px,12vw,175px)}@media(max-width:1000px){.intro-row{display:block}.intro-row>p{margin-top:25px}.intro-row>p br{display:none}.project-visual{height:460px}.project-caption{display:block}.project-caption>span{display:block;text-align:left;margin-top:8px;max-width:none}}@media(max-width:650px){.logo{width:145px}.header-note{display:none}header{justify-content:space-between}.menu-toggle{padding:11px 17px;gap:15px}.intro-section{padding:36px 5%}.intro-row h1{font-size:11.4vw}.intro-section .kicker{font-size:11px;letter-spacing:1px}.intro-row>p{font-size:15px}.feed-heading{align-items:flex-start}.feed-heading>span{display:none}.project-grid{grid-template-columns:1fr;gap:35px}.project-visual{height:470px}.project-caption h3{font-size:22px}.design-visual,.illustration-visual{padding:20px}.painting-section{margin-top:55px}.painting-section .feed-heading{display:block}.plain-link{display:inline-block;margin-top:14px}.painting-grid{gap:12px;grid-template-columns:1fr 1fr}.painting-grid a:last-child{display:none}.project-feed{padding-bottom:55px}.wavy-stripes{height:65px}.social-links{gap:20px;width:100%}footer{padding:32px 5%}.dropdown a:nth-child(2){display:block}.dropdown{width:240px}.about h2{font-size:70px}}
.social-links a:nth-child(2){display:block}

/* Linked portfolio pages */
.page-intro,.project-detail{padding:45px 5% 65px}.page-intro h1,.project-detail h1{font-size:clamp(56px,8vw,120px);line-height:1;overflow-wrap:anywhere;margin:30px 0 22px}.page-intro>p{font-size:18px;line-height:1.6;max-width:650px}.gallery-visual{height:480px}.gallery-visual img{object-fit:contain}.project-detail{max-width:1400px;margin:auto}.project-detail>.category{margin-top:40px}.detail-subtitle{font-size:18px}.project-detail figure{margin:35px 0}.project-detail figure img{max-height:850px;object-fit:contain;background:#e6e6e3}.project-detail figcaption{font-size:16px;line-height:1.6;margin-top:20px;max-width:720px}.detail-actions{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.page-callout{padding:40px 5%;background:var(--yellow)}.shop-note{background:var(--yellow);padding:40px;margin-bottom:40px}.shop-note h2,.contact-panel h2{font-size:48px}.shop-note p{margin:20px 0;line-height:1.7}.shop-note .contact-button{display:inline-block}.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:50px 5% 85px;background:var(--red)}.contact-panel p{line-height:1.7;margin-top:20px;max-width:620px}.contact-options .contact-button{display:inline-block;white-space:normal}.contact-options>.plain-link{display:inline-block;margin-top:25px}.contact-options>p{font-size:14px}.dropdown a[aria-current="page"]{background:var(--yellow)}.painting-grid a:last-child{display:block}@media(max-width:650px){.contact-panel{grid-template-columns:1fr;gap:30px}.gallery-visual{height:400px}.shop-note{padding:28px}.page-intro,.project-detail{padding-top:30px}.project-detail h1{font-size:58px}.detail-actions{align-items:flex-start;flex-direction:column}}

/* Original portfolio content */
.intro-row>.dimension-copy{max-width:350px;flex-shrink:1;font-size:18px;line-height:1.6}.blank-projects{min-height:200px}.blank-page{min-height:40vh}.import-section{padding:0 5% 70px}.import-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.import-gallery a{display:block;background:#fff}.import-gallery img{height:auto;object-fit:contain;width:100%}.logos-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.original-about{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:0 5% 80px;align-items:start}.original-about>img{height:auto}.original-about h2{font-size:48px;margin-bottom:24px}.original-about p{line-height:1.9;margin-bottom:20px}.original-contact{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;padding:0 5% 80px}.contact-details h2{font-size:40px;margin-bottom:28px}.contact-details p{font-size:19px;margin-bottom:20px;overflow-wrap:anywhere}.contact-details a{text-decoration:underline;text-underline-offset:5px}#contact-form fieldset{padding:0;border:0;margin:0 0 24px}#contact-form label{display:block;margin-bottom:24px;font-size:16px}#contact-form legend{margin-bottom:16px}#contact-form span{font-size:14px;color:#555}#contact-form input,#contact-form textarea{display:block;width:100%;padding:14px;border:1px solid #777;background:white;font:inherit;margin-top:10px;border-radius:0}#contact-form input:focus,#contact-form textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}#contact-form .name-fields label{margin:0}#contact-form button{border:1px solid;cursor:pointer;font:inherit;background:var(--yellow)}.form-note{font-size:14px;line-height:1.6;margin:16px 0}#contact-form>.plain-link{display:inline-block}.art-lightbox{width:min(1100px,95vw);max-width:95vw;max-height:95vh;border:0;padding:20px;background:var(--paper)}.art-lightbox::backdrop{background:#000d}.art-lightbox>img{height:70vh;object-fit:contain;margin:15px 0}.art-lightbox button{font:inherit;padding:10px 18px;background:white;border:1px solid;cursor:pointer}.close-viewer{display:block;margin-left:auto}.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:15px}.art-lightbox button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media(max-width:800px){.original-about,.original-contact{grid-template-columns:1fr;gap:40px}.original-about>img{max-height:650px;object-fit:contain}.import-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.intro-row>.dimension-copy{max-width:600px}}@media(max-width:520px){.logos-gallery{grid-template-columns:1fr}.name-fields{gap:12px}.art-lightbox{padding:12px}.art-lightbox>img{height:65vh}.blank-projects{min-height:160px}}

/* Featured projects */
.featured-grid{grid-template-columns:1fr 1fr;align-items:start}.featured-visual{height:520px;background:#e6e6e3}.featured-visual img{object-fit:contain}.featured-description{font-size:16px;line-height:1.65;margin-top:16px;max-width:620px}.project-credit{margin:20px 0 30px}.project-videos{margin:55px 0}.project-videos h2{font:600 24px 'DM Sans',sans-serif;letter-spacing:0}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.video-grid video{display:block;width:100%;max-height:650px;background:#171717}.video-grid figure{margin:24px 0}.featured-grid .project-caption>span{max-width:180px}@media(max-width:650px){.featured-grid,.video-grid{grid-template-columns:1fr}.featured-visual{height:auto}.featured-visual img{height:auto;max-height:none}.featured-grid{gap:40px}.video-grid{gap:0}.video-grid video{max-height:75vh}}

.featured-video{display:flex;align-items:center;background:#171717}.featured-video video{display:block;width:100%;height:100%;object-fit:contain}@media(max-width:650px){.featured-video video{height:auto}}



/* Publications page */
.publication-intro { max-width: 800px; }
.publication-lede { max-width: 650px; font-size: clamp(1.12rem, 2vw, 1.35rem); line-height: 1.55; }
.publication-feed { max-width: 1180px; margin: 4rem auto 0; }
.publication-group + .publication-group { margin-top: 5rem; }
.publication-group-title { margin: 0 0 1.25rem; font-family: 'Barlow Condensed', Impact, sans-serif; font-size: clamp(1.5rem, 3vw, 2.35rem); letter-spacing: .02em; }
.publication-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.publication-card { display: flex; flex-direction: column; min-height: 250px; padding: 1.55rem 1.6rem 1.35rem; border: 1px solid #c6c6c0; background: #fff; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.publication-card:hover { transform: translateY(-4px) rotate(-.25deg); background: var(--yellow); box-shadow: 7px 7px 0 var(--black); }
.publication-meta { margin: 0 0 .85rem; font-size: .73rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; opacity: .7; }
.publication-card h3 { margin: 0 0 .65rem; font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.06; }
.publication-card p:not(.publication-meta) { margin: 0; line-height: 1.5; }
.publication-actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; margin-top: auto; padding-top: 1.35rem; }
.publication-link { display: inline-block; font-size: .86rem; font-weight: 700; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.publication-link-secondary { opacity: .72; }
.publication-note { max-width: 1180px; margin: 4.5rem auto 0; padding: 1.35rem 1.5rem; border-top: 2px solid var(--black); border-bottom: 2px solid var(--black); font-size: 1.05rem; }
.publication-note p { margin: 0; }
@media (max-width: 720px) { .publication-grid { grid-template-columns: 1fr; } .publication-feed { margin-top: 3rem; } .publication-group + .publication-group { margin-top: 3.5rem; } }

.mural-links{display:block;padding:0 5% 80px}.mural-links ul{list-style:none;margin:0;padding:0}.mural-links li{border-bottom:1px solid #bbb}.mural-links li:first-child{border-top:1px solid #bbb}.mural-links a{display:block;padding:22px 0;font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(28px,4vw,44px);font-weight:700;line-height:1.15}.mural-links a:hover{color:var(--blue)}.mural-links a:focus-visible{outline-offset:3px}

/* Brewery illustration projects. */
.beer-project{padding:0 5% 80px}.beer-project h2{font-size:clamp(40px,5.5vw,76px);max-width:950px}.beer-project-client{font-size:18px;line-height:1.6;margin:18px 0 30px}.beer-project-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;align-items:start}.beer-project-gallery a{display:block;grid-column:span 2}.beer-project-gallery a:nth-child(n+4),.beer-project:last-child .beer-project-gallery a{grid-column:span 3}.beer-project-gallery img{width:100%;height:auto;object-fit:contain}@media(max-width:700px){.beer-project{padding-bottom:50px}.beer-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.beer-project-gallery a,.beer-project-gallery a:nth-child(n+4),.beer-project:last-child .beer-project-gallery a{grid-column:span 1}.beer-project-client{font-size:16px}}@media(max-width:420px){.beer-project-gallery{grid-template-columns:1fr}}

.album-nav{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:32px;font-weight:700}.album-nav a{text-decoration:underline;text-underline-offset:5px}.album-section{padding:0 5% 85px;scroll-margin-top:30px}.album-section h2{font-size:clamp(44px,6vw,80px)}.album-lede{max-width:820px;font-size:18px;line-height:1.75;margin:18px 0 30px}.album-kicker{text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-top:14px}.album-feature{display:grid;grid-template-columns:1.3fr 1fr;gap:5%;align-items:center;margin:35px 0 60px}.album-feature h3{font-size:clamp(30px,3.2vw,46px);line-height:1.12}.album-feature p{font-size:17px;line-height:1.75;margin:20px 0 28px}.album-feature img{width:100%;height:auto}.album-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.album-gallery figure{margin:0}.album-gallery img{width:100%;height:auto}.album-gallery figcaption{font-size:14px;line-height:1.5;margin-top:12px}.album-mockup-note{font-size:13px!important;color:#555}.pickup-note{font-weight:700;margin-top:20px}@media(max-width:700px){.album-feature{grid-template-columns:1fr;gap:24px}.album-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.album-section{padding-bottom:55px}.album-lede{font-size:16px}}

.book-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;margin-top:35px}.book-project img{width:100%;height:auto}.book-project h3{font-size:30px;line-height:1.15;margin:20px 0 12px}.book-project p{margin-bottom:20px}.book-project .plain-link{font-size:15px}@media(max-width:800px){.book-gallery{grid-template-columns:1fr}.book-project{max-width:650px}.book-project h3{font-size:32px}}

/* Black header with reversed logo and icon-only navigation. */
header{background:#000;color:#fff;border-bottom-color:#000}
header .logo img{filter:brightness(0) invert(1)}
header .menu-toggle{width:48px;height:48px;padding:0;justify-content:center;gap:0;border:0;border-radius:0;color:#fff;background:transparent}
header .menu-lines{position:relative;display:block;width:26px;height:26px;border:0;transition:transform .2s ease}
header .menu-lines::before,header .menu-lines::after{content:"";position:absolute;top:50%;left:50%;width:26px;height:2px;background:currentColor;transform:translate(-50%,-50%)}
header .menu-lines::after{transform:translate(-50%,-50%) rotate(90deg)}
header .menu-toggle[aria-expanded="true"] .menu-lines{transform:rotate(45deg)}
header .menu-toggle:focus-visible,header .logo:focus-visible{outline:2px solid #fff;outline-offset:5px}
header .dropdown{color:var(--black)}

/* Consistent apparel portfolio presentation. */
.shirt-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0 5% 80px}.shirt-card{display:block;aspect-ratio:1;background:#f0f0f0;overflow:hidden}.shirt-card img{width:100%;height:100%;object-fit:contain}.shirt-card:focus-visible{outline:3px solid var(--blue);outline-offset:5px}@media(max-width:800px){.shirt-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:50px}}@media(max-width:420px){.shirt-gallery{grid-template-columns:1fr}}

/* Instagram posts, directly below New things. */
.instagram-section{padding:20px 5% 80px}.instagram-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.instagram-heading h2{font-size:clamp(42px,6vw,78px)}.instagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.instagram-card{min-width:0}.instagram-image{aspect-ratio:1;position:relative;background:#e5e5e3;overflow:hidden}.instagram-image img{width:100%;height:100%;object-fit:cover}.instagram-image span{position:absolute;bottom:14px;left:14px;background:var(--paper);padding:8px 12px;font-size:14px;font-weight:600}.instagram-card time{display:block;font-size:14px;margin:18px 0 10px;color:#555}.instagram-card p{font-size:16px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:18px}.instagram-card>.plain-link{font-size:16px}@media(max-width:700px){.instagram-grid{grid-template-columns:1fr;gap:40px}.instagram-heading{align-items:start;flex-direction:column;gap:16px}.instagram-section{padding-bottom:55px}}

.dropdown .nav-coming-soon{display:block;padding:14px 20px;font-size:18px;opacity:.55;cursor:default}.shop-closed{min-height:60vh}.shop-closed .plain-link{display:inline-block;margin-top:28px}

/* Portrait-led homepage with a finite, user-controlled art rail. */
.artist-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:min(760px,calc(100vh - 100px));background:var(--paper)}
.artist-portrait{position:relative;min-height:580px;overflow:hidden;background:#202020}
.artist-portrait img{width:100%;height:100%;min-height:580px;object-fit:cover;object-position:68% center}
.artist-portrait>span,.artist-portrait>.artist-shop-link{position:absolute;left:22px;bottom:22px;padding:10px 13px;background:var(--yellow);color:var(--black);font-size:11px;font-weight:700;letter-spacing:.11em}
.artist-hero-copy{align-self:center;padding:clamp(36px,6vw,96px)}
.artist-hero-copy .kicker{margin-bottom:0}
.artist-hero-copy h1{margin:27px 0 25px;font-size:clamp(62px,8vw,128px);line-height:.9;letter-spacing:-.035em}
.artist-hero-copy .dimension-copy{max-width:460px;font-size:clamp(17px,1.8vw,21px);line-height:1.6}
.hero-explore{display:inline-flex;align-items:center;gap:24px;margin-top:34px;border-bottom:1px solid;padding:0 0 10px;font-size:15px;font-weight:700}
.hero-explore span{display:grid;place-items:center;width:36px;height:36px;border:1px solid;border-radius:50%;font-size:20px}
.painting-rail{padding:60px 0 80px;background:#efefeb;overflow:hidden}
.painting-rail-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:0 5% 26px}
.painting-rail-heading .kicker{margin-bottom:12px}
.painting-rail-heading h2{font-size:clamp(42px,5.5vw,76px)}
.painting-rail-heading>span{font-size:13px;font-weight:600;white-space:nowrap}
.painting-rail-track{display:flex;gap:18px;overflow-x:auto;padding:0 5% 14px;scroll-snap-type:x mandatory;scrollbar-color:#777 transparent;scrollbar-width:thin}
.painting-rail-track:focus-visible{outline:3px solid var(--blue);outline-offset:-4px}
.painting-rail-card{flex:0 0 clamp(260px,31vw,430px);aspect-ratio:1.18;background:#ddd;scroll-snap-align:start;overflow:hidden}
.painting-rail-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.painting-rail-card:hover img{transform:scale(1.035)}
.referral-section{margin:0 5% 70px;padding:44px;background:var(--yellow);border:2px solid var(--black)}
.referral-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.referral-section h2{font-size:clamp(48px,6.5vw,88px);margin-bottom:22px}
.referral-section h2 em{font-style:normal;color:var(--blue)}
.referral-lead{font-size:18px;line-height:1.65;max-width:640px}
.referral-steps{list-style:none;counter-reset:steps;display:flex;flex-wrap:wrap;gap:14px 20px;padding:0;margin:28px 0 0;font-size:14px;font-weight:600}
.referral-steps li{counter-increment:steps;display:flex;align-items:center;gap:8px}
.referral-steps li:before{content:counter(steps);background:var(--black);color:white;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}
.referral-form{min-width:0}.referral-form fieldset{padding:0;border:0;margin:0;min-width:0}.referral-form legend{font-weight:700;margin-bottom:18px;font-size:22px}
.referral-form label{display:block;margin-bottom:18px;font-size:14px;font-weight:600}
.referral-form input{display:block;width:100%;height:50px;margin-top:8px;padding:12px;background:var(--paper);border:1px solid var(--black);border-radius:0;font:inherit;font-size:16px}
.referral-form button{font:inherit;min-height:48px;border:1px solid var(--black);border-radius:28px;padding:12px 23px;color:var(--paper);background:var(--black);font-weight:600;opacity:.65;cursor:not-allowed}
.referral-form :focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.referral-status,.referral-rules{font-size:14px;line-height:1.65;margin-top:16px}.referral-rules{font-size:12px}
.cv-content{max-width:1050px;margin:0 auto;padding:0 5% 90px}
.cv-group{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.5fr);gap:42px;padding:32px 0;border-top:1px solid #aaa}
.cv-group h2{font-size:clamp(28px,3.2vw,42px)}
.cv-entry{margin:0 0 28px}.cv-entry:last-child{margin-bottom:0}.cv-entry h3{font-size:16px;letter-spacing:.035em;margin:0 0 8px}.cv-entry p{font-size:15px;line-height:1.75;margin:0 0 10px}.cv-entry p:last-child{margin-bottom:0}.cv-meta{font-weight:600;color:#555}
.support-hero{padding:clamp(54px,9vw,130px) 5% 100px;background:var(--paper)}
.support-hero>h1{font-size:clamp(72px,12vw,170px);line-height:.88;margin:25px 0 30px}
.support-hero>h1 span{color:var(--blue)}
.support-lede{max-width:690px;font-size:clamp(18px,2vw,24px);line-height:1.6}
.support-panel{max-width:850px;margin-top:64px;padding:clamp(25px,5vw,55px);background:var(--yellow);border:2px solid var(--black)}
.support-panel-label{font-size:12px;font-weight:700;letter-spacing:.12em}.support-panel h2{font-size:clamp(40px,6vw,68px);margin:15px 0}.support-panel>p:not(.support-panel-label){max-width:620px;line-height:1.7}
.support-disabled{display:inline-flex;margin-top:25px;padding:14px 20px;border:1px solid var(--black);border-radius:30px;font-size:14px;font-weight:700;opacity:.65}
@media(max-width:750px){.artist-hero{grid-template-columns:1fr;min-height:unset}.artist-portrait,.artist-portrait img{min-height:0;height:min(68vh,590px)}.artist-portrait img{object-position:68% center}.artist-hero-copy{padding:42px 6% 55px}.artist-hero-copy h1{font-size:clamp(58px,13vw,95px);margin:20px 0}.painting-rail{padding:45px 0 55px}.painting-rail-heading{align-items:start;flex-direction:column;padding-bottom:20px}.painting-rail-heading>span{font-size:12px}.painting-rail-card{flex-basis:78vw}.referral-section{padding:30px;margin-bottom:50px}.referral-grid{grid-template-columns:1fr;gap:30px}.referral-lead{font-size:16px}.cv-group{grid-template-columns:1fr;gap:16px;padding:26px 0}.cv-group h2{font-size:34px}.support-hero{padding:55px 6% 70px}.support-hero>h1{font-size:clamp(65px,14vw,105px)}.support-panel{margin-top:42px}}
@media(max-width:420px){.artist-hero-copy h1{font-size:58px}.referral-section{padding:24px 20px}.referral-steps{display:grid;gap:12px}.referral-section h2{font-size:52px}.cv-content{padding-bottom:60px}}

/* Homepage order: portrait, introduction, three paintings, artist, then new work. */
.artist-hero{display:flex;flex-direction:column;min-height:0;padding:34px 5% 0;background:var(--paper)}
.artist-portrait{width:min(100%,900px);min-height:0;height:auto;margin:0 auto;overflow:hidden;background:#202020}
.artist-portrait img{display:block;width:100%;height:auto;min-height:0;object-fit:contain;object-position:center}
.artist-portrait>span,.artist-portrait>.artist-shop-link{left:16px;bottom:16px}
.artist-hero-copy{align-self:stretch;max-width:1200px;margin:0 auto;text-align:center;padding:44px 20px 48px}
.artist-hero-copy .kicker{margin-bottom:0}
.artist-hero-copy h1{margin:22px 0 19px;font-size:clamp(58px,8vw,112px);line-height:.9;letter-spacing:-.035em}
.artist-hero-copy .dimension-copy{max-width:650px;margin:0 auto;font-size:clamp(17px,1.8vw,21px);line-height:1.6}
.painting-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0 5% 70px;max-width:1600px;margin:0 auto}
.painting-triptych a{display:block;aspect-ratio:1;overflow:hidden;background:transparent}
.painting-triptych img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s ease}
.painting-triptych a:hover img{transform:scale(1.025)}
.painting-triptych a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:750px){.artist-hero{padding:22px 5% 0}.artist-portrait{width:min(100%,720px)}.artist-hero-copy{padding:34px 5% 40px}.artist-hero-copy h1{font-size:clamp(54px,12vw,82px);margin:19px 0 16px}.painting-triptych{gap:10px;padding:0 5% 48px}.painting-triptych a{aspect-ratio:1}}
@media(max-width:420px){.artist-hero-copy h1{font-size:52px}.artist-portrait>span,.artist-portrait>.artist-shop-link{left:8px;bottom:8px;padding:7px 9px;font-size:9px}}


/* Full-bleed homepage portrait and seamless artwork row. */
.artist-hero{padding:0;background:var(--paper)}
.artist-portrait{width:100%;max-width:none;margin:0;background:#202020}
.artist-portrait img{width:100%;height:auto;min-height:0;object-fit:contain;object-position:center}
.painting-triptych{width:100%;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;margin:0}
.painting-triptych a{aspect-ratio:1;overflow:hidden;background:transparent}
.painting-triptych img{width:100%;height:100%;object-fit:cover}
@media(max-width:750px){.artist-hero{padding:0}.artist-portrait{width:100%}.painting-triptych{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0}.painting-triptych a{aspect-ratio:1}}

/* Recent refinements */
.black-divider{width:100%;height:76px;background:#111;margin:0}
#about .about-grid>.about-tagline{font-size:clamp(38px,4.8vw,68px);line-height:.82;letter-spacing:-.045em}
#about .about-grid>.about-tagline em{line-height:.82}
.back-button{display:inline-block;margin:16px 5% 0;padding:0 0 5px;border-bottom:1px solid #777;font-size:14px;font-weight:600}
.back-button:hover{color:var(--red)}
.procreate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px;padding:0 5% 80px}.procreate-card{margin:0}.procreate-card a{display:block;background:#eee;overflow:hidden}.procreate-card img{width:100%;height:auto;aspect-ratio:11/14;object-fit:contain;background:#eee}.procreate-card figcaption{padding:12px 0;border-bottom:1px solid #bbb}.procreate-card h2{font-size:21px;line-height:1.2;margin:0}.procreate-card p{font-size:13px;color:#555;margin:7px 0 0}
@media(max-width:650px){.black-divider{height:56px}.procreate-grid{grid-template-columns:1fr;gap:30px;padding-bottom:55px}}

/* One soft entrance wave for the homepage headline. */
.artist-hero-copy .wave-word{display:inline-block;white-space:nowrap}
.artist-hero-copy .wave-letter{display:inline-block;animation:color-outside-wave .7s cubic-bezier(.2,.75,.3,1) both;animation-delay:calc(var(--wave-index)*24ms)}
@keyframes color-outside-wave{0%{transform:translateY(0) rotate(0)}28%{transform:translateY(-.07em) rotate(-1deg)}58%{transform:translateY(.015em) rotate(.3deg)}100%{transform:translateY(0) rotate(0)}}
@media(prefers-reduced-motion:reduce){.artist-hero-copy .wave-letter{animation:none}}


/* About page collaborators: a consistent monochrome mark wall. */
.collaborators{padding:56px 5% 92px;background:#111;color:#fff}.collaborators-heading{max-width:1500px;margin:0 auto 28px}.collaborators-heading .eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#bdbdbd;margin:0 0 9px}.collaborators-heading h2{font-size:clamp(38px,5vw,64px);line-height:.98;margin:0;letter-spacing:-.035em}.collaborator-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #464646;border-left:1px solid #464646}.collaborator-card{min-width:0;min-height:144px;padding:25px;display:flex;align-items:center;justify-content:center;background:#f3f2ee;border-right:1px solid #464646;border-bottom:1px solid #464646;transition:background .2s ease}.collaborator-card:hover,.collaborator-card:focus-visible{background:#fff}.collaborator-card:focus-visible{outline:2px solid white;outline-offset:-4px}.collaborator-card img{display:block;width:100%;height:90px;object-fit:contain;filter:grayscale(1) contrast(1.12);mix-blend-mode:multiply;opacity:.92;transition:opacity .2s ease}.collaborator-card.logo-on-dark img{filter:grayscale(1) invert(1) contrast(1.12)}.collaborator-card:hover img{opacity:1}.collaborator-wordmark{display:block;color:#fff;text-align:center;font-weight:800;line-height:1.05;letter-spacing:.06em}.state-vintage{font-size:clamp(15px,1.6vw,22px)}.state-vintage small{font-size:.55em;letter-spacing:.2em}.macmaclellan{font-family:Georgia,serif;font-size:clamp(20px,2vw,28px);font-weight:600;letter-spacing:.01em}@media(max-width:850px){.collaborator-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collaborator-card{min-height:128px;padding:19px}.collaborator-card img{height:78px}}@media(max-width:560px){.collaborators{padding:44px 5% 60px}.collaborator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collaborator-card{min-height:112px;padding:15px}.collaborator-card img{height:68px}}@media(prefers-reduced-motion:reduce){.collaborator-card,.collaborator-card img{transition:none}}

/* White collaborator marks on black. */
.collaborator-card,.collaborator-card:hover,.collaborator-card:focus-visible{background:#111}.collaborator-card img,.collaborator-card.logo-on-dark img{filter:grayscale(1) invert(1) contrast(3);mix-blend-mode:screen;opacity:1}.collaborator-card img.white-mark{filter:brightness(0) invert(1)}.collaborator-wordmark{color:#fff}
/* Instagram: a dedicated dark, horizontally browsable feed. */
.instagram-section{background:#090909;color:#fff;padding:64px 5%;overflow:hidden}.instagram-heading{align-items:center}.instagram-heading h2{font-size:clamp(36px,5vw,64px)}.instagram-section .plain-link{color:#fff}.instagram-grid{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:4px 2px 22px;scrollbar-width:thin;scrollbar-color:#777 #252525}.instagram-card{flex:0 0 min(370px,80vw);background:#171717;border:1px solid #363636;border-radius:10px;overflow:hidden;scroll-snap-align:start}.instagram-card::before{content:'◎  tonzola_art';display:block;padding:17px 18px;font-size:14px;font-weight:700;letter-spacing:.02em}.instagram-card .instagram-image{background:#222}.instagram-card time{margin:18px 18px 10px;color:#aaa;font-size:12px}.instagram-card>p{margin:0 18px 18px;font-size:14px}.instagram-card>.plain-link{display:inline-block;margin:0 18px 20px;font-size:13px}.instagram-scroll-hint{color:#aaa;font-size:13px;margin-top:14px}.instagram-grid:focus-visible{outline:2px solid #fff;outline-offset:4px}@media(max-width:650px){.instagram-section{padding:44px 5%}.instagram-heading{align-items:flex-start}.instagram-grid{gap:15px}}

/* Keep monochrome logos and post badges readable on dark surfaces. */
.collaborator-card img[src$="sprocket-mural-works.png"]{filter:grayscale(1) invert(1) brightness(3) contrast(3)}
.instagram-image span{color:#111;background:#fff}

/* Preserve the linework inside the new collaborator marks while rendering them monochrome. */
.collaborator-card img[src$="srcc.png"],.collaborator-card img[src$="switchboard.png"],.collaborator-card img[src$="sprocket-mural-works.png"]{filter:grayscale(1) brightness(2.2) contrast(4)}
.collaborator-card img[src$="srcc.png"]{filter:grayscale(1) brightness(2.2) contrast(4)}
.collaborator-card img[src$="switchboard.png"]{filter:grayscale(1) contrast(4)}
.collaborator-card img[src$="sprocket-mural-works.png"]{filter:grayscale(1) contrast(4)}

.artist-portrait>.artist-shop-link{display:inline-flex;align-items:center;min-height:44px}.artist-shop-link:hover{text-decoration:underline;text-underline-offset:3px}.artist-shop-link:focus-visible{outline:3px solid var(--black);outline-offset:4px}
