@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--night:#181521;--plum:#292237;--paper:#f5f2ec;--white:#fffdfa;--lilac:#b4a0ed;--pink:#ef8daf;--ink:#211d2b;--muted:#76717e;--line:rgba(40,31,55,.14);--max:1240px;--pad:clamp(22px,5vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.tf-page{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit}.tf-page img{display:block;max-width:100%}.tf-page h1,.tf-page h2,.tf-page h3{font-family:Manrope,sans-serif;letter-spacing:-.065em;margin:0}.tf-page p{line-height:1.75;color:var(--muted)}.tf-wrap{width:min(var(--max),calc(100% - 2*var(--pad)));margin:auto}.tf-header{height:86px;position:absolute;top:0;left:0;right:0;z-index:50;color:#fff}.tf-header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff35}.tf-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.tf-brand svg{width:46px;height:32px;overflow:visible}.tf-brand svg path{stroke:var(--pink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none}.tf-brand-name{font:800 15px Manrope,sans-serif;letter-spacing:.13em}.tf-nav{display:flex;gap:clamp(18px,3vw,42px);align-items:center}.tf-nav a{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#ffffffcb;transition:color .2s}.tf-nav a:hover,.tf-nav a[aria-current=page]{color:#fff}.tf-nav .tf-nav-cta{border:1px solid #ffffff80;border-radius:999px;padding:13px 20px;color:#fff}.tf-menu{display:none;background:none;border:0;color:#fff;font-size:26px}.tf-button{display:inline-flex;align-items:center;gap:22px;padding:17px 21px;border-radius:3px;background:var(--pink);color:var(--night);font-size:12px;line-height:1;text-decoration:none;text-transform:uppercase;font-weight:800;letter-spacing:.1em;transition:transform .25s,background .25s}.tf-button:hover{transform:translateY(-3px);background:#f6a7c0}.tf-button span{font-size:20px;font-weight:400}.tf-button--light{background:var(--paper)}.tf-button--light:hover{background:#fff}.tf-eyebrow{display:flex;align-items:center;gap:11px;color:var(--pink);font-size:10px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.tf-eyebrow:before{content:'';width:25px;height:1px;background:currentColor}.tf-display{font-size:clamp(50px,8vw,112px);line-height:.92;font-weight:700}.tf-hero{position:relative;min-height:780px;height:min(900px,100svh);overflow:hidden;background:var(--night);color:white;display:flex;align-items:flex-end;padding:180px 0 110px}.tf-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,18,32,.93) 0%,rgba(27,21,39,.77) 44%,rgba(31,22,43,.14) 100%),linear-gradient(0deg,rgba(22,18,32,.67),transparent 62%),url('images/heroshot2.jpg') center/cover no-repeat;transform:scale(1.02)}.tf-hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:130px;background:linear-gradient(transparent,var(--night));pointer-events:none}.tf-hero-copy{position:relative;z-index:2;max-width:840px}.tf-hero h1{font-size:clamp(64px,10.8vw,148px);line-height:.82;letter-spacing:-.095em;font-weight:800;margin:28px 0 28px}.tf-hero h1 span{color:var(--pink);font-weight:500;font-style:italic}.tf-hero-intro{max-width:470px;color:#ffffffbd!important;font-size:16px;line-height:1.7;margin:0 0 30px}.tf-hero-actions{display:flex;align-items:center;gap:25px}.tf-text-link{color:white;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid #ffffff70;padding:13px 0}.tf-scroll-note{position:absolute;right:var(--pad);bottom:120px;z-index:2;writing-mode:vertical-rl;color:#ffffff9c;font-size:9px;letter-spacing:.25em;text-transform:uppercase}.tf-hero-signal{position:absolute;right:6vw;bottom:155px;width:min(34vw,450px);height:150px;z-index:1;background:url('images/frequency-wave.svg') center/contain no-repeat;opacity:.9;mix-blend-mode:screen;animation:signal-drift 7s ease-in-out infinite}.tf-marquee{background:var(--pink);color:var(--night);overflow:hidden;transform:rotate(-1.1deg) scale(1.02);position:relative;z-index:3;margin-top:-22px;padding:13px 0}.tf-marquee-track{display:flex;align-items:center;gap:26px;width:max-content;white-space:nowrap;animation:marquee 32s linear infinite;font:800 11px Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase}.tf-marquee .spark{font-size:20px}.tf-intro{padding:140px 0 150px;position:relative;overflow:hidden}.tf-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:start}.tf-intro h2{font-size:clamp(42px,6.6vw,84px);line-height:.99;max-width:780px}.tf-intro h2 em{font-style:normal;color:#9679d5}.tf-intro-copy{padding-top:10px;max-width:380px}.tf-intro-copy p{font-size:17px;margin:0 0 28px}.tf-signal-line{width:100%;height:52px;background:url('images/frequency-wave.svg') center/100% 100% no-repeat;opacity:.6}.tf-proof{background:var(--night);color:white;padding:105px 0 112px}.tf-proof-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:52px}.tf-proof h2{font-size:clamp(44px,6.4vw,78px);line-height:.98;max-width:650px}.tf-proof-top p{max-width:360px;color:#ffffff93}.tf-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff32}.tf-proof-item{padding:30px 28px 12px 0;border-right:1px solid #ffffff32}.tf-proof-item+.tf-proof-item{padding-left:28px}.tf-proof-item:last-child{border:0}.tf-proof-num{display:block;color:var(--pink);font:500 clamp(44px,6vw,72px) Manrope,sans-serif;letter-spacing:-.08em}.tf-proof-item h3{font-size:18px;letter-spacing:-.03em;margin:18px 0 10px}.tf-proof-item p{font-size:14px;color:#ffffff90;margin:0;max-width:300px}.tf-video{padding:145px 0;background:var(--paper)}.tf-video-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.tf-video h2{font-size:clamp(48px,7vw,86px);line-height:.92;max-width:650px}.tf-video .tf-frame{aspect-ratio:16/9;position:relative;background:#110e17;box-shadow:0 35px 90px #21162a20}.tf-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.tf-video-note{display:flex;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.tf-flow{padding:125px 0 145px;background:#e9e1f5}.tf-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:57px}.tf-section-head h2{font-size:clamp(46px,6.5vw,82px);line-height:.92;max-width:650px}.tf-section-head p{max-width:340px;margin:0}.tf-flow-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #79689850}.tf-flow-card{padding:25px 22px 8px 0;border-right:1px solid #79689850;min-height:235px}.tf-flow-card+.tf-flow-card{padding-left:22px}.tf-flow-card:last-child{border:0}.tf-flow-icon{width:52px;height:52px;object-fit:contain;margin:4px 0 24px}.tf-flow-card .tf-step{display:block;color:#8d72c5;font:700 10px Manrope,sans-serif;letter-spacing:.15em;margin-bottom:11px}.tf-flow-card h3{font-size:21px;letter-spacing:-.04em}.tf-flow-card p{font-size:13px;line-height:1.7}.tf-quote{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;min-height:660px;background:var(--night);color:#fff}.tf-quote-image{background:url('images/P1528454.jpg') center 30%/cover no-repeat;min-height:550px}.tf-quote-copy{padding:clamp(50px,9vw,130px) clamp(30px,7vw,100px);align-self:center}.tf-quote-copy h2{font-size:clamp(48px,7vw,88px);line-height:.9;margin:25px 0}.tf-quote-copy h2 em{font-style:normal;color:var(--pink)}.tf-quote-copy p{color:#ffffff9c;max-width:440px}.tf-quote-wave{width:220px;height:48px;margin-top:35px;background:url('images/frequency-wave.svg') center/100% 100% no-repeat}.tf-band{padding:135px 0 150px;background:var(--paper)}.tf-band-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:start}.tf-band-copy{position:sticky;top:40px}.tf-band h2{font-size:clamp(45px,6.4vw,82px);line-height:.91;margin:24px 0}.tf-band-copy p{max-width:420px}.tf-band-people{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}.tf-person:nth-child(2){margin-top:72px}.tf-person:nth-child(3){margin-top:-48px}.tf-person img{width:100%;height:390px;object-fit:cover;filter:saturate(.8);transition:filter .4s,transform .5s}.tf-person:hover img{filter:saturate(1);transform:translateY(-5px)}.tf-person h3{font-size:22px;margin:16px 0 5px}.tf-person p{margin:0;font-size:13px}.tf-person .tf-social{display:inline-block;color:#8d72c5;font-size:11px;text-decoration:none;margin-top:10px}.tf-reviews{padding:80px 0;background:#e9e1f5;min-height:160px}.tf-contact{position:relative;overflow:hidden;background:#30263e;color:#fff;padding:130px 0 115px}.tf-contact:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 95% 10%,#70548260,transparent 42%)}.tf-contact-inner{position:relative;display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:40px}.tf-contact h2{font-size:clamp(60px,10vw,128px);line-height:.82;letter-spacing:-.09em;margin:25px 0 30px}.tf-contact h2 span{color:var(--pink)}.tf-contact p{color:#ffffff9b;max-width:460px}.tf-contact-data{border-left:1px solid #ffffff3a;padding:8px 0 8px 34px}.tf-contact-data a,.tf-contact-data span{display:block;margin:0 0 18px;color:#fff;text-decoration:none}.tf-contact-data a:hover{color:var(--pink)}.tf-footer{background:var(--night);color:#fff;padding:25px 0 32px}.tf-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.tf-footer small{color:#ffffff70;font-size:10px}.tf-footer-links{display:flex;gap:22px}.tf-footer-links a{color:#ffffff9b;text-decoration:none;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.tf-page-hero{padding:190px 0 90px;background:var(--night);color:#fff;position:relative;overflow:hidden}.tf-page-hero:after{content:'';position:absolute;right:-5%;bottom:22px;width:50%;height:140px;background:url('images/frequency-wave.svg') center/contain no-repeat;opacity:.48;pointer-events:none}.tf-page-hero h1{font-size:clamp(60px,10vw,130px);line-height:.85;max-width:1000px;margin:24px 0}.tf-page-hero p{color:#ffffffa6;max-width:570px;font-size:16px}.tf-repertoire{padding:88px 0 140px}.tf-genres{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tf-genre{border-top:1px solid var(--line);padding:0 0 5px}.tf-genre summary{cursor:pointer;list-style:none;padding:24px 4px;display:flex;align-items:center;justify-content:space-between;font:700 clamp(17px,2vw,23px) Manrope,sans-serif;letter-spacing:-.04em}.tf-genre summary::-webkit-details-marker{display:none}.tf-genre summary:after{content:'+';font:300 27px Manrope;color:#9679d5;transition:transform .2s}.tf-genre[open] summary:after{transform:rotate(45deg)}.tf-songlist{list-style:none;padding:0 0 24px;margin:0;columns:2;column-gap:24px}.tf-songlist li{break-inside:avoid;color:#625d68;font-size:13px;padding:7px 0;border-bottom:1px solid #211d2b0c}.tf-song-closer{padding:28px 0 0;border-top:1px solid var(--line);margin-top:60px;max-width:650px}.tf-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 24px;padding:40px 0 140px}.tf-media-item:nth-child(1){grid-column:1/-1}.tf-media-frame{position:relative;aspect-ratio:16/9;background:var(--night)}.tf-media-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.tf-media-item h2{font-size:19px;margin-top:17px;letter-spacing:-.03em}.tf-legal{padding:80px 0 150px}.tf-legal-card{max-width:800px;padding:50px;background:#fff;border:1px solid var(--line)}.tf-legal-card h2{font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin:28px 0 8px}.tf-legal-card p{margin:0 0 15px;color:#625d68}.tf-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.tf-reveal.is-in{opacity:1;transform:none}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes signal-drift{0%,100%{transform:translateY(0);opacity:.75}50%{transform:translateY(-9px);opacity:1}}
@media(max-width:850px){.tf-header{height:72px}.tf-nav{display:none;position:absolute;top:71px;left:0;right:0;background:#211b2b;padding:22px var(--pad) 28px;align-items:stretch;flex-direction:column;gap:0}.tf-nav.is-open{display:flex}.tf-nav a{padding:14px 0;border-bottom:1px solid #ffffff20}.tf-nav .tf-nav-cta{border:0;padding:14px 0}.tf-menu{display:block}.tf-hero{min-height:720px;height:94svh;padding-bottom:95px}.tf-hero:before{background:linear-gradient(90deg,#17131fe8,#1b152c8f 68%,#1b152c50),linear-gradient(0deg,#17131fbb,transparent 70%),url('images/heroshot2.jpg') 54% center/cover no-repeat}.tf-hero-signal{right:5vw;bottom:82px;width:55vw;height:90px}.tf-scroll-note{display:none}.tf-intro{padding:95px 0}.tf-intro-grid,.tf-band-grid{grid-template-columns:1fr;gap:34px}.tf-intro-copy{max-width:560px}.tf-proof,.tf-video,.tf-flow,.tf-band{padding:90px 0}.tf-proof-top,.tf-video-head,.tf-section-head{align-items:start;flex-direction:column}.tf-flow-grid{grid-template-columns:1fr 1fr}.tf-flow-card:nth-child(2){border-right:0}.tf-flow-card:nth-child(3){padding-left:0}.tf-quote{grid-template-columns:1fr}.tf-quote-image{min-height:390px}.tf-quote-copy{padding:70px var(--pad)}.tf-band-copy{position:static}.tf-person img{height:330px}.tf-contact-inner{grid-template-columns:1fr}.tf-contact-data{border-left:0;border-top:1px solid #ffffff3a;padding:25px 0 0}.tf-contact{padding:95px 0}.tf-page-hero{padding:150px 0 70px}.tf-repertoire{padding:50px 0 90px}}
@media(max-width:560px){.tf-brand-name{font-size:12px}.tf-brand svg{width:38px}.tf-hero{min-height:680px}.tf-hero h1{font-size:clamp(58px,16vw,86px)}.tf-hero-intro{font-size:14px;max-width:350px}.tf-hero-actions{gap:16px;align-items:flex-start;flex-direction:column}.tf-marquee{padding:11px 0}.tf-intro h2{font-size:clamp(42px,12vw,62px)}.tf-proof-grid{grid-template-columns:1fr;border-top:0}.tf-proof-item,.tf-proof-item+.tf-proof-item{padding:22px 0;border-top:1px solid #ffffff32;border-right:0}.tf-proof-item:last-child{border-bottom:1px solid #ffffff32}.tf-flow-grid{grid-template-columns:1fr 1fr}.tf-flow-card{padding-right:13px}.tf-flow-card+.tf-flow-card{padding-left:13px}.tf-flow-card:nth-child(3){padding-left:0}.tf-flow-card h3{font-size:18px}.tf-flow-card p{font-size:12px}.tf-quote-image{min-height:330px}.tf-band-people{gap:26px 13px}.tf-person img{height:250px}.tf-person:nth-child(2){margin-top:45px}.tf-person:nth-child(3){margin-top:-28px}.tf-person h3{font-size:18px}.tf-contact h2{font-size:clamp(57px,17vw,88px)}.tf-footer-inner{align-items:flex-start;flex-direction:column}.tf-page-hero h1{font-size:clamp(58px,16vw,88px)}.tf-genres,.tf-media-grid{grid-template-columns:1fr}.tf-media-item:nth-child(1){grid-column:auto}.tf-songlist{columns:1}.tf-legal-card{padding:27px 22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.tf-reveal{opacity:1;transform:none}}

/* Brand and photography refinements */
.tf-header{background:#fffdfa;color:var(--ink);box-shadow:0 8px 28px #211d2b0a}
.tf-header-inner{border-bottom:1px solid var(--line)}
.tf-brand img{width:166px;height:auto;display:block}
.tf-brand-name{color:var(--ink)}
.tf-nav a{color:#4b4553}
.tf-nav a:hover,.tf-nav a[aria-current=page]{color:#17131f}
.tf-nav .tf-nav-cta{border-color:#2b2336;color:#2b2336}
.tf-nav .tf-nav-cta:hover{background:var(--night);color:white}
.tf-menu{color:var(--ink)}
.tf-intro-grid{grid-template-columns:.95fr 1.05fr;gap:7vw;align-items:center}
.tf-intro-photo{position:relative;min-height:490px;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(ellipse at 50% 72%,#d9cbed 0,rgba(217,203,237,.62) 34%,rgba(217,203,237,0) 72%)}
.tf-intro-photo:after{content:'';position:absolute;left:4%;right:4%;bottom:2%;height:1px;background:linear-gradient(90deg,transparent,var(--tf-pink),#9a83d5,transparent);opacity:.75}
.tf-intro-photo img{position:relative;z-index:1;max-height:510px;width:100%;object-fit:contain;object-position:center bottom;filter:saturate(.86) contrast(1.02) drop-shadow(0 23px 24px #30233b22)}
.tf-intro-grid .tf-intro-copy{padding-top:0;margin-top:28px}
.tf-person img{filter:saturate(.72) contrast(1.04) brightness(.97) sepia(.07);}
.tf-person:hover img{filter:saturate(.86) contrast(1.04) brightness(.99) sepia(.04)}
.tf-quote-image{position:relative;filter:saturate(.78) contrast(1.04) brightness(.96)}
.tf-hero h1{font-size:clamp(58px,8.8vw,122px);max-width:1000px}
@media(max-width:850px){.tf-brand img{width:148px}.tf-intro-grid{grid-template-columns:.8fr 1.2fr;gap:5vw}.tf-intro-photo{min-height:400px}}
@media(max-width:650px){.tf-intro-grid{grid-template-columns:1fr;gap:30px}.tf-intro-photo{min-height:370px;max-height:440px}.tf-intro-photo img{max-height:430px}.tf-hero h1{font-size:clamp(54px,13.6vw,82px)}.tf-brand img{width:136px}}
@media(max-width:850px){.tf-nav{background:#fffdfa}.tf-nav a{color:#4b4553}}
.tf-hero:before{filter:saturate(.84) contrast(1.03)}

/* Clear the hero action and give the wedding timeline a real entrance. */
.tf-hero-copy{max-width:1100px;z-index:4}
.tf-hero h1{font-size:clamp(54px,7.6vw,108px);line-height:.88;margin:18px 0 20px}
.tf-hero-actions{position:relative;z-index:6;margin-top:20px}
.tf-hero .tf-button{min-height:56px;box-shadow:0 12px 32px #110c1f55}
.tf-hero:after{z-index:1}
.tf-hero-signal{z-index:2;pointer-events:none}
.tf-scroll-note{display:none!important}
[data-reveal]{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
[data-reveal].is-in{opacity:1;transform:translateY(0)}
.tf-flow{position:relative;overflow:hidden}
.tf-flow-grid{position:relative;border-top-color:transparent}
.tf-flow-grid:before{content:'';position:absolute;z-index:2;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#a38bd8,var(--tf-pink),#a38bd8);transform:scaleX(0);transform-origin:left;transition:transform 1.5s cubic-bezier(.2,.7,.2,1)}
.tf-flow.tf-flow-live .tf-flow-grid:before{transform:scaleX(1)}
.tf-flow-card[data-reveal]{transition-delay:0s}
.tf-flow-card:nth-child(1)[data-reveal]{transition-delay:.12s}
.tf-flow-card:nth-child(2)[data-reveal]{transition-delay:.28s}
.tf-flow-card:nth-child(3)[data-reveal]{transition-delay:.44s}
.tf-flow-card:nth-child(4)[data-reveal]{transition-delay:.60s}
.tf-flow-icon{transform-origin:50% 75%}
.tf-flow-live .tf-flow-card:nth-child(1) .tf-flow-icon{animation:flow-pop .72s .18s both}
.tf-flow-live .tf-flow-card:nth-child(2) .tf-flow-icon{animation:flow-pop .72s .34s both}
.tf-flow-live .tf-flow-card:nth-child(3) .tf-flow-icon{animation:flow-pop .72s .50s both}
.tf-flow-live .tf-flow-card:nth-child(4) .tf-flow-icon{animation:flow-pop .72s .66s both}
@keyframes flow-pop{0%{opacity:.35;transform:translateY(14px) scale(.78) rotate(-8deg)}65%{opacity:1;transform:translateY(-5px) scale(1.06) rotate(2deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
/* Bring the three portraits into the lilac and rose palette while keeping skin natural. */
.tf-person img{transition:filter .45s,transform .5s}
.tf-person:nth-child(1) img,.tf-person:nth-child(3) img{filter:saturate(.72) contrast(1.04) brightness(.97) hue-rotate(34deg)}
.tf-person:nth-child(2) img{filter:saturate(.68) contrast(1.04) brightness(.98) hue-rotate(305deg)}
.tf-person:nth-child(1):hover img,.tf-person:nth-child(3):hover img{filter:saturate(.86) contrast(1.04) brightness(.99) hue-rotate(34deg)}
.tf-person:nth-child(2):hover img{filter:saturate(.82) contrast(1.04) brightness(1) hue-rotate(305deg)}
@media(max-width:850px){.tf-hero h1{font-size:clamp(52px,9.5vw,82px)}.tf-hero-actions{margin-top:15px}}
@media(max-width:560px){.tf-hero h1{font-size:clamp(49px,12vw,67px);line-height:.9}.tf-hero-intro{max-width:340px}.tf-hero .tf-button{min-height:54px}}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}.tf-flow-grid:before{transform:scaleX(1)}.tf-flow-live .tf-flow-icon{animation:none!important}}

/* Interactive lift for the wedding flow and the three key benefits. */
.tf-flow-grid{gap:14px;border-top:0}
.tf-flow-card,.tf-flow-card+.tf-flow-card{position:relative;z-index:1;padding:24px 20px 22px;min-height:325px;border:1px solid #79689850;border-radius:5px;background:rgba(255,255,255,.28);transform-origin:center bottom;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease,background .32s ease}
.tf-flow-card:hover,.tf-flow-card:focus-within{z-index:4;transform:translateY(-12px) scale(1.035);border-color:#a38bd8;background:#fff;box-shadow:0 24px 48px #51406c26}
.tf-flow-card:active{transform:translateY(-8px) scale(1.02)}
.tf-flow-icon{transition:translate .32s ease,scale .32s ease,filter .32s ease}
.tf-flow-card:hover .tf-flow-icon,.tf-flow-card:focus-within .tf-flow-icon{translate:0 -5px;scale:1.1;filter:drop-shadow(0 10px 12px #7860a533)}
.tf-proof-grid{gap:14px;border-top:0}
.tf-proof-item,.tf-proof-item+.tf-proof-item{position:relative;z-index:1;padding:26px;border:1px solid #ffffff35;border-radius:4px;background:rgba(255,255,255,.025);min-height:260px;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s,box-shadow .3s}
.tf-proof-item:hover,.tf-proof-item:focus-within{z-index:3;transform:translateY(-8px) scale(1.02);background:rgba(255,255,255,.09);border-color:#efa1bd;box-shadow:0 20px 42px #08061250}
.tf-proof-num{position:relative;transition:transform .3s ease,color .3s}
.tf-proof-item.is-in .tf-proof-num{animation:proof-rise .78s cubic-bezier(.2,.8,.2,1) both}
.tf-proof-item:nth-child(2).is-in .tf-proof-num{animation-delay:.16s}
.tf-proof-item:nth-child(3).is-in .tf-proof-num{animation-delay:.32s}
.tf-proof-item:hover .tf-proof-num,.tf-proof-item:focus-within .tf-proof-num{transform:translateY(-7px);color:#ffc0d1}
@keyframes proof-rise{0%{top:20px;opacity:.25}62%{top:-5px;opacity:1}100%{top:0;opacity:1}}
/* Near-monochrome portraits sit calmly with the lilac and rose identity. */
.tf-person img{filter:grayscale(.94) saturate(.12) contrast(1.04) brightness(1.02)!important}
.tf-person:hover img{filter:grayscale(.88) saturate(.18) contrast(1.04) brightness(1.04)!important}
@media(max-width:850px){.tf-flow-card,.tf-flow-card+.tf-flow-card{padding:22px 16px;min-height:300px}.tf-proof-item,.tf-proof-item+.tf-proof-item{padding:22px;min-height:230px}}
@media(max-width:560px){.tf-flow-grid{gap:10px}.tf-flow-card,.tf-flow-card+.tf-flow-card{padding:18px 12px;min-height:290px}.tf-proof-grid{gap:12px}}
@media(prefers-reduced-motion:reduce){.tf-flow-card,.tf-proof-item,.tf-flow-icon,.tf-proof-num{transition:none!important;animation:none!important}.tf-flow-card:hover,.tf-flow-card:focus-within,.tf-proof-item:hover,.tf-proof-item:focus-within{transform:none}}
.tf-flow-card.is-selected{z-index:5;transform:translateY(-12px) scale(1.035);border-color:#a38bd8;background:#fff;box-shadow:0 24px 48px #51406c26}
.tf-flow-card:focus-visible{outline:2px solid #846bc5;outline-offset:4px}

/* Keep the portraits gently colored and make the band section's lilac/rose accents clearer. */
.tf-band{background:linear-gradient(145deg,#f7f3ed 0%,#eee7f7 55%,#f9e9ee 100%)}
.tf-band-copy h2{color:#694ba2}
.tf-band-copy .tf-eyebrow{color:#a34e83}
.tf-person h3{color:#60458f}
.tf-person p{color:#655b70}
.tf-person .tf-social{color:#b04f86;font-weight:800;letter-spacing:.12em}
.tf-person .tf-social:hover{color:#7652c5}
.tf-person img{filter:grayscale(.1) saturate(.76) contrast(1.035) brightness(.99)!important}
.tf-person:hover img{filter:grayscale(0) saturate(.9) contrast(1.04) brightness(1)!important}

/* Mobile art direction: bring the live performers forward and keep symbols monochrome. */
.tf-page a,.tf-page button,.tf-page summary{font-variant-emoji:text}
.tf-button span{font-family:Arial,sans-serif;color:inherit;font-variant-emoji:text}
.tf-genres{counter-reset:tf-genre}
.tf-genre{counter-increment:tf-genre}
.tf-genre summary{display:flex;align-items:center;gap:14px}
.tf-genre summary:before{content:'0' counter(tf-genre);flex:0 0 auto;color:#9375cd;font:800 11px Manrope,sans-serif;letter-spacing:.08em}
.tf-genre summary:after{margin-left:auto}
@media(max-width:850px){
 .tf-hero{height:100svh;min-height:680px;padding:135px 0 76px}
 .tf-hero:before{background-position:center,center,74% 100%;background-size:auto,auto,auto 118%;background-repeat:no-repeat}
}
@media(max-width:560px){.tf-hero{min-height:700px}.tf-hero:before{background-position:center,center,74% 100%;background-size:auto,auto,auto 118%}}

/* Draw arrows and menu marks as site graphics instead of relying on emoji fonts. */
.tf-arrow{display:inline-block;position:relative;width:15px;height:15px;flex:0 0 15px;vertical-align:middle;font-size:0!important;line-height:0;color:currentColor}
.tf-arrow:before{content:'';position:absolute;right:1px;top:1px;width:8px;height:8px;border-top:1.7px solid currentColor;border-right:1.7px solid currentColor}
.tf-arrow:after{content:'';position:absolute;left:0;top:6px;width:14px;height:1.7px;background:currentColor;transform:rotate(-45deg)}
.tf-arrow--down{transform:rotate(90deg)}
.tf-nav-cta{display:inline-flex;align-items:center;gap:8px}
.tf-button .tf-arrow{font-size:0!important}
.tf-marquee .spark{width:9px;height:9px;flex:0 0 9px;font-size:0;background:var(--night);clip-path:polygon(50% 0,61% 37%,100% 50%,61% 63%,50% 100%,39% 63%,0 50%,39% 37%)}
.tf-menu-glyph,.tf-menu-glyph:before,.tf-menu-glyph:after{display:block;position:relative;width:22px;height:2px;background:currentColor;transition:transform .22s,background .22s}
.tf-menu-glyph:before,.tf-menu-glyph:after{content:'';position:absolute;left:0}
.tf-menu-glyph:before{top:-7px}.tf-menu-glyph:after{top:7px}
.tf-menu.is-open .tf-menu-glyph{background:transparent}
.tf-menu.is-open .tf-menu-glyph:before{top:0;transform:rotate(45deg)}
.tf-menu.is-open .tf-menu-glyph:after{top:0;transform:rotate(-45deg)}
@media(max-width:850px){
 .tf-hero:before{background-position:center,center,76% 100%;background-size:auto,auto,auto 104%}
 .tf-hero-signal{display:none}
}
@media(max-width:560px){
 .tf-hero{min-height:720px;padding-top:125px;padding-bottom:72px}
 .tf-hero h1{font-size:clamp(57px,15vw,77px);line-height:.94;letter-spacing:-.045em;word-spacing:.08em}
 .tf-hero:before{background-position:center,center,76% 100%;background-size:auto,auto,auto 104%}
}

/* Google reviews link: live source stays on Google, never a stale copied rating. */
.tf-reviews{padding:92px 0;background:linear-gradient(120deg,#ede6f7 0%,#f6f1fa 58%,#f3e5ee 100%)}
.tf-google-reviews{display:grid;grid-template-columns:1fr minmax(310px,.78fr);gap:8vw;align-items:center}
.tf-google-copy h2{font-size:clamp(42px,5.8vw,70px);line-height:.98;margin:22px 0 16px}
.tf-google-copy h2 em{font-style:normal;color:#9274ce}
.tf-google-copy p{max-width:430px;margin:0}
.tf-google-card{display:flex;align-items:center;gap:18px;padding:25px 26px;border:1px solid #9274ce42;background:#ffffffba;box-shadow:0 20px 55px #30263e10;color:var(--ink);text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}
.tf-google-card:hover{transform:translateY(-5px);box-shadow:0 26px 60px #30263e1b;border-color:#9274ce}
.tf-google-mark{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:50%;background:#fff;background-clip:text;-webkit-text-fill-color:transparent;background-image:conic-gradient(#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);font:800 32px Arial,sans-serif;box-shadow:0 4px 18px #30263e12}
.tf-google-card-copy{display:flex;flex-direction:column;gap:6px}
.tf-google-card-copy strong{font:800 16px Manrope,sans-serif;letter-spacing:-.03em}
.tf-google-card-copy small{color:var(--muted);font-size:12px}
.tf-google-arrow{margin-left:auto;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e9e1f5;color:#8063bb}
@media(max-width:650px){.tf-reviews{padding:70px 0}.tf-google-reviews{grid-template-columns:1fr;gap:26px}.tf-google-card{padding:19px 17px;gap:13px}.tf-google-mark{width:44px;height:44px;flex-basis:44px;font-size:27px}.tf-google-card-copy strong{font-size:14px}.tf-google-card-copy small{font-size:11px}}
