﻿/* Coated card: flat ink fields, a quiet highlight confined to the top edge.
   The wall and portrait mount retain their original photography. */
:root{--card:#f3efe6;--card-ink:#251a2e;--card-purple:#6420a8;--perforation:radial-gradient(circle,#796783 1px,transparent 1.3px);--rip-edge:polygon(0 3px,5% 1px,10% 3px,15% 0,20% 2px,25% 1px,30% 3px,35% 0,40% 2px,45% 1px,50% 3px,55% 0,60% 2px,65% 1px,70% 3px,75% 0,80% 2px,85% 1px,90% 3px,95% 0,100% 2px,100% 100%,0 100%)}
/* Script glyphs extend outside their em box. Never mask a lettering container. */
.headline-poster,.brand,.menu-art,.signature,h1,h1>span{overflow:visible;clip-path:none;mask:none}
.brand{padding-top:20px;padding-bottom:20px;max-width:100%;gap:16px}
.brand .signature{display:block;flex:none;line-height:1.55;padding:.12em .18em .15em .08em;margin:-.12em -.18em -.15em -.08em}
.brand svg{top:-6px;overflow:visible}
.brand-sub{line-height:1.6;flex:none}
.headline-poster{padding-top:36px}
.headline-poster h1{line-height:1.3}
h1 .support-word{line-height:1.5;margin-bottom:0}
h1 .artists-word{line-height:1.5;padding-top:.12em;padding-bottom:.16em}
.mini-brand .signature{line-height:1.6;padding:.12em .15em}
.mission-copy h2,.co-bill h2,.contact-wall h2{line-height:1.5}
/* Smooth stock replaces every ticket's paper photograph. */
.action-paste,.mission-copy,.co-bill,.contact-wall>div,.contact-wall li,.services-copy,.printed-slip{background:linear-gradient(110deg,#ffffff09,transparent 65%) top/100% 7px no-repeat,var(--card);color:var(--card-ink);border:1px solid #bdb4c5;box-shadow:inset 0 0 0 4px #ffffff0b,2px 4px 0 #0003;clip-path:none}
.action-paste,.contact-wall>div{background-color:var(--card-purple);color:#fff;border-color:#ac7fdb}
.co-bill{background-color:#19121f;color:#fff;border-color:#63516e}
.action-paste .ticket-stamp,.contact-wall>div>svg,.co-bill .ticket-stamp{color:#e1c9ff;opacity:1}
.work-link em{color:#f2e6ff}
.discovery-note{display:none}
/* Navigation: one photo body and one full-width, die-cut bottom stub. */
.tear-nav a,.tear-nav a:last-child,.tear-nav a:nth-child(n){--ticket-rest:-2deg;--tab-height:52px;--ticket-photo:url('../assets/photo/menu-home.webp');position:relative;min-height:248px;background:none;color:#fff;mask:none;clip-path:none;isolation:isolate;transform:rotate(var(--ticket-rest));overflow:visible;justify-content:space-between}
.tear-nav a.menu-vibe{--ticket-rest:1.5deg;--ticket-photo:url('../assets/photo/menu-vibe.webp')}
.tear-nav a.menu-contact{--ticket-rest:-1deg;--ticket-photo:url('../assets/photo/menu-contact.webp')}
.tear-nav a:nth-child(n):is(:hover,:focus-visible){transform:rotate(var(--ticket-rest));z-index:2}
.tear-nav a:before{content:'';position:absolute;inset:0 0 var(--tab-height);z-index:-1;background:linear-gradient(0deg,#10091ceb,#10091c42),var(--ticket-photo) center/cover;border:1px solid #dec6ff70;box-shadow:inset 0 3px 0 #ffffff12}
.tear-nav a .menu-art{display:flex;position:relative;flex-direction:column;align-items:flex-start;justify-content:center;min-height:190px;padding:25px 12px 18px;line-height:1.5;text-transform:none;transform:rotate(-5deg);text-shadow:2px 3px 0 #240c3e,0 0 9px #000}
.tear-nav .menu-art:before{display:none}
.tear-nav .menu-art svg{width:28px;height:22px;color:#c399ff;margin:0 0 1px 3px;overflow:visible}
.tear-nav .menu-art b{font:400 40px/1.5 var(--script);color:#c399ff;letter-spacing:-1px}
.tear-nav .menu-art em{font:400 15px/1.5 var(--brush);font-style:normal;color:#fff;transform:rotate(3deg);margin-top:0}
.tear-nav .menu-vibe .menu-art b{font-size:33px;white-space:nowrap}
.tear-nav a[aria-current] .menu-art:after{background:#c399ff;margin-top:6px}
.tear-nav a .rip-piece{position:relative;display:block;flex:none;height:var(--tab-height);width:100%;border:1px solid #bdb4c5;background:linear-gradient(110deg,#ffffff35,transparent 70%) top/100% 5px no-repeat,var(--card);mask:none;clip-path:none;transform-origin:8% 0}
.tear-nav a .rip-piece:before{content:'';position:absolute;left:5px;right:5px;top:1px;height:3px;background:var(--perforation) 0 0/6px 3px repeat-x}
.tear-nav a .rip-piece:after{content:'';position:absolute;inset:-5px -1px auto;height:10px;background:radial-gradient(circle at 0 50%,#151216 0 5px,transparent 5.5px),radial-gradient(circle at 100% 50%,#151216 0 5px,transparent 5.5px)}
.rip-piece{transition:transform .24s ease,filter .24s ease;transform-origin:0 15%}
/* One main ticket, with four complete detachable cards on its right. */
.services{display:block;padding:60px 15px 95px}
.services-ticket{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(190px,1fr);align-items:stretch;filter:drop-shadow(3px 6px 2px #0005)}
.services-copy{position:relative;padding:36px 38px 45px;border-right:0;min-width:0}
.services-copy h2{font:400 clamp(25px,2.5vw,40px)/1.65 var(--script);color:#581897;margin:0 0 20px}
.services-copy h2 span{display:block}
.services-copy h2 span:nth-child(2){font-family:var(--brush);font-size:.87em;color:#251a2e}
.services-copy p{font-size:14px;line-height:1.9;max-width:620px;margin:0}
.services-copy .ticket-stamp{top:auto;bottom:10px;width:28px;height:25px;color:#581897}
.service-stubs{display:grid;grid-template-rows:repeat(4,1fr);min-width:0}
.stub-control{display:block;position:relative;padding:0;border:0;background:none;color:#251a2e;text-align:left;cursor:pointer;min-width:0}
.stub-control .rip-piece{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:100%;padding:20px 23px;background:linear-gradient(110deg,#ffffff10,transparent 60%) top/100% 5px no-repeat,var(--card);border:1px solid #bdb4c5;border-left:0;font:400 clamp(19px,2vw,31px)/1.6 var(--brush)}
.stub-control:nth-child(2) .rip-piece{background-color:#d9c4f0}
.stub-control:nth-child(3) .rip-piece{background-color:var(--card-purple);color:#fff}
.stub-control:nth-child(4) .rip-piece{background-color:#e7deed}
.stub-control .rip-piece:before{content:'';position:absolute;left:0;top:7px;bottom:7px;width:3px;background:var(--perforation) 0 0/3px 6px repeat-y}
.stub-control .rip-piece:after{content:'';position:absolute;left:-5px;top:-1px;bottom:-1px;width:10px;background:radial-gradient(circle at 50% 0,#151216 0 5px,transparent 5.5px),radial-gradient(circle at 50% 100%,#151216 0 5px,transparent 5.5px)}
.stub-control .rip-piece>span{font:600 20px/1 var(--label);flex:none}
.printed-slip{margin:24px 0 0;padding:24px 30px;line-height:1.8;border-top:2px dotted #796783}
.printed-slip h3{margin:0;color:#581897;font:400 25px/1.6 var(--brush)}
.printed-slip a{font-size:13px;font-weight:700}
/* Social labels carry their own entire card; their stationary ticket is unmasked. */
.contact-wall li{mask:none;overflow:visible}
.contact-wall li a{padding:0 18px 0 0;flex-wrap:nowrap}
.contact-wall li .rip-piece{background:linear-gradient(110deg,#ffffff35,transparent 70%) top/100% 5px no-repeat,#e5d9f1;color:#48117c;align-self:stretch;min-width:110px;margin:0;padding:20px 12px;border-right:2px dotted #796783;transform-origin:100% 10%;clip-path:none}
/* All link stubs move their ink and coated backing as one piece. */
.stub-link{position:relative;display:inline-block;max-width:100%;text-decoration:none}
.stub-link .link-stub{display:block;position:relative;padding:10px 12px 12px;background:#efe7f7;color:#35104e;border-top:2px dotted #796783;line-height:1.7}
.work-link.stub-link .link-stub,.submit-link .link-stub,.co-bill>.stub-link .link-stub{background:#511887;color:#fff;border-color:#c7a4e4}
.work-link .link-stub>span{font:400 clamp(28px,3vw,45px)/1.6 var(--brush);text-shadow:2px 3px 0 #3e155f}
.work-link .link-stub>svg{vertical-align:middle}
.work-link small{line-height:1.7}
/* Only the separating edge acquires fibres; the rest remains crisp coated card. */
.stub-control:focus-visible .rip-piece,.social-control:focus-visible .rip-piece,.stub-link:focus-visible .rip-piece{transform:translate(5px,5px) rotate(3deg);filter:drop-shadow(-2px 5px 2px #0007)}
.tear-nav a:focus-visible .rip-piece{transform:translate(2px,9px) rotate(4deg);clip-path:var(--rip-edge);filter:drop-shadow(0 5px 2px #0007)}
@media(hover:hover) and (pointer:fine){
 .stub-control:hover .rip-piece,.social-control:hover .rip-piece,.stub-link:hover .rip-piece{transform:translate(5px,5px) rotate(3deg);filter:drop-shadow(-2px 5px 2px #0007)}
 .tear-nav a:hover .rip-piece{transform:translate(2px,9px) rotate(4deg);clip-path:var(--rip-edge);filter:drop-shadow(0 5px 2px #0007)}
}
@media(min-width:701px) and (max-width:1200px){
 .tear-nav a:nth-child(n){min-height:220px;--tab-height:46px}.tear-nav a .menu-art{min-height:174px;padding:22px 10px 18px}.tear-nav .menu-art b{font-size:34px}.tear-nav .menu-vibe .menu-art b{font-size:28px}.tear-nav .menu-art em{font-size:12px}
 .brand{gap:12px}.brand-sub{font-size:clamp(14px,1.7vw,20px)}.brand .signature{font-size:clamp(44px,5.4vw,65px)}
 .services-copy{padding:28px 25px 42px}.services-copy h2{font-size:clamp(22px,2.8vw,32px)}
}
@media(min-width:701px) and (max-width:1000px){
 .tear-nav a .menu-art{padding:22px 8px 18px}.tear-nav .menu-art b{font-size:29px}.tear-nav .menu-vibe .menu-art b{font-size:24px}.tear-nav .menu-art em{font-size:10px}
 .services-ticket{grid-template-columns:minmax(0,1.5fr) minmax(160px,1fr)}.services-copy{padding-left:20px;padding-right:20px}.services-copy h2{font-size:clamp(18px,2.5vw,25px)}.stub-control .rip-piece{padding:16px;font-size:20px}
 .work-link .link-stub>span{font-size:29px}
}
@media(max-width:700px){
 .headline-poster{padding-top:25px}.brand{padding-top:16px;gap:12px}.brand .signature{font-size:clamp(48px,16vw,65px)}.brand-sub{font-size:clamp(16px,5vw,23px)}.brand svg{top:-7px}
 h1 .support-word{line-height:1.5}h1 .artists-word{line-height:1.5}
 .tear-nav{bottom:12px;gap:6px;grid-template-columns:.85fr 1.2fr 1.15fr}
 .tear-nav a:nth-child(n){min-height:100px;--tab-height:23px;--ticket-rest:-1deg}.tear-nav a.menu-vibe{--ticket-rest:1deg}
 .tear-nav a .menu-art{min-height:77px;padding:9px 8px 8px;transform:rotate(-2deg)}
 .tear-nav .menu-art svg{position:absolute;right:6px;top:6px;width:13px;height:11px}
 .tear-nav .menu-art b,.tear-nav .menu-vibe .menu-art b{font-size:clamp(18px,5.3vw,23px);line-height:1.5;letter-spacing:-.5px}
 .tear-nav .menu-art em{font-size:clamp(8px,2.35vw,11px);line-height:1.5;margin:0}.tear-nav .menu-vibe .menu-art em br{display:none}
 .tear-nav a[aria-current] .menu-art:after{position:absolute;bottom:3px;margin:0}
 .services{padding:48px 0 65px}.services-ticket{display:block}.services-copy{padding:27px 20px 43px;border-right:1px solid #bdb4c5;border-bottom:0}
 .services-copy h2{font-size:clamp(22px,6.2vw,34px)}.services-copy p{font-size:12px}
 .service-stubs{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;align-items:stretch}
 .stub-control .rip-piece{height:100%;min-height:96px;padding:17px 7px 12px;flex-direction:column;justify-content:center;text-align:center;gap:8px;font:700 clamp(9px,2.5vw,15px)/1.7 var(--label);border-top:0;border-left:1px solid #bdb4c5}
 .stub-control .rip-piece:before{left:6px;right:6px;top:0;bottom:auto;width:auto;height:3px;background-size:6px 3px;background-repeat:repeat-x}
 .stub-control .rip-piece:after{left:-1px;right:-1px;top:-5px;bottom:auto;width:auto;height:10px;background:radial-gradient(circle at 0 50%,#151216 0 5px,transparent 5.5px),radial-gradient(circle at 100% 50%,#151216 0 5px,transparent 5.5px)}
 .work-link .link-stub>span{font-size:clamp(23px,6.5vw,38px)}.work-link small{font-size:9px;gap:8px}.work-link .link-stub{padding:8px}
 .contact-wall li .rip-piece{min-width:83px;padding:18px 8px}.contact-wall li a{font-size:10px;gap:9px;padding-right:10px}
 main{padding-bottom:140px}html{scroll-padding-bottom:145px}a,button{scroll-margin-bottom:145px}
}
@media(prefers-reduced-motion:reduce){
 .rip-piece{transition:none!important}
 .stub-control:is(:hover,:focus-visible) .rip-piece,.social-control:is(:hover,:focus-visible) .rip-piece,.stub-link:is(:hover,:focus-visible) .rip-piece,.tear-nav a:is(:hover,:focus-visible) .rip-piece{transform:none;filter:none}
}
/* Keep all three desktop tickets inside short viewports as well. */
@media(min-width:701px){
 .tear-nav a:nth-child(n){min-height:0;height:min(248px,calc((100svh - 115px)/3))}
 .tear-nav a .menu-art{flex:1;min-height:0}
}
@media(min-width:701px) and (max-height:850px){
 .tear-nav a .menu-art{padding-top:16px;padding-bottom:12px}
 .tear-nav .menu-art b{font-size:32px}.tear-nav .menu-vibe .menu-art b{font-size:27px}.tear-nav .menu-art em{font-size:12px}
}
.stub-control:is(:hover,:focus-visible) .rip-piece{clip-path:polygon(3px 0,100% 0,100% 100%,2px 100%,0 90%,3px 80%,1px 70%,3px 60%,0 50%,2px 40%,0 30%,3px 20%,1px 10%)}
.social-control:is(:hover,:focus-visible) .rip-piece{clip-path:polygon(0 0,calc(100% - 2px) 0,100% 10%,calc(100% - 3px) 20%,100% 30%,calc(100% - 2px) 40%,100% 50%,calc(100% - 3px) 60%,100% 70%,calc(100% - 2px) 80%,100% 90%,calc(100% - 2px) 100%,0 100%)}
.stub-link:is(:hover,:focus-visible) .rip-piece{clip-path:var(--rip-edge)}
@media(max-width:700px){.stub-control:is(:hover,:focus-visible) .rip-piece{clip-path:var(--rip-edge)}}
/* Preserve the partnership link's original print size after wrapping its card. */
.co-bill>a>.link-stub{font:inherit;margin-left:0}
