:root{--black:#050505;--gold:#d4af61;--cream:#f2eadb;--line:rgba(212,175,97,.42)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;background:var(--black);color:var(--cream);font-family:Montserrat,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}.is-loading body{overflow:hidden}.skip-intro .intro{display:none}
.intro{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#020202;transition:opacity .8s,visibility .8s}.intro-photo{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,.78)),url('assets/signature.png') center/cover no-repeat;opacity:.72}.signature-writing{position:relative;width:min(1000px,91vw);overflow:visible}.signature-writing path{fill:none;stroke:var(--gold);stroke-width:11;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 7px rgba(212,175,97,.28));animation:write-letter .55s ease forwards}.signature-writing path:nth-child(1){animation-delay:.15s}.signature-writing path:nth-child(2){animation-delay:.5s}.signature-writing path:nth-child(3){animation-delay:.82s}.signature-writing path:nth-child(4){animation-delay:1.14s}.signature-writing path:nth-child(5){animation-delay:1.55s}.signature-writing path:nth-child(6){animation-delay:1.83s}.signature-writing path:nth-child(7){animation-delay:2.06s}.signature-writing path:nth-child(8){animation-delay:2.25s}.signature-writing path:nth-child(9){animation-delay:2.53s}.signature-writing path:nth-child(10){animation-delay:2.78s}.signature-writing path:nth-child(11){animation-delay:3.08s}.signature-writing path:nth-child(12){animation-delay:3.38s}.signature-writing .signature-flourish{stroke-width:6;animation-duration:.7s}.intro p{position:absolute;bottom:5vh;color:var(--gold);font-size:9px;letter-spacing:.52em;text-transform:uppercase;opacity:0;animation:fade .7s 3.55s forwards}.intro.done{opacity:0;visibility:hidden;pointer-events:none}@keyframes write-letter{to{stroke-dashoffset:0}}@keyframes fade{to{opacity:1}}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:28px clamp(22px,5vw,76px);mix-blend-mode:difference}.wordmark{font-size:12px;font-weight:600;letter-spacing:.42em}.site-header nav{display:flex;gap:clamp(22px,4vw,58px)}.site-header nav a{position:relative;padding:8px 0;color:var(--gold);font-size:11px;letter-spacing:.22em;text-transform:uppercase}.site-header nav a:after{content:"";position:absolute;right:0;bottom:2px;left:0;height:1px;background:var(--gold);transform:scaleX(0);transition:.25s}.site-header nav a:hover:after{transform:scaleX(1)}
.panel{position:relative;min-height:100svh;overflow:hidden;padding:120px clamp(22px,6vw,95px) 55px}.panel-number{position:absolute;right:3vw;top:46%;color:rgba(212,175,97,.38);font-family:Italiana,serif;font-size:12px;letter-spacing:.3em;writing-mode:vertical-rl}.kicker{margin:0 0 20px;color:var(--gold);font-size:10px;font-weight:600;letter-spacing:.38em;text-transform:uppercase}h1,h2{margin:0;color:var(--gold);font-family:Italiana,Georgia,serif;font-weight:400;line-height:.82}
.hero{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.22fr);align-items:center;gap:6vw;background:#050505}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.3) 48%,rgba(0,0,0,.55));pointer-events:none}.signature-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.78;filter:sepia(.28) saturate(1.25) brightness(.5) contrast(1.12);pointer-events:none}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(74px,10vw,165px);letter-spacing:-.035em}
.media-frame{position:relative;z-index:3;border:1px solid var(--line);background:#000;box-shadow:0 35px 100px rgba(0,0,0,.55)}.media-frame:before{content:"";position:absolute;z-index:2;inset:-9px 9px 9px -9px;border-top:1px solid rgba(212,175,97,.25);border-left:1px solid rgba(212,175,97,.25);pointer-events:none}.youtube-frame{width:100%;aspect-ratio:16/9}.youtube-frame iframe,.media-frame video{display:block;width:100%;height:100%;border:0}.local-frame{width:min(760px,53vw);aspect-ratio:16/9;justify-self:end}.local-frame video{object-fit:contain}.scroll-cue{position:absolute;bottom:30px;left:6vw;display:flex;align-items:center;gap:14px;color:var(--gold);font-size:9px;letter-spacing:.28em;text-transform:uppercase}.scroll-cue span{width:45px;height:1px;background:var(--gold)}
.comedy{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:6vw;background:url('assets/comedy-background.png') center 40%/cover no-repeat}.panel-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.47) 48%,rgba(0,0,0,.68)),linear-gradient(0deg,rgba(0,0,0,.6),transparent 45%)}.section-copy,.gallery-heading{position:relative;z-index:2}.section-copy h2{font-size:clamp(64px,8vw,126px)}
.gallery-panel{display:flex;flex-direction:column;justify-content:center;background:url('media/joy-rooftop-web.jpeg') center 38%/cover no-repeat;padding-right:0}.gallery-panel .panel-shade{background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.26) 65%,rgba(0,0,0,.5)),linear-gradient(0deg,rgba(0,0,0,.82),transparent 60%)}.gallery-heading{display:flex;align-items:end;gap:28px;margin:20px 0 36px}.gallery-heading .kicker{margin:0 0 8px}.gallery-heading h2{font-size:clamp(72px,10vw,145px)}.gallery-track{position:relative;z-index:3;display:flex;gap:22px;width:100%;overflow-x:auto;padding:12px 7vw 28px 0;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}.gallery-track::-webkit-scrollbar{display:none}.gallery-track.grabbing{cursor:grabbing;scroll-snap-type:none}.gallery-track figure{flex:0 0 clamp(270px,31vw,470px);margin:0;scroll-snap-align:start}.gallery-track figure:nth-child(2){flex-basis:clamp(340px,42vw,640px)}.gallery-track img{width:100%;height:clamp(330px,49vh,560px);object-fit:cover;filter:saturate(.8) contrast(1.06)}.gallery-track figcaption{margin-top:11px;color:var(--gold);font-size:9px;letter-spacing:.24em;text-transform:uppercase}.drag-note{position:relative;z-index:3;color:#d5ccbe;font-size:9px;letter-spacing:.23em;text-transform:uppercase}.drag-note span{color:var(--gold);font-size:18px}.panel-footer{position:absolute;z-index:4;right:5vw;bottom:22px;left:6vw;display:flex;justify-content:space-between;color:#bcb4a8;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.panel-footer a{color:var(--gold)}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s,transform .9s}.reveal.visible{opacity:1;transform:none}
.inner-page{min-height:100svh;background:#060606}.inner-main{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.inner-image{min-height:100svh;background-size:cover;background-position:center}.about-image{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.35)),url('media/joy-headshot-web.jpeg')}.contact-image{background-image:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.45)),url('media/joy-main.jpeg')}.inner-copy{display:flex;flex-direction:column;justify-content:center;padding:130px clamp(32px,7vw,110px) 70px}.inner-copy h1{font-size:clamp(76px,9vw,145px)}.inner-copy .lede{margin:34px 0 0;color:#bdb4a5;font-family:Italiana,serif;font-size:clamp(22px,2.2vw,33px);line-height:1.45}.body-copy{max-width:580px;margin-top:27px;color:#938d83;font-size:13px;line-height:1.9}.back-link{margin-top:36px;color:var(--gold);font-size:10px;letter-spacing:.24em;text-transform:uppercase}.contact-form{display:grid;gap:20px;margin-top:34px}.contact-form label{display:block;margin-bottom:7px;color:var(--gold);font-size:9px;letter-spacing:.23em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #443c2e;border-radius:0;padding:10px 0;color:var(--cream);background:transparent;outline:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}.contact-form textarea{resize:vertical}.contact-form button{justify-self:start;border:1px solid var(--gold);padding:14px 24px;color:#050505;background:var(--gold);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
@media(max-width:850px){.site-header{padding:22px}.wordmark{letter-spacing:.27em}.hero,.comedy{grid-template-columns:1fr;align-content:center;gap:42px}.hero{padding-top:110px}.hero h1{font-size:clamp(70px,22vw,120px)}.youtube-frame,.local-frame{width:100%}.comedy{background-position:58% center}.section-copy h2{font-size:clamp(62px,18vw,100px)}.gallery-panel{padding-left:22px;background-position:36% center}.gallery-track{padding-right:22px}.inner-main{grid-template-columns:1fr}.inner-image{min-height:56svh}.inner-copy{min-height:70svh;padding:100px 25px 65px}.panel-number{display:none}}
@media(max-width:520px){.site-header nav{gap:17px}.site-header nav a{font-size:9px}.panel{padding-left:22px;padding-right:22px}.hero h1{font-size:clamp(64px,20vw,94px)}.youtube-frame{margin-bottom:35px}.signature-bg{object-position:center}.gallery-panel{padding-right:0}.gallery-heading{display:block}.gallery-heading h2{font-size:74px}.gallery-track figure{flex-basis:78vw}.gallery-track figure:nth-child(2){flex-basis:86vw}.panel-footer{right:22px;left:22px}.panel-footer span:first-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.signature-writing path{animation:none;stroke-dashoffset:0}.intro p{animation:none;opacity:1}.reveal{opacity:1;transform:none;transition:none}}

/* Signature-led opening */
.intro-photo{display:none}
.intro{background:#050505}
.signature-writing{transform:translate(0,0) rotate(-5deg) skewX(-7deg) scale(1);width:min(1060px,92vw);opacity:1;filter:blur(0);transition:transform 1.45s cubic-bezier(.4,0,.16,1),opacity 1.35s ease,filter 1.35s ease}
.signature-writing path{stroke:url(#signatureGold);stroke-width:14;filter:drop-shadow(0 1px 0 rgba(255,248,218,.28)) drop-shadow(0 2px 3px rgba(47,27,6,.72)) drop-shadow(0 0 5px rgba(208,171,101,.16))}
.signature-writing .signature-heart{stroke-width:10;fill:none}
.signature-writing path:nth-of-type(1){animation-delay:.15s}.signature-writing path:nth-of-type(2){animation-delay:.5s}.signature-writing path:nth-of-type(3){animation-delay:.82s}.signature-writing path:nth-of-type(4){animation-delay:1.14s}
.signature-writing .christos-tail{animation-delay:1.55s;animation-duration:1.85s}
.signature-writing .signature-heart{animation-delay:3.15s;animation-duration:.55s}
.signature-writing path:nth-child(13){animation-delay:3.7s;animation-duration:.7s}
.intro p{animation-delay:3.85s}
.intro.done{transition-duration:1.45s}
.intro.done .signature-writing{transform:translate(-19vw,-11vh) rotate(-3deg) skewX(-4deg) scale(.88);opacity:.36;filter:drop-shadow(0 0 18px rgba(212,175,97,.18))}
.hero{display:flex;align-items:center;justify-content:center}
.hero:after{z-index:0;background:rgba(0,0,0,.42)}
.hero-signature{position:absolute;z-index:1;left:31%;top:39%;width:min(930px,69vw);max-width:none;opacity:.76;transform:translate(-50%,-50%) rotate(-3deg) skewX(-4deg);filter:drop-shadow(0 0 18px rgba(212,175,97,.18));animation:signature-glow 7s ease-in-out infinite}
.hero-signature path{fill:none;stroke:url(#signatureGold);stroke-width:14;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:none}
.hero-signature .signature-heart{stroke-width:10}
.hero{justify-content:flex-end}
.youtube-frame,.comedy .local-frame{width:min(680px,52vw);margin-right:0;position:relative;right:-4vw;top:17vh}
@media(max-width:850px){.hero{display:flex;justify-content:center}.youtube-frame,.comedy .local-frame{width:min(88vw,700px);margin-right:0;right:auto;top:0}}
@keyframes signature-glow{0%,100%{opacity:.8;filter:drop-shadow(0 0 14px rgba(212,175,97,.18))}50%{opacity:.88;filter:drop-shadow(0 0 22px rgba(212,175,97,.28))}}
.comedy{display:flex;align-items:center;justify-content:flex-end}
.comedy .local-frame{justify-self:auto}
@media(max-width:850px){.comedy{justify-content:center}}
@media(max-width:850px){.hero-signature{left:50%;top:35%;width:94vw}}
@media(max-width:850px){.intro.done .signature-writing{transform:translate(0,-15vh) rotate(-3deg) skewX(-4deg) scale(1.02)}}
.video-curtain{position:absolute;z-index:5;inset:0;overflow:hidden;border:0;padding:0;color:#f4dca7;background:#260307;cursor:pointer}
.mini-curtain{position:absolute;top:0;bottom:0;width:51%;transition:transform 1.35s cubic-bezier(.76,0,.24,1);background:repeating-linear-gradient(90deg,#200307 0,#4c0911 8%,#73101a 16%,#43070e 25%,#190205 34%,#5d0b14 44%);box-shadow:inset 0 0 42px rgba(0,0,0,.78)}
.mini-curtain:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 23%,rgba(0,0,0,.55));mix-blend-mode:soft-light}
.mini-curtain-left{left:0;border-right:3px solid #370208}.mini-curtain-right{right:0;border-left:3px solid #370208;background-position:13px 0}
.curtain-title,.curtain-play{position:absolute;z-index:2;left:50%;transform:translate(-50%,-50%);transition:opacity .35s ease}.curtain-title{top:42%;width:100%;font-family:Italiana,serif;font-size:clamp(20px,2.2vw,34px);letter-spacing:.08em}.curtain-play{top:60%;display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--gold);border-radius:50%;padding-left:3px;color:var(--gold);font-size:14px}
.video-curtain.opening{pointer-events:none;background:transparent}.video-curtain.opening .mini-curtain-left{transform:translateX(-101%)}.video-curtain.opening .mini-curtain-right{transform:translateX(101%)}.video-curtain.opening .curtain-title,.video-curtain.opening .curtain-play{opacity:0}.video-curtain.opened{display:none}
@media(prefers-reduced-motion:reduce){.mini-curtain{transition:none}}
.curtain-play{top:50%}
.gallery-track{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--gold) rgba(255,255,255,.14);touch-action:pan-x;overscroll-behavior-inline:contain}
.gallery-track::-webkit-scrollbar{display:block;height:5px}
.gallery-track::-webkit-scrollbar-track{background:rgba(255,255,255,.14)}
.gallery-track::-webkit-scrollbar-thumb{background:var(--gold);border-radius:99px}
.gallery-track img{object-fit:contain;background:rgba(0,0,0,.48)}
.gallery-track img{pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.contact-main{display:block;min-height:100svh}
.contact-main .inner-copy{width:min(760px,100%);min-height:100svh;margin:0 auto;padding-right:32px;padding-left:32px}
.contact-main .contact-form>input[type="hidden"]{display:none}
.about-main{display:block;min-height:100svh}
.about-main .inner-copy{width:min(760px,100%);min-height:100svh;margin:0 auto;padding-right:32px;padding-left:32px}
.exact-signature{aspect-ratio:1210/1060}
.exact-signature .trace{fill:none;stroke:#fff;stroke-width:96;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;filter:none;animation:trace-ink 1s linear forwards}
.signature-writing.exact-signature .trace-j{animation-delay:.1s;animation-duration:.8s}.signature-writing.exact-signature .trace-oy{animation-delay:.65s;animation-duration:1.05s}.signature-writing.exact-signature .trace-c{animation-delay:1.55s;animation-duration:.85s}.signature-writing.exact-signature .trace-name{animation-delay:2.25s;animation-duration:1.35s}.signature-writing.exact-signature .trace-heart{stroke-width:54;animation-delay:3.42s;animation-duration:.35s}
.exact-signature .mask-finish{opacity:0;animation:finish-ink .01s linear 3.75s forwards}
.hero-signature .trace{animation:none;stroke-dashoffset:0}.hero-signature .mask-finish{opacity:1;animation:none}
@keyframes trace-ink{to{stroke-dashoffset:0}}@keyframes finish-ink{to{opacity:1}}
.signature-writing.exact-signature img{position:relative;z-index:0;display:block;width:100%;height:100%;object-fit:contain;clip-path:none;animation:none}
.signature-writing.exact-signature:after{display:none}
.signature-canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%}.signature-writing .signature-final{opacity:0}.signature-writing.drawing-complete .signature-final{opacity:1}.signature-writing.drawing-complete .signature-canvas{opacity:0}.signature-final,.signature-canvas{transition:opacity .18s linear}
.hero-signature img{display:block;width:100%;height:100%;object-fit:contain;clip-path:inset(0);animation:none}
.hero-signature .signature-final{opacity:1}.hero-signature .signature-canvas{display:none}
.hero-signature:after{display:none}
.signature-writing.exact-signature .trace,.signature-writing.exact-signature .mask-finish{visibility:hidden}
@keyframes reveal-exact-signature{0%{clip-path:polygon(0 0,5% 0,3% 25%,1% 55%,0 80%,0 100%)}15%{clip-path:polygon(0 0,14% 0,17% 25%,20% 55%,12% 80%,5% 100%)}31%{clip-path:polygon(0 0,28% 0,31% 25%,35% 55%,39% 80%,32% 100%)}43%{clip-path:polygon(0 0,43% 0,46% 25%,49% 55%,47% 80%,43% 100%)}57%{clip-path:polygon(0 0,58% 0,62% 25%,65% 55%,60% 80%,53% 100%)}72%{clip-path:polygon(0 0,73% 0,77% 25%,80% 55%,74% 80%,67% 100%)}87%{clip-path:polygon(0 0,89% 0,92% 25%,94% 55%,88% 80%,82% 100%)}100%{clip-path:polygon(0 0,100% 0,100% 25%,100% 55%,100% 80%,100% 100%)}}
@keyframes unveil-signature{to{transform:translate3d(101%,0,0)}}
.ink-point{position:absolute;z-index:2;width:8px;height:8px;border-radius:50%;background:#fff1b5;box-shadow:0 0 5px 1px #d7ae5d,0 0 10px 3px rgba(209,164,76,.24);offset-path:path('M110 225 C145 400 235 610 202 755 C175 872 82 933 54 862 M215 596 C286 520 392 551 420 640 C440 705 402 824 459 889 M502 254 C446 210 427 350 466 516 C505 681 633 674 682 586 M636 394 C666 555 704 540 746 491 C798 465 843 492 889 475 C930 493 962 430 971 286 C974 447 1014 489 1053 426 C1080 386 1112 448 1132 430');offset-rotate:0deg;animation:follow-ink 4.1s cubic-bezier(.45,0,.2,1) .1s forwards;opacity:0}
.hero-signature .ink-point{display:none}
@keyframes follow-ink{0%{offset-distance:0;opacity:0}2%{opacity:1}96%{opacity:1}100%{offset-distance:100%;opacity:0}}
.comedy{background-image:url('assets/comedy-background-web.jpg')}

/* Mobile optimization */
@media(max-width:600px){
  body{min-width:320px}
  .site-header{padding-top:max(19px,env(safe-area-inset-top));padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left))}
  .wordmark{font-size:10px;letter-spacing:.22em;white-space:nowrap}
  .site-header nav{gap:14px}.site-header nav a{min-height:42px;display:flex;align-items:center;padding:0;font-size:9px}
  .panel{min-height:100svh;padding-top:max(88px,calc(env(safe-area-inset-top) + 70px));padding-bottom:max(34px,env(safe-area-inset-bottom))}
  .signature-writing{width:94vw;transform:none;filter:none}
  .signature-writing.exact-signature:after{inset:-1%;background:linear-gradient(90deg,transparent 0,#050505 9%,#050505 100%);animation-duration:3.2s}
  .signature-writing .ink-point{display:none}
  .intro.done .signature-writing{transform:translate3d(0,-21vh,0) scale(1.02);opacity:.36;filter:none}
  .intro p{bottom:max(24px,env(safe-area-inset-bottom));font-size:8px;letter-spacing:.35em}
  .hero{align-items:flex-end;padding-right:18px;padding-left:18px;padding-bottom:14vh}
  .hero-signature{left:50%;top:29%;width:96vw;opacity:.48;transform:translate(-50%,-50%);filter:none}
  .youtube-frame,.comedy .local-frame{width:90vw;right:0;top:0;margin:0;aspect-ratio:16/9}
  .scroll-cue{bottom:max(20px,env(safe-area-inset-bottom));left:20px}
  .comedy{align-items:flex-end;justify-content:center;padding-right:18px;padding-left:18px;padding-bottom:8vh;background-position:43% center}
  .comedy .panel-shade{background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.2) 55%,rgba(0,0,0,.38)),linear-gradient(0deg,rgba(0,0,0,.34),transparent 48%)}
  .comedy .local-frame{opacity:0!important;transform:translateY(24px)!important;transition:opacity .85s ease,transform .85s ease}
  .comedy.mobile-video-ready .local-frame{opacity:1!important;transform:translateY(0)!important}
  .video-curtain{touch-action:manipulation}.curtain-play{width:54px;height:54px}
  .gallery-panel{justify-content:center;padding-top:88px;padding-bottom:58px;background-position:38% center}
  .gallery-heading{margin:0 0 20px}.gallery-heading h2{font-size:64px}
  .gallery-track{gap:14px;padding-bottom:20px;scroll-padding-left:0;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-block:auto}
  .gallery-track figure,.gallery-track figure:nth-child(2){flex:0 0 86vw}
  .gallery-track img{height:55svh;max-height:520px;user-select:none;-webkit-user-drag:none}
  .drag-note{margin-top:4px}.panel-footer{bottom:max(14px,env(safe-area-inset-bottom))}
  .inner-main,.about-main,.contact-main{min-height:100svh}
  .about-main .inner-copy,.contact-main .inner-copy{width:100%;min-height:100svh;padding-top:max(105px,calc(env(safe-area-inset-top) + 86px));padding-right:max(24px,env(safe-area-inset-right));padding-bottom:max(42px,env(safe-area-inset-bottom));padding-left:max(24px,env(safe-area-inset-left))}
  .inner-copy h1{font-size:clamp(66px,22vw,92px)}.inner-copy .lede{margin-top:25px;font-size:23px}.body-copy{font-size:13px;line-height:1.75}
  .contact-form{gap:17px}.contact-form input,.contact-form textarea{font-size:16px}.contact-form button{min-height:48px}
}

/* Stable signature rendering */
.signature-writing.exact-signature{aspect-ratio:1210/900;overflow:hidden}
.signature-writing.exact-signature .signature-final{display:block;width:112%;height:auto;margin:-8% 0 0 -6%;opacity:1;clip-path:none;animation:none}
.signature-cover{position:absolute;z-index:3;inset:-3%;display:block;background:linear-gradient(90deg,transparent 0,rgba(5,5,5,.72) 5%,rgba(5,5,5,.72) 100%);transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden;animation:smooth-signature-draw 3.25s cubic-bezier(.42,0,.18,1) .12s forwards}
.hero-signature .signature-cover{display:none}
.hero-signature.exact-signature{aspect-ratio:1210/900;overflow:hidden}
.hero-signature.exact-signature .signature-final{display:block;width:112%;height:auto;margin:-8% 0 0 -6%;opacity:1;clip-path:inset(0);animation:none;filter:brightness(1.14) contrast(1.04)}
@keyframes stable-signature-reveal{0%{clip-path:inset(0 82% 0 0)}28%{clip-path:inset(0 60% 0 0)}52%{clip-path:inset(0 42% 0 0)}76%{clip-path:inset(0 20% 0 0)}100%{clip-path:inset(0)}}
@keyframes smooth-signature-draw{to{transform:translate3d(102%,0,0)}}
@media(max-width:600px){.signature-writing.exact-signature,.hero-signature.exact-signature{width:92vw;aspect-ratio:1210/900}.signature-writing.exact-signature .signature-final,.hero-signature.exact-signature .signature-final{width:110%;margin:-7% 0 0 -5%}}
.signature-writing .signature-cover{display:none!important}
.signature-writing.exact-signature .signature-final{opacity:.45;animation:signature-visible-in 2.65s ease-out .1s forwards!important}
@keyframes signature-visible-in{from{opacity:.45;filter:brightness(.82)}to{opacity:1;filter:brightness(1)}}

/* True brush-drawn signature */
.signature-writing.exact-signature,.hero-signature.exact-signature{aspect-ratio:1210/1060;overflow:visible}
.signature-writing.exact-signature .signature-final{width:100%;height:100%;margin:0;object-fit:contain;opacity:.12;animation:none!important;filter:url(#signatureThicken)}
.signature-canvas{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;opacity:1;filter:url(#signatureThicken);transition:opacity .18s linear}
.signature-writing.drawing-complete .signature-final{opacity:1}.signature-writing.drawing-complete .signature-canvas{opacity:0}
.hero-signature.exact-signature .signature-final{width:100%;height:100%;margin:0;object-fit:contain;opacity:1;filter:url(#signatureThicken)}.hero-signature .signature-canvas{display:none}
@media(max-width:600px){.signature-writing.exact-signature,.hero-signature.exact-signature{width:94vw;aspect-ratio:1210/1060}.signature-writing.exact-signature .signature-final,.hero-signature.exact-signature .signature-final{width:100%;height:100%;margin:0}}
.intro .exact-signature{background:url('assets/signature-ink.png?v=10') center/contain no-repeat}
.signature-writing.exact-signature .signature-final{opacity:.3}
.hero-signature.exact-signature{left:30%;top:42%;width:min(1000px,72vw);opacity:.84;background:none}
@media(max-width:600px){.signature-writing.exact-signature .signature-final{opacity:.2}.hero-signature.exact-signature{left:50%;top:29%;width:94vw;opacity:.8}}
