:root{--wine:#652146;--pink:#F7F3F8;--blue:#262A90;--green:#B4C648}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--wine);color:var(--pink);font-family:Urbanist,Arial,sans-serif}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:var(--green);color:var(--wine)}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:17px 3.5%;background:rgba(101,33,70,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(247,243,248,.18);opacity:0;transform:translateY(-10px);transition:opacity .6s,transform .6s}.ready .site-header{opacity:1;transform:none}.brand{display:flex;align-items:center;gap:14px;white-space:nowrap}.brand img{width:36px;height:47px;object-fit:contain}.brand strong{font-size:clamp(16px,1.8vw,25px);font-weight:800;letter-spacing:.02em}nav{display:flex;gap:clamp(10px,1.45vw,24px)}nav a{font-size:10px;font-weight:800;letter-spacing:.09em}nav a:hover,.text-link:hover{color:var(--green)}.menu-toggle{display:none}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:125px 8% 55px;position:relative}.hero-index,.eyebrow,.number,.scroll,.hero-mark{font-size:12px;font-weight:800;letter-spacing:.18em}.hero-index{position:absolute;top:140px;left:8%}.hero-main{margin:auto 0}.hero h1{font-size:clamp(60px,10.5vw,168px);line-height:.85;letter-spacing:-.065em;margin:22px 0 28px;font-weight:900}.hero h1 em,.contact h2 em{font-style:normal;color:var(--green)}.hero p{font-size:clamp(17px,2vw,27px);line-height:1.25}.scroll{display:flex;justify-content:space-between;max-width:220px}.scroll span{font-size:26px}.hero-mark{position:absolute;bottom:60px;right:8%}.chapter{position:relative;min-height:690px;padding:140px 9%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;border-top:1px solid rgba(247,243,248,.14);scroll-margin-top:80px}.chapter.right .chapter-text{order:2}.chapter.right .image-circle{order:1}.chapter-text{position:relative;z-index:2}.chapter h2,.contact h2{font-size:clamp(48px,6.5vw,108px);line-height:.94;letter-spacing:-.055em;font-weight:900;margin:20px 0 30px}.chapter p{max-width:470px;font-size:clamp(18px,1.7vw,25px);line-height:1.38;font-weight:400}.chapter .strap{font-weight:800;font-size:clamp(16px,1.5vw,21px);letter-spacing:.02em}.image-circle{position:relative;justify-self:center;width:min(35vw,460px);aspect-ratio:1;border:5px solid var(--green);border-radius:50%;background:var(--pink);overflow:hidden;padding:0;transition:transform .45s}.image-circle:hover{transform:scale(1.045)}.image-circle img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s ease}.image-circle .screenprint{object-fit:contain;opacity:1}.image-circle .original{opacity:0}.image-circle:hover .original,.image-circle:focus-visible .original,.image-circle.is-active .original{opacity:1}.image-circle:hover .screenprint,.image-circle:focus-visible .screenprint,.image-circle.is-active .screenprint{opacity:0}.circle-hint{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);padding:7px 12px;border-radius:100px;background:var(--wine);color:var(--pink);font-size:10px;font-weight:800;letter-spacing:.12em;white-space:nowrap}.concepts{background:var(--pink);color:var(--blue)}.concepts .chapter-text{max-width:700px}.concepts h2{font-size:clamp(55px,7vw,115px)}.text-link{display:inline-block;margin-top:22px;font-weight:900;border-bottom:2px solid var(--blue);padding-bottom:8px}.ticket{justify-self:center;transform:rotate(9deg);width:min(31vw,390px);min-height:420px;border:3px solid var(--blue);background:var(--green);padding:26px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:20px 20px 0 var(--blue)}.ticket span,.ticket small{font-size:13px;font-weight:900;letter-spacing:.14em}.ticket strong{font-size:clamp(42px,5vw,75px);line-height:.91;font-weight:900}.contact{text-align:center;padding:140px 6%;scroll-margin-top:80px}.contact h2{font-size:clamp(45px,8.2vw,130px)}.contact p{font-weight:800;letter-spacing:.06em}.contact-link{display:inline-block;background:var(--pink);color:var(--blue);padding:20px 40px;margin:35px 0 20px;font-weight:900;letter-spacing:.08em}.contact-link:hover{background:var(--green)}.contact small{display:block;font-size:9px;opacity:.65}footer{border-top:1px solid #ffffff40;padding:28px 5%;display:flex;justify-content:space-between;gap:15px;font-size:11px;font-weight:800;letter-spacing:.1em}.intro{position:fixed;inset:0;z-index:100;background:var(--wine);display:flex;align-items:center;justify-content:center;transition:opacity .65s}.intro.finished{opacity:0;pointer-events:none}.intro-logo{width:min(55vw,400px);height:min(70vh,510px);display:flex;align-items:center;justify-content:center;transition:transform 1.15s cubic-bezier(.77,0,.2,1),opacity 1s}.intro-logo svg{width:100%;height:100%;overflow:visible}.intro-logo .drawing{stroke-dasharray:var(--path-length,2200);stroke-dashoffset:var(--path-length,2200);animation:draw 2.4s cubic-bezier(.4,0,.2,1) .25s forwards}.intro-logo.fly{transform:translate(calc(-50vw + 70px),calc(-50vh + 65px)) scale(.11);opacity:.1}@keyframes draw{to{stroke-dashoffset:0}}.skip{position:absolute;right:5%;bottom:7%;border:1px solid #ffffff55;color:var(--pink);background:transparent;padding:13px 18px;font-size:11px;font-weight:800;letter-spacing:.1em}@media(max-width:1000px){.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;color:var(--pink);font-weight:800;font-size:12px;letter-spacing:.1em}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--wine);padding:25px 6%;flex-direction:column;gap:19px}nav.open{display:flex}nav a{font-size:14px}.chapter{padding:105px 7%;gap:4%}.image-circle{width:min(40vw,400px)}}@media(max-width:650px){.hero{padding:125px 7% 50px}.hero-index{left:7%;top:120px}.hero h1{font-size:clamp(50px,12vw,86px)}.chapter{grid-template-columns:1fr;min-height:auto;gap:50px;padding:90px 7%}.chapter.right .chapter-text,.chapter.right .image-circle{order:initial}.chapter h2{font-size:clamp(48px,12vw,75px)}.image-circle{width:min(80vw,380px)}.ticket{width:min(75vw,350px);min-height:340px;margin-bottom:30px}.ticket strong{font-size:55px}.contact{padding:100px 6%}.contact h2{font-size:clamp(40px,10vw,70px)}footer{flex-wrap:wrap}.intro-logo{width:70vw;height:65vh}.intro-logo.fly{transform:translate(calc(-50vw + 45px),calc(-50vh + 55px)) scale(.13)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* V1.1: identical image geometry and full-bleed circles */
.image-circle{width:min(40vw,520px);transform:none;isolation:isolate}
.image-circle:hover{transform:none}
.image-circle img,.image-circle .screenprint,.image-circle .original{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:center;transform:none;
}
.image-circle .screenprint{opacity:1}
.image-circle .original{opacity:0}
.image-circle:hover .original,.image-circle:focus-visible .original,.image-circle.is-active .original{opacity:1}
.image-circle:hover .screenprint,.image-circle:focus-visible .screenprint,.image-circle.is-active .screenprint{opacity:0}
/* The upper-right signature is traced along its original Illustrator vector path. */
.intro-logo .drawing{animation:none;stroke-dashoffset:var(--unused, 0)}
.intro-logo .drawing.draw-now{animation:signature-write 2.7s cubic-bezier(.38,.02,.18,1) .25s forwards}
@keyframes signature-write{to{stroke-dashoffset:0}}
@media(max-width:1000px){.image-circle{width:min(44vw,450px)}}
@media(max-width:650px){.image-circle{width:min(86vw,440px)}}

/* V1.2: the actual vector signature is hidden until its stroke is drawn. */
.intro-logo .drawing,.intro-logo .drawing.draw-now{animation:none!important}
.image-circle:hover{transform:none}
.image-circle img{object-fit:cover!important;transform:none!important}

/* V1.3 — inline signature and editorial chapter headlines */
.neon-now{color:#FF149B;display:inline-block;margin-top:.12em}
.chapter h2{font-size:clamp(44px,5.6vw,91px)}
.intro-logo svg{display:block}
@media(max-width:650px){.chapter h2{font-size:clamp(39px,10.4vw,69px)}}

/* Ticket mystery: a physical invitation, not a downloadable item. */
.brand .tm{font-size:.48em;vertical-align:super;margin-left:.12em;font-weight:600}
.ticket-chapter{overflow:hidden;position:relative}
.ticket-whisper{font-weight:900;letter-spacing:.06em;color:#F7F3F8}
.ticket-clue{font-size:clamp(13px,1.3vw,18px);line-height:1.8}
.ticket-clue em{color:#B4C648;font-style:normal;font-weight:800}
.ticket-peek{position:relative;flex:0 0 30%;height:clamp(250px,33vw,450px);overflow:hidden;transform:rotate(9deg) translateX(16%);box-shadow:0 20px 65px #26091b66;transition:transform .55s ease;pointer-events:none}
.ticket-peek img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.ticket-chapter:hover .ticket-peek{transform:rotate(6deg) translateX(12%) translateY(-8px)}
@media(max-width:760px){.ticket-peek{width:46%;height:260px;align-self:flex-end;transform:rotate(9deg) translateX(24%)}}

/* V1.6: ticket chapter, editorial mystery and collapsible request */
.brand .tm{font-size:.32em;color:var(--green);font-weight:700;vertical-align:super;margin-left:.08em}
.ticket-chapter{background:var(--wine);color:var(--pink);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1%;min-height:850px;overflow:hidden}
.ticket-copy{max-width:680px!important}
.ticket-chapter h2{font-size:clamp(38px,4.5vw,76px);line-height:.98;margin:22px 0 35px}
.ticket-chapter .ticket-whisper{font-size:clamp(19px,2.2vw,32px);line-height:1.08;color:var(--green);letter-spacing:.035em;margin-bottom:35px}
.ticket-request-btn,.ticket-submit{border:0;background:#FF079B;color:white;font-size:clamp(13px,1.1vw,16px);font-weight:900;letter-spacing:.17em;padding:20px 27px;border-radius:999px;display:inline-flex;align-items:center;gap:34px;justify-content:space-between;transition:transform .2s,background .2s}
.ticket-request-btn:hover,.ticket-submit:hover{background:#E80087;transform:translateY(-2px)}
.ticket-postline{font-size:clamp(12px,1.2vw,17px)!important;letter-spacing:.13em;line-height:1.7!important;margin-top:28px}
.ticket-postline strong{color:var(--green)}
.ticket-peek{align-self:center;justify-self:end;position:relative;flex:none;width:min(49vw,760px);height:clamp(380px,48vw,670px);overflow:visible;box-shadow:none;transform:translate(27%,5%) rotate(0);pointer-events:auto}
.ticket-peek:before{content:"";position:absolute;inset:18% 6% 0 6%;border-radius:50%;background:#13051199;filter:blur(44px);transform:translate(4%,10%);z-index:0}
.ticket-peek img{position:relative;display:block;width:100%;height:100%;object-fit:cover;object-position:52% center;filter:drop-shadow(10px 22px 22px #170516aa);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.ticket-chapter:hover .ticket-peek{transform:translate(27%,5%) rotate(0)}
.ticket-peek:hover img{transform:translate(-12px,-11px) rotate(-2deg)}
.ticket-request-panel{max-width:530px;margin-top:30px;padding:23px;border:1px solid #f7f3f866;background:#481431;border-radius:16px;box-shadow:0 12px 40px #260b1e55}
.ticket-request-panel[hidden]{display:none!important}
.form-intro{font-size:12px!important;font-weight:800!important;letter-spacing:.15em;margin:0 0 20px}
.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-fields label{display:flex;flex-direction:column;gap:7px;font-size:10px;letter-spacing:.13em;font-weight:800}
.form-fields .full{grid-column:1/-1}
.form-fields input,.form-fields textarea{width:100%;padding:12px 13px;border:1px solid #f7f3f866;border-radius:4px;background:#652146;color:white;font:inherit;font-size:14px;letter-spacing:normal}
.form-fields input::placeholder,.form-fields textarea::placeholder{color:#e0c9d6}
.ticket-request-panel fieldset{border:0;padding:22px 0;margin:0}
.ticket-request-panel legend{font-size:11px;font-weight:900;letter-spacing:.12em;padding-bottom:10px}
.ticket-options{display:grid;grid-template-columns:1fr 1fr;gap:11px 15px}
.ticket-options label{font-size:13px;display:flex;align-items:center;gap:9px}
.ticket-options input{accent-color:var(--green);width:16px;height:16px}
.ticket-submit{font-size:12px;padding:16px 22px}
.form-status{font-size:13px!important;line-height:1.45!important}
.form-footnote{font-size:10px!important;line-height:1.5!important;opacity:.78}
@media(max-width:800px){.ticket-chapter{grid-template-columns:1fr;gap:0;overflow:hidden}.ticket-chapter h2{font-size:clamp(36px,7vw,64px)}.ticket-peek{width:95vw;height:420px;justify-self:end;transform:translate(24%,0)!important;margin-top:20px}.ticket-peek:hover img{transform:translate(-6px,-6px) rotate(-1deg)}}
@media(max-width:500px){.ticket-peek{height:300px}.form-fields{grid-template-columns:1fr}.form-fields label{grid-column:1/-1}.ticket-options{grid-template-columns:1fr 1fr}.ticket-chapter h2{font-size:clamp(33px,9vw,49px)}}

/* V1.7 — original portrait preserved, contact hierarchy */
.ticket-postline strong{color:var(--pink)!important}
.contact h2 .contact-bold{color:var(--pink)}
.contact h2 .contact-green{color:var(--green)}
.contact h2 .neon-now{color:#FF149B}
.contact .contact-link{margin-top:64px}
.ticket-peek img{object-fit:contain;object-position:center;filter:drop-shadow(12px 20px 19px #17051699)}

/* V1.8 — editorial ticket cutout and balanced pale-pink request panel */
.ticket-chapter{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);padding:110px 6.5%;gap:2%;min-height:850px;overflow:hidden;isolation:isolate}
.ticket-copy{max-width:680px!important;align-self:center;z-index:3}
.ticket-chapter h2{font-size:clamp(40px,4.25vw,73px);margin:24px 0 38px;line-height:.99}
.ticket-chapter .ticket-whisper{font-size:clamp(20px,2.2vw,32px);font-weight:600;line-height:1.13;margin-bottom:34px}
.ticket-postline{font-weight:500;letter-spacing:.115em;font-size:clamp(12px,1.1vw,16px)!important;margin-top:35px;line-height:1.65!important}
.ticket-postline strong{color:var(--pink)!important;font-weight:800}
.ticket-peek{position:absolute;z-index:1;top:3%;right:-6%;width:clamp(390px,37vw,610px);height:auto;aspect-ratio:280.63 / 595.276;overflow:visible;transform:rotate(-19deg)!important;transform-origin:50% 32%;box-shadow:none;transition:transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:auto}
.ticket-peek:before{content:'';position:absolute;inset:6% 4% 4% 4%;border-radius:30%;background:#1305119c;filter:blur(40px);transform:translate(24px,32px);z-index:-1}
.ticket-peek img{width:100%;height:auto;display:block;object-fit:contain!important;filter:drop-shadow(19px 25px 17px #17051677);transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.ticket-chapter:hover .ticket-peek{transform:rotate(-19deg)!important}
.ticket-peek:hover img{transform:translate(-9px,-11px) rotate(-1deg)}
.ticket-request-panel{width:min(100%,540px);max-width:none;background:var(--pink);color:var(--blue);border:0;border-radius:20px;padding:clamp(22px,3vw,36px);margin-top:27px;box-shadow:0 20px 45px #1e071b50}
.form-intro{font-size:clamp(26px,3.3vw,43px)!important;letter-spacing:-.035em!important;line-height:1.1!important;font-weight:900!important;color:var(--blue);margin:0 0 25px!important}
.form-fields{gap:18px 14px}
.form-fields label{font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--blue)}
.form-fields input,.form-fields textarea{background:#fff;color:var(--blue);border:1.5px solid #262A906b;border-radius:7px;padding:13px 14px;min-height:46px;outline-offset:2px}
.form-fields input:focus,.form-fields textarea:focus{border-color:var(--blue);outline:2px solid #b4c64888}
.form-fields input::placeholder,.form-fields textarea::placeholder{color:#7476a0}
.ticket-request-panel fieldset{padding:25px 0 23px}
.ticket-request-panel legend{color:var(--blue);font-size:11px;letter-spacing:.11em}
.ticket-options{gap:13px 16px}
.ticket-options label{color:var(--blue);font-size:13px;line-height:1.3;cursor:pointer}
.ticket-options input{appearance:none;-webkit-appearance:none;flex:0 0 19px;width:19px;height:19px;margin:0;border:1.7px solid var(--blue);border-radius:3px;background:#fff;display:grid;place-items:center;cursor:pointer}
.ticket-options input:checked{background:var(--green);border-color:var(--blue)}
.ticket-options input:checked:after{content:'✓';color:var(--blue);font-weight:900;font-size:15px;line-height:1}
.ticket-options input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.ticket-submit{background:var(--blue);color:var(--pink);width:100%;justify-content:center;border-radius:999px;font-size:12px;letter-spacing:.15em}
.ticket-submit:hover{background:#161b72}
.form-status,.form-footnote{color:var(--blue)}
@media(max-width:1000px){.ticket-peek{right:-13%;top:10%;width:45vw;opacity:.98}.ticket-copy{max-width:62%!important}.ticket-chapter h2{font-size:clamp(37px,4.8vw,60px)}}
@media(max-width:760px){.ticket-chapter{display:flex;flex-direction:column;padding:95px 7% 35px;min-height:0}.ticket-copy{max-width:100%!important;width:100%}.ticket-chapter h2{font-size:clamp(36px,8vw,62px)}.ticket-peek{position:relative;right:auto;top:auto;align-self:flex-end;width:min(70vw,390px);height:auto;margin:-20px -13% -53% 0;transform:rotate(-19deg)!important}.ticket-chapter:hover .ticket-peek{transform:rotate(-19deg)!important}.ticket-request-panel{max-width:560px}}
@media(max-width:500px){.ticket-options{grid-template-columns:1fr 1fr}.ticket-peek{width:79vw;margin:-5px -18% -60% 0}.ticket-chapter h2{font-size:clamp(33px,9vw,47px)}.ticket-request-panel{padding:22px 18px}.ticket-chapter .ticket-whisper{font-size:22px}}

/* V1.9 — tactile original ticket and balanced modal form */
.ticket-peek img{filter:drop-shadow(17px 24px 15px #17051688) drop-shadow(2px 3px 2px #16020b66)}
.ticket-request-panel{position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%);z-index:110;width:min(92vw,670px)!important;max-width:670px!important;max-height:min(90dvh,900px);overflow-y:auto;background:#F7F3F8!important;color:#262A90!important;border-radius:16px!important;padding:clamp(22px,3.3vw,42px)!important;margin:0!important;box-shadow:0 0 0 200vmax #180612b8,0 24px 80px #100311a6!important}
.ticket-request-panel .form-intro{font-size:clamp(33px,4vw,53px)!important;line-height:1!important;margin:0 0 26px!important;letter-spacing:-.04em!important}
.ticket-close{position:absolute;top:13px;right:17px;color:#262A90;background:transparent;border:0;font-size:32px;line-height:1;padding:4px 10px}
.ticket-request-panel .form-fields{gap:15px 14px}
.ticket-request-panel .form-fields label{font-size:11px;gap:6px;letter-spacing:.07em}
.ticket-request-panel .form-fields input,.ticket-request-panel .form-fields textarea{font-size:14px;padding:11px 13px;min-height:44px;border:1.5px solid #262A9066}
.ticket-request-panel .form-fields textarea{min-height:65px}
.ticket-request-panel fieldset{padding:20px 0 20px}
.ticket-request-panel legend{padding-bottom:11px;font-size:11px}
.ticket-request-panel .ticket-options{grid-template-columns:1fr 1fr;gap:10px 14px}
.ticket-request-panel .ticket-options label{font-size:14px}
.ticket-request-panel .ticket-submit{min-height:48px;padding:12px 20px}
.ticket-request-panel .form-footnote{margin-top:15px;font-size:10px!important}
body.ticket-dialog-open{overflow:hidden}
@media(max-width:560px){.ticket-request-panel{width:94vw!important;padding:24px 18px!important}.ticket-request-panel .form-fields{grid-template-columns:1fr}.ticket-request-panel .form-fields label{grid-column:1/-1}.ticket-request-panel .ticket-options{gap:10px 7px}.ticket-request-panel .ticket-options label{font-size:12px}}

/* V2.0 — chapter galleries: equal-sized circular silkscreen/original pairs */
body.gallery-open{overflow:hidden}
.gallery-view[hidden]{display:none!important}
.gallery-view{position:fixed;inset:0;z-index:95;background:var(--wine);color:var(--pink);overflow-y:auto;overscroll-behavior:contain;padding:clamp(90px,10vw,130px) clamp(16px,4vw,70px) 70px}
.gallery-top{position:fixed;top:0;left:0;right:0;z-index:3;background:var(--wine);display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:80px;padding:18px clamp(16px,4vw,70px);border-bottom:1px solid #F7F3F82b;font-size:clamp(10px,1.2vw,13px);letter-spacing:.14em;font-weight:800}
.gallery-back{background:none;color:var(--pink);border:0;font-weight:800;font-size:12px;letter-spacing:.1em;padding:12px 0}
.gallery-back:hover{color:var(--green)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2.8vw,45px);width:100%;margin:0 auto}
.gallery-circle{display:block;position:relative;width:100%;aspect-ratio:1;border:clamp(3px,.35vw,5px) solid var(--green);border-radius:50%;padding:0;overflow:hidden;background:var(--pink);isolation:isolate;cursor:pointer}
.gallery-circle img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:opacity .45s ease}
.gallery-circle .original{opacity:1}.gallery-circle .screenprint{opacity:1}
.gallery-circle:hover .screenprint,.gallery-circle:focus-visible .screenprint,.gallery-circle.is-active .screenprint{opacity:0}
.gallery-circle:focus-visible{outline:3px solid var(--pink);outline-offset:5px}
.image-circle[data-gallery] .circle-hint{pointer-events:none}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-count{display:none}}
@media(max-width:620px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.gallery-top{gap:8px}.gallery-top span{font-size:10px}.gallery-back{font-size:10px}}
@media(prefers-reduced-motion:reduce){.gallery-circle img{transition:none}}

/* V2.1 gallery */
.gallery-view{padding:clamp(88px,8vw,110px) clamp(10px,1.6vw,26px) 30px!important}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(8px,1.35vw,23px)!important;max-width:none!important}
.gallery-circle{background:#262A90!important}
.gallery-circle .original{opacity:0!important;z-index:2}
.gallery-circle .screenprint{opacity:1!important;z-index:1}
.gallery-circle:hover .original,.gallery-circle:focus-visible .original,.gallery-circle.is-active .original{opacity:1!important}
.gallery-circle:hover .screenprint,.gallery-circle:focus-visible .screenprint,.gallery-circle.is-active .screenprint{opacity:1!important}
.gallery-circle img{object-position:center center!important;transform:none!important}
.gallery-count{display:inline!important;white-space:nowrap}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gallery-view{padding-inline:12px!important}}
@media(max-width:440px){.gallery-grid{grid-template-columns:1fr!important}.gallery-count{font-size:9px!important}}
.ticket-request-panel{position:fixed!important;max-height:calc(100dvh - 36px)!important;overflow-y:auto!important;overscroll-behavior:contain!important}

/* Chapter 01 — nine images and editorial biography */
#gallery-manifest .manifest-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.85fr);gap:clamp(24px,3.2vw,70px);align-items:start;width:100%}
#gallery-manifest .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(9px,1.3vw,22px)!important}
#gallery-manifest .gallery-circle{background:#F7F3F8!important}
#gallery-manifest .manifest-story{padding:clamp(8px,2vw,30px) 0;position:sticky;top:95px}
#gallery-manifest .manifest-story h2{font-size:clamp(27px,3vw,57px);line-height:.99;letter-spacing:-.045em;margin:0 0 26px;font-weight:800}
#gallery-manifest .manifest-story p{font-size:clamp(15px,1.45vw,23px);line-height:1.5;letter-spacing:0;margin:0 0 34px}
#gallery-manifest .manifest-story h3{font-size:12px;letter-spacing:.18em;border-top:1px solid #ffffff40;padding-top:22px;margin:0 0 17px}
#gallery-manifest .education-row{display:flex;align-items:center;gap:15px;margin:14px 0;font-size:clamp(12px,1.15vw,17px)}
#gallery-manifest .education-logo{width:32px;height:42px;object-fit:contain;flex:none}
#gallery-manifest .education-row strong,#gallery-manifest .education-row span{display:block;line-height:1.45}
#gallery-manifest .education-row span{opacity:.8;font-size:.9em}
@media(max-width:920px){#gallery-manifest .manifest-layout{grid-template-columns:1fr}#gallery-manifest .manifest-story{position:static;max-width:690px}}
@media(max-width:500px){#gallery-manifest .gallery-grid{gap:7px!important}#gallery-manifest .manifest-story h2{font-size:32px}}

/* V2.3: Manifest editorial typography and consistent pink print-paper */
#gallery-manifest .manifest-story h2{font-size:clamp(20px,2.05vw,39px);line-height:1.08;letter-spacing:-.045em;overflow-wrap:normal}
#gallery-manifest .gallery-circle{background:#F7F3F8!important}
#gallery-manifest .gallery-circle .screenprint{background:#F7F3F8}
/* V2.4 — About gallery refinements */
#gallery-manifest .manifest-layout{grid-template-columns:minmax(0,1.72fr) minmax(310px,.9fr);gap:clamp(16px,2.4vw,44px)}
#gallery-manifest .gallery-grid{gap:clamp(5px,.75vw,12px)!important}
#gallery-manifest .manifest-story h2{font-size:clamp(31px,3.05vw,59px)!important;line-height:1.01;letter-spacing:-.045em}
#gallery-manifest .gallery-circle{background:#F7F3F8!important}
#gallery-manifest .gallery-circle .screenprint{background:#F7F3F8!important}
#gallery-manifest .gallery-circle img{object-position:center center!important}
@media(max-width:1100px){#gallery-manifest .manifest-layout{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr)}#gallery-manifest .manifest-story h2{font-size:clamp(27px,3.1vw,42px)!important}}
@media(max-width:920px){#gallery-manifest .manifest-layout{grid-template-columns:1fr}#gallery-manifest .manifest-story h2{font-size:clamp(32px,6vw,56px)!important}}

/* Corrections: preserve the V2.4 logo, header, chapter layout and ticket form. */
.gallery-with-copy .gallery-grid{width:53%;max-width:760px;flex:none;align-content:center}
.gallery-with-copy{display:flex!important;flex-direction:column}
.gallery-with-copy .gallery-top{width:100%}
.gallery-with-copy .gallery-grid{position:relative;margin-right:auto}
.gallery-with-copy .gallery-description{position:absolute;top:50%;left:57%;width:36%;transform:translateY(-50%);color:#F7F3F8}
.gallery-description h2{font-size:clamp(29px,3.5vw,64px);line-height:1.02;letter-spacing:-.035em;margin:0 0 25px}
.gallery-description p{white-space:pre-line;font-size:clamp(15px,1.35vw,21px);line-height:1.52}
.gallery-circle{background:#F7F3F8;border-color:#B4C648}
.gallery-circle img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gallery-circle .screenprint{object-fit:cover}
.gallery-circle .original{opacity:0}
.gallery-circle:hover .original,.gallery-circle:focus-visible .original,.gallery-circle.is-active .original{opacity:1}
.gallery-circle:hover .screenprint,.gallery-circle:focus-visible .screenprint,.gallery-circle.is-active .screenprint{opacity:0}
.ticket-chapter img{transition:transform .45s ease,filter .45s ease;filter:drop-shadow(14px 18px 14px rgba(25,0,17,.28))}
.ticket-chapter img:hover{transform:translateY(-8px) rotate(-1.5deg);filter:drop-shadow(20px 26px 18px rgba(25,0,17,.32))}
.contact-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:25px auto 15px}
.contact-actions a{border:1px solid #B4C648;color:#F7F3F8;padding:13px 17px;border-radius:100px;font-size:12px;font-weight:800;letter-spacing:.06em}
.contact-actions a:hover{background:#B4C648;color:#652146}
.footer-extended{display:flex;flex-wrap:wrap;gap:12px 23px;justify-content:center;padding:25px 8%;border-top:1px solid rgba(247,243,248,.2);border-bottom:1px solid rgba(247,243,248,.2)}
.footer-extended a{font-size:11px;letter-spacing:.05em}.footer-extended a:hover{color:#B4C648}
@media(max-width:800px){.gallery-with-copy .gallery-grid{width:100%;margin:0}.gallery-with-copy .gallery-description{position:static;transform:none;width:100%;padding:35px 7% 60px}.gallery-with-copy{overflow:auto!important}.gallery-description h2{font-size:clamp(30px,7vw,52px)}}

/* Approved layout refinements, October 30 */
.gallery-with-copy .gallery-description h2{font-size:clamp(30px,3.1vw,52px)!important;line-height:1.08!important}
.gallery-with-copy .gallery-description p{font-size:clamp(15px,1.22vw,19px)!important;line-height:1.55!important}
.gallery-with-copy .gallery-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:53%!important;max-width:760px!important;align-content:center}
#gallery-artist .gallery-grid,#gallery-perspectives .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(14px,2.4vw,36px)!important}
.gallery-circle{position:relative;overflow:hidden}
.gallery-circle img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.gallery-circle .screenprint{background:#F7F3F8}
.gallery-circle .original{opacity:0}
.gallery-circle:hover .original,.gallery-circle:focus-visible .original,.gallery-circle.is-active .original{opacity:1}
.gallery-circle:hover .screenprint,.gallery-circle:focus-visible .screenprint,.gallery-circle.is-active .screenprint{opacity:0}
.ticket-peek,.ticket-chapter:hover .ticket-peek{transform:rotate(-29deg)!important}
.ticket-peek:before{background:#10030ecb!important;filter:blur(35px)!important;transform:translate(30px,42px)!important}
.ticket-peek img{filter:drop-shadow(24px 36px 26px #10020bcc)!important}
@media(max-width:800px){.gallery-with-copy .gallery-grid{width:100%!important;max-width:none!important}.gallery-with-copy .gallery-description{position:static!important;transform:none!important;width:100%!important}}
@media(max-width:480px){.gallery-with-copy .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* Gallery layout repair — chapter 01 is the reference. */
.gallery-view.gallery-with-copy{
 display:grid!important;
 grid-template-columns:minmax(0,1.72fr) minmax(310px,.9fr)!important;
 column-gap:clamp(16px,2.4vw,44px)!important;
 align-content:start!important;
 align-items:center!important;
 padding:clamp(90px,8vw,115px) clamp(16px,3.3vw,58px) 40px!important;
}
.gallery-with-copy .gallery-top{grid-column:1/-1}
.gallery-with-copy .gallery-grid{
 grid-column:1!important;
 grid-row:1!important;
 width:100%!important;
 max-width:none!important;
 margin:0!important;
 display:grid!important;
 gap:clamp(5px,.75vw,12px)!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 align-content:start!important;
}
#gallery-artist .gallery-grid,#gallery-perspectives .gallery-grid{
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:clamp(10px,1.5vw,25px)!important;
}
.gallery-with-copy .gallery-description{
 grid-column:2!important;grid-row:1!important;
 position:static!important;top:auto!important;left:auto!important;
 transform:none!important;width:100%!important;
 padding:0!important;margin:0!important;
 align-self:center!important;z-index:1;
}
.gallery-with-copy .gallery-description h2{
 font-size:clamp(29px,3.05vw,59px)!important;
 line-height:1.02!important;
}
.gallery-with-copy .gallery-description p{
 font-size:clamp(15px,1.35vw,21px)!important;
 line-height:1.52!important;
}
.gallery-circle{background:#F7F3F8!important}
.gallery-circle img{inset:0!important;width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:center!important;transform:none!important}
.gallery-circle .screenprint{background:#F7F3F8!important;opacity:1!important}
.gallery-circle .original{opacity:0!important}
.gallery-circle:hover .original,.gallery-circle:focus-visible .original,
.gallery-circle.is-active .original{opacity:1!important}
.gallery-circle:hover .screenprint,.gallery-circle:focus-visible .screenprint,
.gallery-circle.is-active .screenprint{opacity:0!important}
@media(max-width:920px){
 .gallery-view.gallery-with-copy{grid-template-columns:1fr!important;row-gap:25px!important}
 .gallery-with-copy .gallery-grid{grid-column:1!important;grid-row:1!important}
 .gallery-with-copy .gallery-description{grid-column:1!important;grid-row:2!important;
  max-width:690px!important;padding:12px 0 30px!important}
}
@media(max-width:520px){
 .gallery-with-copy .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 #gallery-artist .gallery-grid,#gallery-perspectives .gallery-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* Main page only: hide the extra bottom CTA, without changing the contact section. */

/* CRITICAL: hidden galleries must stay hidden despite grid display overrides */
section.gallery-view[hidden], .gallery-view.gallery-with-copy[hidden] {display:none!important;visibility:hidden!important;}

/* Align COMPANY field input with NAME input */
@media(min-width:561px){.ticket-request-panel .form-fields > label:nth-child(2) input{margin-top:17px!important}}

/* Ticket request: confirmation appears only after a successful Netlify response. */
.ticket-request-panel #ticket-request-form[hidden],
.ticket-request-panel .ticket-success[hidden]{display:none!important}
.ticket-success{display:flex;align-items:flex-start;gap:17px;padding:40px 0 30px;color:#292D94}
.ticket-success-check{display:inline-flex;align-items:center;justify-content:center;flex:none;width:31px;height:31px;border:2px solid #9BAD32;border-radius:50%;font-size:21px;font-weight:700;color:#9BAD32;line-height:1}
.ticket-success h3{font-size:clamp(23px,3vw,34px);font-weight:800;line-height:1.13;letter-spacing:-.025em;margin:0 0 15px}
.ticket-success p{font-size:clamp(13px,1.5vw,18px);line-height:1.45;margin:0;letter-spacing:.025em}

/* Optional free-text field in ticket request — same visual language as other fields. */
.ticket-request-panel .ticket-additional{display:flex;flex-direction:column;gap:7px;margin:0 0 20px}
.ticket-request-panel .ticket-additional label{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.07em}
.ticket-request-panel .ticket-additional textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:100px;border:1.5px solid #262A9066;border-radius:7px;background:#fff;color:var(--blue);font:inherit;font-size:14px;padding:11px 13px;outline-offset:2px}
.ticket-request-panel .ticket-additional textarea:focus{border-color:var(--blue);outline:2px solid #b4c64888}
.ticket-request-panel .ticket-additional textarea::placeholder{color:#7476a0}


/* LILLI BRÉE: first-visit editorial portrait, reload keeps original logo flight. */
.intro{overflow:hidden;isolation:isolate}
.intro-logo{position:relative;z-index:2}
.intro-portrait-scene{position:absolute;inset:0;z-index:1;opacity:0;pointer-events:none;overflow:hidden;transition:opacity .56s cubic-bezier(.2,.7,.2,1)}
.intro-portrait-image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 64%;transform:scale(1.045);transition:transform 2.8s cubic-bezier(.17,.7,.24,1)}
.intro-portrait-name{position:absolute;top:10%;left:50%;width:95%;font-size:clamp(68px,12.4vw,210px);font-weight:900;letter-spacing:-.055em;line-height:1;white-space:nowrap;text-align:center;color:#F7DCE9;opacity:0;filter:blur(8px);transform:translate(-50%,26px);transition:opacity .62s ease,transform .78s cubic-bezier(.16,1,.3,1),filter .7s ease}
.intro.intro-photo .intro-logo{opacity:0;transform:scale(.96);filter:blur(5px);transition:opacity .5s ease,transform .55s ease,filter .55s ease}
.intro.intro-photo .intro-portrait-scene{opacity:1}
.intro.intro-photo .intro-portrait-image{transform:scale(1)}
.intro.intro-name .intro-portrait-name{opacity:1;filter:blur(0);transform:translate(-50%,0)}
.intro.intro-fade .intro-portrait-scene{opacity:0;filter:blur(5px);transition:opacity .7s ease,filter .7s ease}
.intro.intro-fade .intro-portrait-name{opacity:0;transform:translate(-50%,-12px);transition:opacity .5s ease,transform .65s ease}
.intro.intro-fade{opacity:0;pointer-events:none;transition:opacity .72s ease}
@media(max-width:650px){.intro-portrait-name{top:13%;font-size:clamp(47px,13.2vw,95px)}}
@media(prefers-reduced-motion:reduce){.intro-portrait-scene,.intro-portrait-image,.intro-portrait-name{transition-duration:.01ms!important}}

/* First-visit intro: portrait must be visible above the burgundy backdrop. */
.intro.intro-photo .intro-portrait-scene {opacity:1!important;visibility:visible!important}
.intro.intro-photo .intro-logo {opacity:0!important}
.intro.intro-name .intro-portrait-name {opacity:1!important}
.intro.intro-fade .intro-portrait-scene {opacity:0!important}

/* LILLI BRÉE: human-made image note above the original scroll prompt */
.hero-scroll-group{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.hero-scroll-group .human-made-note{margin:0;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.18em;line-height:1.5}
.hero-scroll-group .scroll{width:220px}

/* Chapter 07: additional note below the request button */
.ticket-idea-note{color:var(--pink);font-size:clamp(12px,1.2vw,17px);line-height:1.55;letter-spacing:normal;margin:13px 0 0;max-width:570px;}

/* BEHIND THE SCENES — isolated gallery controls */
.bts-chapter-footer{grid-column:1/-1!important;display:flex;justify-content:center;align-items:center;width:100%;padding:20px 0 16px;clear:both}
.bts-open{font-family:inherit;background:transparent;color:#B4C648;border:1px solid #B4C648;border-radius:99px;padding:11px 20px;font-size:11px;letter-spacing:.14em;font-weight:800;cursor:pointer;transition:background .2s,color .2s}
.bts-open:hover,.bts-open:focus-visible{background:#B4C648;color:#652146}
.bts-overlay[hidden]{display:none!important}
.bts-overlay{position:fixed;inset:0;z-index:10000;background:rgba(34,9,25,.89);backdrop-filter:blur(12px);overflow-y:auto;display:flex;justify-content:center;align-items:center;padding:clamp(12px,3vw,40px);color:#F7F3F8}
.bts-modal{width:min(100%,950px);background:#652146;border:1px solid rgba(247,243,248,.23);padding:clamp(17px,3vw,38px);display:flex;flex-direction:column;gap:15px;max-height:calc(100dvh - 24px);overflow-y:auto;box-sizing:border-box}
.bts-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.bts-head h2{font-family:Urbanist,Arial,sans-serif;font-size:clamp(25px,4vw,48px);margin:5px 0 0;line-height:1;color:#F7F3F8}.bts-eyebrow{font-size:12px;letter-spacing:.16em;color:#B4C648;font-weight:800}.bts-close{background:transparent;border:1px solid #ffffff55;border-radius:50%;width:42px;height:42px;color:#F7F3F8;font-size:25px;cursor:pointer;flex-shrink:0}
.bts-player{display:flex;align-items:center;justify-content:center;min-height:250px}.bts-frame{height:min(51vh,540px);min-height:300px;width:min(100%,340px);background:#2b1123;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;border:1px solid #ffffff2b;box-sizing:border-box}.bts-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}.bts-frame h3{font-size:20px;margin:15px 0}.bts-privacy{font-size:12px;line-height:1.55;max-width:275px;margin:14px auto 22px}.bts-play{font-family:inherit;background:#F7F3F8;color:#262A90;border:0;border-radius:40px;padding:13px 24px;font-weight:900;font-size:12px;letter-spacing:.1em;cursor:pointer}.bts-navigation{display:flex;justify-content:center;align-items:center;gap:26px}.bts-navbtn{border:1px solid #ffffff70;background:transparent;color:#F7F3F8;border-radius:50%;height:45px;width:45px;font-size:24px;cursor:pointer}.bts-counter{font-size:13px;font-weight:800;letter-spacing:.2em}.bts-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:11px}.bts-bottom a{color:#F7F3F8;text-underline-offset:4px}.bts-bottom span{opacity:.75}
@media(max-width:600px){.bts-overlay{align-items:flex-start}.bts-frame{height:min(55vh,490px);min-height:300px}.bts-chapter-footer{padding:18px 0 26px}}

/* BTS footer alignment: left edge, bottom of every subchapter */
.bts-chapter-footer{
  justify-content:flex-start!important;
  text-align:left!important;
  padding-left:clamp(16px,3.3vw,58px)!important;
  padding-right:clamp(16px,3.3vw,58px)!important;
  box-sizing:border-box!important;
}
.bts-open{display:inline-flex;align-items:center;justify-content:center}

/* FINAL: fixed left position in the lower subchapter navigation area. */
.gallery-view .bts-chapter-footer {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px clamp(16px, 4vw, 70px) 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  transform: none !important;
  z-index: 8 !important;
  pointer-events: none;
  background: linear-gradient(to top, #652146 65%, rgba(101,33,70,0));
}
.gallery-view .bts-chapter-footer .bts-open {
  margin: 0 !important;
  align-self: flex-start !important;
  pointer-events: auto;
}
