:root{--cream:#fff8e9;--ink:#24484c;--red:#c34532;--blue:#d5edf0;--yellow:#f6ca59}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 'Trebuchet MS',Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}button,input,select,textarea{font:inherit}img{display:block;width:100%;object-fit:cover}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:0}.preview-bar{background:var(--ink);color:var(--cream);font-size:10px;letter-spacing:.12em;padding:8px 5%;display:flex;justify-content:space-between}.preview-bar span{letter-spacing:.03em;color:#c5d8d7}header{max-width:1360px;margin:auto;padding:25px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #24484c26}.logo{font:bold 38px/1 Georgia,serif;letter-spacing:-2px;color:var(--red)}.logo span{color:var(--ink)}.logo i{font-size:24px;margin-left:5px;display:inline-block;transform:rotate(15deg);color:var(--red)}nav{display:flex;align-items:center;gap:35px;font-size:13px}nav a:hover,.text-link:hover{color:var(--red)}.nav-book{border:1px solid var(--ink);border-radius:30px;padding:11px 20px}.nav-book span{padding-left:10px}.hero{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.12fr 1fr;gap:45px;padding:75px 4% 85px;align-items:center;overflow:hidden}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:.17em;line-height:1.7}.star{font-size:23px;vertical-align:middle;margin-right:9px;color:var(--red)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:normal}h1{font-size:clamp(52px,5.8vw,83px);line-height:1.04;letter-spacing:-4px;margin:22px 0 26px}h1 em,h2 em{color:var(--red);font-weight:normal}h2{font-size:clamp(39px,4.3vw,60px);line-height:1.12;letter-spacing:-2px;margin:18px 0 25px}.intro{max-width:420px;color:#52666a;font-size:16px}.button{display:inline-flex;justify-content:space-between;gap:35px;align-items:center;background:var(--red);color:var(--cream);border:1px solid var(--red);padding:15px 26px;border-radius:30px;font-size:13px;font-weight:bold;cursor:pointer;box-shadow:0 4px 0 #87392b;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 6px 0 #87392b}.hero .button{margin-top:17px}.small-note{font-size:11px;margin:18px 0;color:#697c79}.hero-copy{position:relative}.doodles{display:flex;gap:30px;position:absolute;bottom:-50px;right:10px;align-items:center;color:#d49e29;font-size:26px;transform:rotate(-13deg)}.doodles span:nth-child(2){font-size:40px;color:var(--red)}.hero-art{position:relative;padding:20px 28px 8px 0}.arch{margin:0;border:10px solid #f5d575;border-bottom:0;border-radius:220px 220px 14px 14px;overflow:hidden;transform:rotate(3deg);background:#f5d575;box-shadow:14px 14px 0 var(--blue)}.arch img{height:440px;object-position:50% 50%;border-radius:210px 210px 0 0}.arch figcaption{font-size:9px;letter-spacing:.16em;text-align:center;padding:14px 5px;font-weight:bold}.sun{position:absolute;top:-21px;left:-40px;color:var(--red);font-size:102px;z-index:1;line-height:1}.badge{position:absolute;bottom:12px;right:-5px;border-radius:50%;background:var(--ink);color:var(--cream);width:137px;height:137px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:17px/1.35 Georgia,serif;transform:rotate(11deg);border:5px double #fff8e9}.badge span{font-size:22px;color:var(--yellow);margin-top:5px}.ribbon{display:flex;justify-content:center;align-items:center;gap:38px;flex-wrap:wrap;background:var(--blue);padding:23px 20px;border-block:1px solid #a4c6c8;font:19px Georgia,serif}.ribbon b{color:var(--red);font-size:15px}.section{max-width:1150px;margin:auto;padding:100px 30px}.duet{display:grid;grid-template-columns:1fr 1.1fr;gap:110px;align-items:center}.photo-stack{position:relative;max-width:335px;margin:auto}.photo-stack:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,#efc256 0 18px,#fff0c5 18px 36px);transform:rotate(8deg);border:1px solid #e1be67}.photo-stack figure{position:relative;background:white;margin:0;padding:12px 12px 20px;transform:rotate(-5deg);box-shadow:0 8px 20px #24484c14}.photo-stack img{height:315px}.photo-stack figcaption{font-size:10px;letter-spacing:.15em;text-align:center;padding-top:20px}.spark{position:absolute;font-size:90px;right:-40px;bottom:-45px;color:var(--red);line-height:1}.story p:not(.eyebrow){color:#52666a;max-width:450px}.instrument-line{border-block:1px solid #24484c30;padding:20px 0;margin:27px 0;display:flex;gap:25px;font-size:11px;color:var(--red)}.instrument-line strong{color:var(--ink);font-weight:normal;font-size:14px;margin-left:8px}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:7px}.text-link span{margin-left:35px}.moments{padding-top:40px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}.section-title h2{margin-bottom:0}.section-title>p{font-size:13px;color:#52666a}.performance{display:block;position:relative;border-radius:180px 180px 12px 12px;overflow:hidden;background:var(--ink);max-width:850px;margin:45px auto 0}.performance>img{height:450px;object-position:50% 46%}.performance:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#132e31e8);pointer-events:none}.performance-caption{position:absolute;bottom:28px;left:36px;right:25px;color:white;z-index:1;display:flex;align-items:center;gap:22px}.performance-caption .eyebrow{font-size:9px;color:#f6d785}.performance-caption h3{margin:5px 0;font-size:29px;line-height:1.2}.performance-caption span:last-child{font-size:12px}.play{width:57px;height:57px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--cream);color:var(--red);font-size:19px;padding-left:4px}.performance:hover .play{background:var(--yellow)}.media-note{text-align:center;font-size:12px;margin:25px 0 0}.media-note a{text-decoration:underline;text-underline-offset:4px}.booking{background:var(--blue);border-top:14px solid transparent;border-image:repeating-linear-gradient(90deg,#c34532 0 32px,#fff8e9 32px 64px) 14}.booking-inner{max-width:1200px;margin:auto;padding:75px 45px;display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.booking p:not(.eyebrow){font-size:14px}.occasion-tags{display:flex;gap:8px;flex-wrap:wrap;max-width:320px;margin-top:25px}.occasion-tags span{border:1px solid #95b7ba;border-radius:20px;padding:6px 12px;font-size:11px}.booking-star{font-size:100px;color:var(--red);line-height:1.3;transform:rotate(12deg);width:110px;margin-top:25px}form{background:var(--cream);border:1px solid #b6c4b9;border-radius:10px;padding:30px;box-shadow:8px 8px 0 #abcfd0}form h3{font-size:32px;margin:0;line-height:1.2}.form-intro{color:#637571;margin-top:8px;margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{display:block;font-size:11px;font-weight:bold;margin-bottom:18px}label span{font-weight:normal;color:#52666a}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #c8cabc;background:#fffdf5;padding:11px;border-radius:4px;color:var(--ink);font-size:12px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #769fa3;outline-offset:2px}textarea{resize:vertical}form .button{width:100%;margin-top:4px}form .preview-note{font-size:10px!important;color:#62716d;margin-top:17px;margin-bottom:0}#form-status{font-size:13px;background:#e9ebd4;border-radius:5px}#form-status:not(:empty){padding:12px}footer{max-width:1280px;margin:auto;padding:40px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .logo{font-size:32px}footer p,footer>a:last-child{font-size:11px}footer>a:last-child{text-decoration:underline;text-underline-offset:5px}@media(max-width:900px){nav{gap:18px}.hero{gap:25px}.arch img{height:360px}.hero-art{padding-right:15px}h1{letter-spacing:-3px}.badge{width:110px;height:110px;font-size:14px}.duet{gap:50px}.booking-inner{gap:35px;padding-inline:30px}.ribbon{gap:20px}.sun{left:-20px;font-size:75px}}@media(max-width:650px){.preview-bar{font-size:8px;gap:15px}.preview-bar span{max-width:150px;text-align:right}header{padding:20px}.logo{font-size:32px}nav>a:not(.nav-book){display:none}.nav-book{padding:8px 12px;font-size:10px}.hero{grid-template-columns:1fr;padding:40px 25px 55px;gap:35px}.hero-copy{text-align:center}.hero .eyebrow{font-size:9px}h1{font-size:58px;letter-spacing:-3px}.intro{font-size:14px;margin-inline:auto}.doodles{display:none}.hero-art{max-width:350px;margin:0 auto;padding-left:10px}.arch img{height:335px}.sun{left:-12px;top:-7px}.badge{right:-8px;bottom:0}.ribbon{gap:12px;font-size:15px;padding:17px}.ribbon b{font-size:11px}.ribbon span:last-child,.ribbon b:nth-last-child(2){display:none}.section{padding:65px 25px}.duet{grid-template-columns:1fr;gap:55px}.photo-stack{max-width:270px}.photo-stack img{height:285px}.story{max-width:440px;margin:auto}h2{font-size:43px}.section-title{display:block}.section-title>p{margin-top:20px}.moments{padding-top:10px}.performance{margin-top:28px;border-radius:100px 100px 10px 10px}.performance>img{height:350px}.performance-caption{left:20px;bottom:22px;gap:13px}.performance-caption h3{font-size:22px}.play{width:43px;height:43px}.booking-inner{grid-template-columns:1fr;padding:50px 25px;gap:30px}.booking-star{display:none}.booking h2 br:nth-child(2){display:none}form{padding:23px 20px}.form-row{gap:12px}footer{flex-wrap:wrap;padding:30px 25px}footer p{width:100%;order:3;margin:0}footer>a:last-child{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.motto{margin-top:26px;font:italic 21px/1.6 Georgia,serif;color:var(--ink)}.motto p{margin:0}.motto p:nth-child(2){color:var(--red)}@media(max-width:650px){.motto{font-size:20px}}

.gallery-photos{position:relative;height:440px;overflow:hidden;border-radius:210px 210px 0 0}.arch .gallery-photo{position:absolute;inset:0;height:100%;width:100%;opacity:0;transition:opacity .7s ease;object-fit:cover;border-radius:0;pointer-events:none}.arch .gallery-photo.is-active{opacity:1}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding:0 10px 14px;font-size:10px}.gallery-controls[hidden]{display:none}.gallery-toggle{font:inherit;color:var(--ink);background:transparent;border:1px solid #24484c66;border-radius:20px;padding:4px 10px;cursor:pointer;min-width:53px}.gallery-dots{display:flex;gap:2px}.gallery-dots button{position:relative;width:26px;height:28px;border:0;background:transparent;cursor:pointer}.gallery-dots button:after{content:'';position:absolute;inset:9px 8px;border-radius:50%;background:#24484c50}.gallery-dots button[aria-current="true"]:after{background:var(--red)}.gallery-count{font-variant-numeric:tabular-nums}@media(max-width:900px){.gallery-photos{height:360px}}@media(max-width:650px){.gallery-photos{height:335px}}@media(prefers-reduced-motion:reduce){.arch .gallery-photo{transition:none}}

.video-gallery{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:820px;margin:40px auto 0}.video-card{margin:0;background:#fffdf5;padding:12px;border:1px solid #d5cfba;border-radius:16px;box-shadow:7px 7px 0 var(--blue);overflow:hidden}.video-card:nth-child(2){box-shadow:7px 7px 0 #f5d575}.video-card video{display:block;width:100%;height:auto;aspect-ratio:478/850;object-fit:contain;background:#182f32;border-radius:7px}.video-card figcaption{padding:19px 8px 8px}.video-card h3{font-size:23px;line-height:1.25;margin:9px 0 0}.video-card .eyebrow{font-size:9px;color:var(--red)}@media(max-width:650px){.video-gallery{grid-template-columns:1fr;gap:28px;max-width:360px}.video-card h3{font-size:22px}}

@font-face{font-family:Ribeye;src:url('./assets/Ribeye-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}.logo-whimsy{display:inline-flex;align-items:baseline;gap:0;font-family:Ribeye,Georgia,serif;font-weight:400;font-size:38px;letter-spacing:-2px;white-space:nowrap;line-height:1;isolation:isolate}.logo-whimsy .logo-mo{color:var(--red)}.logo-whimsy .logo-box{color:var(--ink)}.logo-cow{width:.66em;height:.85em;overflow:visible;align-self:center;position:relative;top:-.015em;margin:0 1px 0 0;flex-shrink:0;transform:rotate(-7deg)}.logo-whimsy i{font-family:Georgia,serif;letter-spacing:0;font-size:.55em;margin-left:5px}footer .logo-whimsy{font-size:34px}@media(max-width:650px){.logo-whimsy{font-size:31px}footer .logo-whimsy{font-size:32px}}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}button:disabled{opacity:.65;cursor:wait}
