@font-face{font-family:StreetMarker;src:url('assets/PermanentMarker-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
.contact-stage{max-width:1480px;margin:95px auto 0;padding:65px clamp(24px,4vw,65px) 65px;display:grid;grid-template-columns:1fr 1.15fr;gap:38px;align-items:center;scroll-margin-top:20px}
.contact-intro h2{margin:0;filter:drop-shadow(3px 6px 2px #0009);-webkit-text-stroke:0}.contact-intro h2 img{width:100%;height:auto;display:block}.contact-intro p{display:table;position:relative;font:26px/1.35 Kalam,cursive;color:#fff9eb;margin:5px auto 30px;text-shadow:2px 3px #000;transform:rotate(-3deg)}.contact-intro p::after{content:'';position:absolute;bottom:-14px;left:-7%;width:112%;height:8px;background:#fff000;clip-path:polygon(0 50%,96% 0,100% 75%,7% 100%)}
.contact-paper{min-width:0;position:relative;padding:15px 0;margin:0;filter:drop-shadow(3px 5px 3px #0008)}
.ink-strip{position:relative;display:flex;align-items:center;gap:18px;color:#111;min-height:91px;margin:0 0 22px;padding:18px 24px;isolation:isolate;transform:rotate(-1deg)}
.ink-strip::before{content:'';position:absolute;inset:0;z-index:-1;background:#f5efdc;clip-path:polygon(1% 9%,5% 3%,9% 8%,15% 2%,24% 6%,34% 1%,45% 5%,58% 2%,68% 6%,77% 0,88% 5%,98% 2%,100% 15%,98% 26%,100% 39%,98% 50%,100% 62%,98% 73%,100% 89%,96% 97%,85% 93%,75% 100%,64% 95%,52% 99%,42% 93%,30% 98%,18% 93%,7% 100%,1% 90%,2% 75%,0 63%,2% 49%,0 33%)}
.email-strip{transform:rotate(.6deg)}.email-strip::before{background:#fff000}
.ink-strip span,.message-paint label{font:clamp(22px,2.3vw,32px)/1.2 StreetMarker,cursive;text-transform:uppercase}
.ink-strip input{width:100%;min-width:0;background:transparent;border:0;border-bottom:2px solid #161218;border-radius:0;font:21px/1.4 Kalam,cursive;color:#18121b;padding:10px 4px;outline-offset:5px;color-scheme:light}
.message-paint{position:relative;isolation:isolate;padding:42px 35px 38px;min-height:265px;margin:0 -14px;background:url('assets/contact-paint.svg') center/100% 100% no-repeat}
.message-paint::before{content:'';position:absolute;z-index:-1;inset:30px 25px;background:#111014ed;clip-path:polygon(2% 4%,94% 0,100% 9%,97% 94%,10% 100%,0 87%)}
.message-paint label{display:block;color:#fff9ed;transform:rotate(-3deg);margin-bottom:12px}.message-paint textarea{display:block;resize:vertical;min-height:145px;width:100%;border:0;background:transparent;color:#fff9ed;font:21px/1.5 Kalam,cursive;padding:8px;outline-offset:4px}
.contact-paper :is(input,textarea):focus-visible{outline:2px solid #a929f4}.ink-strip:focus-within{filter:drop-shadow(0 0 5px #2d6dff)}
.contact-submit{text-align:right;margin-top:-12px;position:relative;z-index:1}.paint-button{width:min(440px,95%);aspect-ratio:3.5;border:0;background:transparent url('assets/contact-arrow.svg') center/100% 100% no-repeat;color:#fff;font:clamp(25px,3vw,38px)/1 StreetMarker,cursive;text-transform:uppercase;padding:16px 45px 10px 15px;cursor:pointer;transform:rotate(-3deg);transition:transform .18s,filter .18s}
.paint-button:hover{transform:rotate(-1deg) translateY(-5px) scale(1.025);filter:drop-shadow(0 5px 5px #1454ff66)}.paint-button:active{transform:rotate(-3deg) translateY(2px) scale(.97)}.paint-button:focus-visible{outline:3px solid #fff;outline-offset:5px}
#contact-note,#contact-status{font:15px/1.4 BarlowCondensed,sans-serif;color:#e8dfd2;max-width:400px;margin:10px 0 0 auto;text-shadow:1px 2px #000}#contact-status:empty{display:none}
.certificate-note{max-width:1200px;margin:15px auto 50px;padding:25px 30px;border-left:3px solid #9b16ef;background:#100d14b8;display:flex;gap:22px;align-items:center;scroll-margin-top:20px}.certificate-icon{font-size:50px;color:#ffeb00}.section-tag,.coming-label{font:14px/1.4 StreetMarker,cursive;color:#ffe600}.certificate-note h2{font:26px/1.3 StreetMarker,cursive;filter:none;-webkit-text-stroke:0;margin:8px 0}.certificate-note p{font:18px/1.5 Kalam,cursive;margin:8px 0}.coming-label{color:#c4b2cc}
.site-footer{padding:65px clamp(25px,5vw,85px) 25px;background:linear-gradient(transparent,#08070be8 25%);color:#fff8ec}.footer-top{max-width:1320px;margin:auto;display:grid;grid-template-columns:.85fr 1fr 1fr;gap:55px;align-items:start}.footer-brand{display:block;max-width:235px;transition:transform .2s}.footer-brand:hover{transform:rotate(-3deg) scale(1.04)}.footer-brand img{display:block;width:100%;height:auto}.site-footer h3{font:25px/1.3 StreetMarker,cursive;text-transform:uppercase;margin:0 0 24px;position:relative}.site-footer h3::after{content:'';display:block;width:130px;height:5px;background:#ffee00;transform:rotate(-3deg);margin-top:9px}.footer-nav,.footer-social{border-left:1px solid #eee5;padding-left:38px}.footer-nav a{display:flex;gap:15px;justify-content:space-between;text-decoration:none;color:inherit;font:21px/1.5 Kalam,cursive;padding:4px 0;transition:color .2s,transform .2s}.footer-nav a:hover{color:#fff000;transform:translateX(4px)}
.social-tags{display:flex;flex-direction:column;gap:15px}.social-tag{display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;padding:4px 0;background:none;color:#fff8ec;text-align:left;font:24px/1.4 StreetMarker,cursive;cursor:pointer;transition:color .2s,transform .2s}.social-tag:hover{color:#ffed00;transform:translateX(4px)}
.site-footer :is(a,button):focus-visible{outline:2px solid #fff000;outline-offset:5px}.footer-bottom{max-width:1320px;margin:30px auto 0;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font:13px/1.5 BarlowCondensed,sans-serif;color:#a99cb0}.deskflow-credit{font:14px/1.5 BarlowCondensed,sans-serif;color:#f3500f}
.contact-dialog{width:min(500px,calc(100vw - 40px));border:2px solid #9b16ef;background:#15111d;color:#fff7e7;padding:40px 30px;box-shadow:8px 8px #144dff}.contact-dialog::backdrop{background:#000c}.contact-dialog h2{font:29px/1.3 StreetMarker,cursive;filter:none;-webkit-text-stroke:0;margin:0 0 20px}.contact-dialog p{font:20px/1.5 Kalam,cursive}.dialog-close{position:absolute;right:10px;top:4px;background:none;border:0;color:#fff;font:32px Arial;cursor:pointer}.copy-draft{background:#fff000;border:0;padding:13px 20px;color:#111;font:19px StreetMarker,cursive;cursor:pointer}.copy-draft[hidden]{display:none}.contact-dialog button:focus-visible{outline:3px solid #a524e9;outline-offset:3px}
@media(max-width:900px){.contact-stage{gap:25px;padding-inline:25px}.ink-strip{padding:17px;gap:12px}.footer-top{gap:25px}.footer-nav,.footer-social{padding-left:20px}}
@media(max-width:700px){.contact-stage{grid-template-columns:1fr;margin-top:60px;padding:30px 24px 35px;gap:15px}.contact-intro{max-width:470px;margin:auto}.contact-intro p{font-size:22px}.ink-strip{min-height:83px}.ink-strip span{font-size:23px}.ink-strip input{font-size:18px}.message-paint{padding:40px 29px 35px}.message-paint textarea{font-size:19px}.paint-button{max-width:340px;font-size:29px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 24px}.footer-brand{grid-column:1/-1;max-width:190px}.footer-nav,.footer-social{padding-left:0;border:0}.site-footer h3{font-size:20px}.footer-nav a{font-size:18px}.social-tag{font-size:20px}.certificate-note{margin-inline:24px;padding:20px}.certificate-note h2{font-size:22px}.certificate-note p{font-size:16px}.certificate-icon{display:none}}
@media(prefers-reduced-motion:reduce){.paint-button,.footer-brand,.social-tag,.footer-nav a{transition:none;transform:none!important}}
.contact-hand{position:absolute;z-index:2;right:-35px;top:8px;width:145px;height:auto;pointer-events:none;transform:rotate(3deg);transition:transform .25s}.message-paint:focus-within .contact-hand{transform:rotate(-4deg) translateY(-4px)}
@media(max-width:700px){.contact-hand{width:100px;right:-10px;top:6px}.message-paint label{max-width:calc(100% - 65px)}}
@media(prefers-reduced-motion:reduce){.contact-hand{transition:none;transform:none!important}}

/* Footer follows the active page and reaches the viewport bottom on short pages. */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
body>main{flex:1 0 auto;width:100%}
body>.detail-page{margin:0 auto}
body>.site-footer{flex:0 0 auto;margin-top:auto;width:100%}

/* V45: separate transparent paper assets, live form controls. */
.collage-contact{max-width:1400px;grid-template-columns:1.15fr 1fr;gap:35px;padding:35px 28px 45px;background:none}
.collage-intro h2{margin:0;filter:none;-webkit-text-stroke:0}.collage-intro img{width:100%;height:auto;display:block}
.collage-form-wrap{width:100%;max-width:550px;justify-self:center;min-width:0}
.collage-form{background:url('assets/contact-paper-v45.webp') center/100% 100% no-repeat;padding:68px 15% 48px 10%;display:flex;flex-direction:column;color:#171217;filter:drop-shadow(2px 5px 4px #0006)}
.collage-form label{font:24px/1.2 StreetMarker,cursive;text-transform:uppercase;margin:0 0 7px;transform:rotate(-2deg);align-self:flex-start}
.collage-form input,.collage-form textarea{box-sizing:border-box;display:block;width:100%;min-width:0;background:#fff5;border:1.5px solid #282020;border-radius:7px;color:#171217;font:19px/1.4 Kalam,cursive;padding:7px 10px;margin:0 0 17px;outline-offset:3px}
.collage-form input{height:43px}.collage-form textarea{height:105px;min-height:90px;resize:vertical}
.collage-form :is(input,textarea):focus-visible{outline:2px solid #a719cf;background:#fffa}
.collage-button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:15px;background:transparent url('assets/yellow-brush-v45.webp') center/100% 100% no-repeat;border:0;color:#100d10;text-decoration:none;padding:25px 25px 30px;font:clamp(20px,2.3vw,31px)/1.1 StreetMarker,cursive;text-transform:uppercase;cursor:pointer;transition:transform .2s,filter .2s;text-align:center;min-height:86px}
.collage-button>span:last-child{font-family:Kalam,cursive;font-size:1.5em}.collage-button:hover{transform:rotate(-1deg) translateY(-3px);filter:drop-shadow(0 3px 6px #b817c34d)}.collage-button:active{transform:translateY(1px)}.collage-button:focus-visible{outline:3px solid #ae1bda;outline-offset:3px}
.contact-collage-send{color:#8317a6;margin:-5px -5% 0;width:110%}
.collage-contact #contact-note,.collage-contact #contact-status{margin:4px auto 0;max-width:390px;text-align:center;font:14px/1.4 Kalam,cursive}
@media(max-width:700px){.collage-contact{grid-template-columns:1fr;gap:8px;padding:25px 12px 35px;margin-top:40px}.collage-intro{max-width:460px;margin:auto}.collage-form-wrap{max-width:470px}.collage-form{padding:52px 15% 35px 10%}.collage-form label{font-size:21px}.collage-form input,.collage-form textarea{font-size:17px}.collage-button{font-size:20px;gap:9px;min-height:78px;padding:22px 18px 27px}}
@media(prefers-reduced-motion:reduce){.collage-button{transition:none;transform:none!important}}

/* V49: transparent collage sections on the existing continuous wall. */
.about-collage,.verify-collage{max-width:1200px;margin:40px auto;padding:25px 35px;display:grid;align-items:center;gap:35px;scroll-margin-top:28px}
.about-collage{grid-template-columns:.7fr 1.3fr;max-width:1080px;margin-top:25px;margin-bottom:55px}
.artist-polaroid{width:100%;max-width:330px;justify-self:center;transform:rotate(-4deg);filter:drop-shadow(3px 6px 5px #0008)}
.about-paper{position:relative;min-width:0}.about-paper>img{display:block;width:100%;height:auto;filter:drop-shadow(2px 6px 4px #0008)}
.about-paper>p{position:absolute;top:43%;left:12%;width:68%;margin:0;color:#161215;font:clamp(17px,1.9vw,23px)/1.35 Kalam,cursive;text-shadow:none}
.verify-collage{grid-template-columns:1.25fr .8fr;gap:45px;margin-top:10px;margin-bottom:50px}
.verify-paper{border:solid transparent;border-width:45px 38px 40px;border-image:url('assets/art-paper-v45.webp') 12% 12% 10% 12% fill stretch;padding:10px 18px 14px;min-width:0}
.verify-eyebrow{display:table;background:#eae0cc;color:#141114;padding:7px 12px;margin:0 0 15px;font:15px/1.2 BarlowCondensed,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.verify-paper h2{filter:none;text-shadow:none;-webkit-text-stroke:0;margin:0 0 18px}.verify-paper h2 img{width:100%;height:auto;display:block}
.verify-copy{font:19px/1.5 Georgia,serif;color:#f3eee2;margin:0 0 15px}
.verify-paper .collage-button{width:100%;font-size:23px;padding:20px 18px;min-height:80px}
.verify-manual{display:block;background:none;border:0;border-bottom:1px solid #e6dfcb88;color:#eee7d7;font:17px/1.4 Kalam,cursive;margin:15px auto 0;padding:2px 0;cursor:pointer}
.verify-manual:hover{color:#ffed00}.verify-manual:focus-visible{outline:2px solid #ffed00;outline-offset:5px}
.certificate-preview{display:block;width:100%;max-width:370px;justify-self:center;transform:rotate(5deg);filter:drop-shadow(3px 8px 5px #0009)}
@media(max-width:700px){.about-collage,.verify-collage{grid-template-columns:1fr;padding:18px 20px;gap:18px}.about-collage{margin-top:15px;margin-bottom:30px}.artist-polaroid{max-width:220px}.about-paper{max-width:570px;justify-self:center;width:100%}.about-paper>p{font-size:clamp(14px,3.8vw,21px);line-height:1.25;top:44%;width:72%}.verify-paper{border-width:30px 22px;padding:10px}.verify-copy{font-size:17px}.verify-paper .collage-button{font-size:20px}.verify-manual{font-size:15px}.certificate-preview{max-width:255px}.verify-collage{margin-bottom:25px}}
.about-paper>p{width:62%;font-size:clamp(16px,1.75vw,21px)}
@media(max-width:700px){.about-paper>p{width:62%;font-size:clamp(13px,3.5vw,20px);line-height:1.25}}

/* V50: breathing room between the painted heading and biography. */
.about-paper{aspect-ratio:1.65;min-height:340px}
.about-paper>img{position:absolute;inset:0;width:100%;height:100%}
.about-paper>p{top:51%;left:12%;width:61%;font-size:clamp(16px,1.65vw,20px);line-height:1.5}
@media(max-width:700px){.about-paper{aspect-ratio:1.35;min-height:300px}.about-paper>p{top:51%;width:61%;font-size:clamp(13px,3.5vw,19px);line-height:1.45}}

/* V51: responsive page boundaries; decorative layers must not widen the document. */
html{width:100%;max-width:100%;overflow-x:hidden}
body{width:100%;max-width:100%;min-width:0;overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
.home-page,.detail-page,.site-footer{min-width:0;max-width:100%}
.about-collage,.verify-collage,.collage-contact,.exhibition{width:100%;min-width:0}
.about-collage{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.verify-collage{grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr)}
.collage-contact{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.about-collage>*,.verify-collage>*,.collage-contact>*,.footer-top>*{min-width:0;max-width:100%}
.footer-top{grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1fr)}
.footer-nav a,.social-tag,.footer-bottom,.detail-top,.work-nav a{overflow-wrap:anywhere}
.detail-top{flex-wrap:wrap}.work-nav{min-width:0}.work-nav a{min-width:0}
.artwork figcaption{max-width:100%;overflow-wrap:anywhere}
.artist-polaroid,.certificate-preview{max-width:calc(100% - 24px)}
.artist-polaroid{width:min(330px,calc(100% - 24px))}.certificate-preview{width:min(370px,calc(100% - 24px))}
@media(max-width:700px){
 .about-collage,.verify-collage,.collage-contact{grid-template-columns:minmax(0,1fr)}
 .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
 .artist-polaroid{width:min(220px,calc(100% - 24px))}.certificate-preview{width:min(255px,calc(100% - 24px))}
 .footer-bottom{flex-wrap:wrap}.work-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:380px){.site-footer{padding-inline:18px}.footer-top{gap:25px 15px}.detail-count{width:100%}.artwork h2{font-size:clamp(32px,12vw,45px)}}
.detail-page{max-width:min(1460px,100%)}

/* V52: consistent vector arrows, independent of system emoji and fonts. */
.arrow-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;overflow:visible}
.collage-button .arrow-icon{width:1.15em;height:1.15em}
.footer-nav a>span,.social-tag>span{display:inline-flex;align-items:center;flex:none}
.detail-photo-hint .arrow-icon{margin-left:.3em;vertical-align:-.15em}

/* V54: real portrait, biography in normal flow so it can grow on every screen. */
.about-real{max-width:1180px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:45px}
.artist-photo-frame{position:relative;width:min(340px,calc(100% - 24px));margin:0 auto;padding:12px 12px 30px;background:#eee5d4;transform:rotate(-3deg);box-shadow:3px 7px 14px #0007}
.artist-photo-frame::before{content:'';position:absolute;top:-12px;left:30%;width:40%;height:27px;background:#9127b4c9;transform:rotate(4deg)}
.artist-photo-frame img{display:block;width:100%;height:auto}
.about-biography{min-width:0;border:solid transparent;border-width:25px 25px 30px;border-image:url('assets/contact-paper-v45.webp') 12% 12% 12% 12% fill stretch;padding:5px 14px 22px}
.about-biography .about-heading{position:relative;overflow:hidden;aspect-ratio:3.5;margin:0 0 23px;filter:none;text-shadow:none}
.about-heading img{position:absolute;max-width:none;width:140%;height:auto;left:-11%;top:-37%}
.about-copy p{font:20px/1.5 Kalam,cursive;color:#161215;margin:0 0 18px;text-shadow:none;overflow-wrap:break-word}
.about-copy p:last-child{margin-bottom:0}
@media(max-width:700px){.about-real{grid-template-columns:minmax(0,1fr);gap:30px}.artist-photo-frame{width:min(270px,calc(100% - 24px))}.about-biography{border-width:20px 17px 24px;padding:4px 8px 15px}.about-copy p{font-size:18px;line-height:1.5}.about-biography .about-heading{margin-bottom:20px}}

/* V55: preserve intrinsic proportions when responsive widths override HTML dimensions. */
.verify-collage>.certificate-preview{height:auto;object-fit:contain;align-self:center;max-height:none}
.about-collage>.artist-polaroid{height:auto;object-fit:contain}
