@charset "UTF-8";
:root {
  --paper:#f8f6ee; --ink:#242d25; --forest:#27362c; --olive:#626e53;
  --muted:#596052; --gold:#dfcc9e; --line:#d8d9cd; --white:#fffdf5;
  --serif:"Iowan Old Style","Baskerville","Palatino Linotype","Palatino",Georgia,serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a {color:inherit;text-decoration:none}
button,input,select,textarea {font:inherit}
button,a,input,textarea,select {touch-action:manipulation}
button {cursor:pointer}
:focus-visible {outline:3px solid #ad7534;outline-offset:5px}
[hidden] {display:none!important}
img {display:block;width:100%;height:auto}
h1,h2,h3,blockquote {font-family:var(--serif);font-weight:400;text-wrap:balance}
h1,h2,h3,p,figure,blockquote {margin:0}
h1,h2,h3 {line-height:1.03;letter-spacing:-.042em}
em {font-weight:400}
.wrap {width:min(1300px,89%);margin-inline:auto}
.skip {position:absolute;left:15px;top:-90px;background:white;padding:12px;z-index:20}
.skip:focus {top:12px}
.header {background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner,.foot,.hero-actions,.trust-inner,.studio-top,.planner-actions,.scene-strip,.scene-buttons,.section-intro {display:flex;align-items:center}
.header-inner {min-height:83px;gap:40px;justify-content:space-between}
.brand {display:inline-flex;flex-direction:column;align-items:center;white-space:nowrap;font:28px/.96 var(--serif);letter-spacing:-.055em}
.brand>span {font:8px/1.1 var(--sans);letter-spacing:.34em;margin-top:7px}
nav {display:flex;gap:33px;align-items:center;margin-left:auto;margin-right:14px}
nav a,.foot a,.studio-top>a {font-size:14px}
nav a:hover,.foot a:hover,.studio-top>a:hover,.trust a:hover {text-decoration:underline;text-underline-offset:5px}
.button {display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:50px;padding:12px 23px;font:600 14px/1.3 var(--sans);background:var(--forest);color:var(--white);border:1px solid transparent;border-radius:3px;transition:background .18s,transform .18s}
.button:hover {background:#3a4e3b;transform:translateY(-1px)}
.button span,.underlink span,.textlink span {font-size:1.2em;font-weight:400}
.button.compact {min-height:42px;font-size:13px;gap:19px}
.button.light {background:#f3ecd9;color:#283528}
.button.light:hover {background:#fffaf1}
.eyebrow,.photo-label,.trust-last,.studio-top>span,.receipt-price span,.song-count,figcaption {font:600 10px/1.6 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.eyebrow {display:flex;align-items:center;gap:12px}
.eyebrow i {display:inline-block;height:1px;width:32px;background:currentColor;opacity:.8}
.eyebrow b,.studio-top b {font-weight:400;opacity:.5}
.hero {position:relative;isolation:isolate;overflow:hidden;background:#202c24;color:#fffcf0;min-height:610px;display:grid;align-items:center}
.hero-image {position:absolute;inset:0 0 0 37%;z-index:-1}
.hero-image img {width:100%;height:100%;object-fit:cover;object-position:center}
.hero-image::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#202c24 0%,rgba(32,44,36,.86) 6%,rgba(32,44,36,.25) 35%,transparent 65%),linear-gradient(0deg,rgba(8,16,8,.44),transparent 36%)}
.hero-copy {padding:78px 0 86px;max-width:620px}
.hero .eyebrow {color:#e3d1ad}
.hero h1 {font-size:clamp(65px,6.55vw,99px);line-height:.96;letter-spacing:-.065em;margin:30px 0 23px}
.hero h1 em {color:#e4d2ac}
.hero-intro {font-size:clamp(15px,1.17vw,18px);line-height:1.55;color:#eeeede}
.hero-actions {gap:28px;flex-wrap:wrap;margin-top:29px}
.textlink,.underlink {display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:600}
.textlink {border-bottom:1px solid #8d9b88;padding-bottom:4px}
.underlink {padding:0 0 3px;border:0;border-bottom:1px solid #959e8d;background:none;color:var(--ink);border-radius:0;line-height:1.6}
.textlink:hover,.underlink:hover {border-color:currentColor}
.scene-strip {position:absolute;right:5.5%;bottom:32px;gap:20px;color:white}
.photo-label {font-weight:500;letter-spacing:.13em;text-shadow:0 1px 4px #151a11}
.scene-buttons {gap:6px}
.scene-buttons button {background:#17251bb0;color:white;border:1px solid #ffffff80;width:39px;height:39px;border-radius:50%;font-size:17px}
.scene-buttons button:hover {background:var(--forest)}
.trust {background:#ececdf;border-bottom:1px solid var(--line)}
.trust-inner {min-height:59px;gap:14px}
.stars {color:#686d48;font-size:14px;letter-spacing:2px}
.trust a {font-size:13px}
.trust-last {margin-left:auto;font-size:10px;letter-spacing:.14em}
.trust-last i {font-style:normal;padding:0 8px;color:#929474}
.section {padding-block:90px}
.section-intro {justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}
.section h2,.outro h2 {font-size:clamp(44px,4.6vw,72px);margin-top:19px;line-height:1}
.section h2 em,.songs-page h1 em,.studio h1 em {color:var(--olive)}
.intro-side {width:360px;max-width:44%}
.intro-side p,.packages p,.about p:not(.eyebrow),.studio-intro,.hint,.songs-page>p:not(.eyebrow):not(.song-count) {color:var(--muted)}
.intro-side .underlink,.packages .underlink {margin-top:16px}
.packages {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,2.3vw,34px)}
.package-photo {display:block;position:relative;aspect-ratio:1.47;overflow:hidden}
.package-photo img {width:100%;height:100%;object-fit:cover;transition:transform .45s}
.package-photo:hover img {transform:scale(1.025)}
.package-photo span {position:absolute;bottom:13px;left:13px;padding:5px 9px;color:var(--ink);background:#f8f6eef2;text-transform:uppercase;font-size:9px;letter-spacing:.13em;font-weight:600}
.packages h3 {margin:22px 0 10px;font-size:clamp(25px,2.4vw,38px)}
.packages p {font-size:15px;line-height:1.65}
.testimonial {background:#e7e9dc;padding:54px 0}
.quote-wrap {display:flex;align-items:flex-start;gap:28px;max-width:890px}
.quote-mark {font:100px/.95 var(--serif);color:var(--olive)}
blockquote {font-size:clamp(28px,3.3vw,48px);letter-spacing:-.025em;line-height:1.12}
.quote-wrap .eyebrow {margin-top:20px;font-size:10px}
.about {display:grid;grid-template-columns:minmax(220px,.8fr) 1fr;align-items:center;max-width:1040px;gap:clamp(30px,8vw,130px)}
.about figure img {max-height:510px;object-fit:cover;object-position:center 42%}
figcaption {margin-top:8px;font-size:8px;color:var(--muted)}
.about p:not(.eyebrow) {margin:20px 0}
.about .underlink {margin-top:8px}
.outro {text-align:center;background:var(--forest);padding:75px 6%;color:var(--white)}
.outro .eyebrow {justify-content:center;color:var(--gold)}
.outro h2 {margin:18px 0 27px}
.outro em {color:var(--gold)}
.foot {padding-block:34px;gap:32px;flex-wrap:wrap}
.foot .brand {font-size:24px;margin-right:auto}
.foot>span {font-size:12px;color:var(--muted)}
.studio {padding:30px 0 75px}
.studio-top {justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 18px}
.studio-top span {font-size:9px}
.studio-layout {display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);align-items:start;gap:clamp(30px,6vw,90px);margin-top:43px}
.studio h1,.songs-page h1 {font-size:clamp(50px,5.8vw,83px);margin:12px 0 14px}
.studio-intro {max-width:560px}
.steps {list-style:none;counter-reset:step;display:flex;padding:0;margin:32px 0;gap:6px}
.steps li {flex:1;border-top:3px solid #d6dacd;padding-top:7px;font-size:11px;color:#626a60;counter-increment:step}
.steps li::before {content:'0' counter(step) ' ';font-size:9px;margin-right:4px}
.steps [aria-current],.steps .done {border-color:var(--olive);color:var(--forest);font-weight:700}
fieldset {border:0;padding:0;margin:0;min-width:0}
legend {font:normal clamp(27px,2.45vw,38px)/1.14 var(--serif);letter-spacing:-.035em;padding:0}
.hint,.small-print {font-size:14px;line-height:1.6;margin-top:8px}
.moment-list,.lineups {display:grid;gap:10px;margin:19px 0 10px}
.choice {display:flex;align-items:center;gap:15px;background:var(--white);border:1px solid #c5cbbd;padding:10px 16px 10px 10px;border-radius:3px;cursor:pointer}
.choice:hover {border-color:#728266}
.choice:has(input:checked) {border-color:#5b7152;box-shadow:inset 0 0 0 1px #5b7152;background:#edf0e6}
.choice img {width:75px;height:64px;object-fit:cover;border-radius:1px}
.choice span {flex:1;line-height:1.4}
.choice strong {display:block;font:23px/1.1 var(--serif);letter-spacing:-.02em}
.choice small,.field small {display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}
.choice.simple {padding:17px}
input[type=checkbox],input[type=radio] {accent-color:var(--forest);inline-size:18px;block-size:18px;flex-shrink:0}
.field {display:block;font-weight:600;font-size:14px;margin:19px 0 10px}
.field small {display:inline}
.field input,.field textarea,.field select,#manual {display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #abb7a7;border-radius:3px;background:#fffdf8;color:var(--ink);font:16px/1.45 var(--sans)}
.field input:disabled {opacity:.48}
textarea {resize:vertical}
.tick {display:flex;align-items:center;gap:7px;font-size:14px}
.planner-actions {justify-content:flex-end;border-top:1px solid var(--line);margin-top:27px;padding-top:20px;gap:18px}
.back {margin-right:auto;border:0;background:transparent;padding:12px 2px;color:var(--ink)}
.small-print,.email-backup {font-size:13px;color:var(--muted)}
.email-backup {border:1px solid var(--line);margin:20px 0;padding:18px}
.email-backup .underlink {margin-top:10px}
.error {color:#973e2d;font-weight:600;font-size:14px;margin-top:15px}
.receipt {position:sticky;top:25px;background:#e8eadf;border-radius:3px;overflow:hidden}
.receipt-photo {height:170px}
.receipt-photo img {width:100%;height:100%;object-fit:cover;object-position:50% 37%}
.receipt-body {padding:25px}
.receipt h2 {font-size:34px;margin:12px 0}
.receipt ul {margin:0 0 23px;padding-left:17px;font-size:14px;overflow-wrap:anywhere}
.receipt-price {display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #bcc4b4;padding-top:15px}
.receipt-price span {font-size:9px}
.receipt-price strong {font:24px/1.2 var(--serif)}
#price-note {font-size:12px;color:var(--muted);margin-top:7px}
.review {display:grid;grid-template-columns:minmax(95px,.4fr) 1fr;gap:10px 16px;background:#eceee2;padding:20px;font-size:14px}
.review dt {color:var(--muted)}
.review dd {margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.songs-page {padding:65px 0 80px;max-width:990px}
.songs-page>p {max-width:610px}
.songs-page>.underlink {margin-top:17px}
.song-tools {display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:26px 0 15px}
.song-row {display:grid;grid-template-columns:1.2fr 1fr .65fr;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.song-row span:first-child {font:21px/1.25 var(--serif)}
.song-row span:last-child {color:var(--muted);font-size:12px}
.song-count {padding:8px 0;color:var(--muted)}
#more {margin-top:24px}
@media(max-width:880px) {
  .header-inner {min-height:72px;gap:15px}nav {gap:18px;margin-right:0}
  .hero {min-height:540px}.hero-copy {padding-block:55px 85px;max-width:450px}
  .hero-image {left:31%}.hero-image::after {background:linear-gradient(90deg,#202c24,rgba(32,44,36,.55) 35%,transparent 70%),linear-gradient(0deg,#16241b50,transparent 30%)}
  .trust-last {display:none}.section {padding-block:65px}.packages {gap:18px}
  .studio-layout {grid-template-columns:1.5fr 1fr;gap:20px}.receipt-body {padding:18px}
}
@media(max-width:680px) {
  .wrap {width:89%}.header-inner {min-height:64px}.brand {font-size:23px}.brand>span {font-size:7px; margin-top:5px}
  .header nav {display:none}.button.compact {font-size:12px;min-height:39px;padding:10px 12px;gap:9px}
  .hero {display:block;min-height:0}.hero-image {inset:0 0 auto;height:clamp(290px,78vw,450px)}
  .hero-image img {object-position:center 40%}.hero-image::after {background:linear-gradient(0deg,#202c24,transparent 38%)}
  .hero-copy {padding:clamp(241px,65vw,365px) 0 47px;max-width:none}.hero .eyebrow {font-size:8px;gap:8px}
  .hero h1 {font-size:clamp(59px,12.2vw,77px);margin:20px 0 18px}.hero-intro {font-size:15px}.wide {display:none}
  .hero-actions {gap:19px;margin-top:21px}.hero-actions .button {padding:12px 16px;gap:15px}.textlink {font-size:13px}
  .scene-strip {top:12px;bottom:auto;right:5%;gap:9px}.scene-buttons button {height:35px;width:35px}.photo-label{font-size:8px;background:#162219a8;border-radius:2px;padding:5px 7px}
  .trust-inner {gap:9px;min-height:52px}.trust a {font-size:11px}.stars {font-size:11px}
  .section {padding-block:52px}.section-intro {display:block;margin-bottom:27px}.intro-side {max-width:none;width:auto;margin-top:19px}
  .packages {grid-template-columns:1fr;gap:32px}.package-photo {aspect-ratio:1.7}.packages h3 {margin-top:14px;font-size:30px}
  .packages .underlink {margin-top:9px}.section h2 {font-size:44px}.testimonial{padding:37px 0}.quote-wrap{gap:12px}.quote-mark{font-size:60px}
  .about {grid-template-columns:1fr}.about figure img {max-height:380px;object-position:center 37%}.about{gap:24px}
  .foot {align-items:flex-start;gap:13px;flex-direction:column}.foot .brand {margin:0 0 5px}.foot a{font-size:13px}
  .studio {padding-top:18px}.studio-layout {grid-template-columns:1fr;margin-top:27px}.studio-top span {font-size:8px;letter-spacing:.08em}
  .receipt {position:static}.receipt-photo {display:none}.studio h1,.songs-page h1 {font-size:52px}
  .steps {margin:23px 0}.steps li {font-size:10px}.steps li::before{margin-right:1px}
  .choice img {width:55px;height:56px}.choice{gap:10px;padding:9px}.choice strong{font-size:21px}.choice small{font-size:12px}
  .songs-page {padding-top:39px}.song-tools {grid-template-columns:1fr;gap:0}.song-row {grid-template-columns:1.15fr 1fr}.song-row span:last-child {display:none}
  .outro {padding:50px 6%}.button {min-height:44px}.review {padding:13px;gap:8px;font-size:13px}
}
@media(max-width:360px){.header .brand{font-size:20px}.hero-actions{gap:12px}.hero h1{font-size:54px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}


.whole-switch{display:inline-flex;align-items:center;gap:12px;position:relative;cursor:pointer;min-height:44px;font-size:14px;font-weight:600}
.whole-switch input{position:absolute;opacity:0;width:42px;height:28px;margin:0}
.switch-track{display:inline-block;position:relative;width:42px;height:24px;border:1px solid #83907e;background:#d7dacc;border-radius:15px;pointer-events:none}
.switch-track::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:white;box-shadow:0 1px 2px #0004;transition:transform .16s}
.whole-switch input:checked + .switch-track{background:var(--forest);border-color:var(--forest)}
.whole-switch input:checked + .switch-track::after{transform:translateX(17px)}
.whole-switch input:focus-visible + .switch-track{outline:3px solid #ad7534;outline-offset:3px}
.venue-input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #abb7a7;border-radius:3px;background:#fffdf8;color:var(--ink);font:16px/1.45 var(--sans)}
#place-widget>*{width:100%;color-scheme:light}
.map-link{margin-top:6px;font-size:13px}.preview-note{background:#eceee2;padding:12px}
#confirmation{margin:32px 0;padding:25px;background:#e8eadf;border-top:2px solid var(--olive)}
#confirmation h2{font-size:clamp(32px,4vw,49px);margin:14px 0}
#confirmation .underlink{margin-top:20px}
#continue:disabled,#back:disabled{cursor:wait;opacity:.65}
@media(prefers-reduced-motion:reduce){.switch-track::after{transition:none}}
