.services-section,.service-dialog{font:400 16px/1.6 var(--font-body);color:var(--color-text)}
.services-section *,.service-dialog *{box-sizing:border-box}
.services-section{padding:var(--section-space) var(--page-gutter);background:var(--color-bg);border-top:1px solid var(--color-border-soft)}
.services-inner{max-width:var(--content-width);margin-inline:auto}
.other-services-section{background:var(--color-surface)}
.other-services-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.other-services-heading nav{display:flex;gap:12px 28px;flex-wrap:wrap}
.other-services-heading nav a{color:var(--color-accent);font-weight:600;text-underline-offset:6px;min-height:44px;display:inline-flex;align-items:center}
.event-services-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(36px,7vw,104px);scroll-margin-top:120px}
.event-services-intro h3{font:600 clamp(38px,4vw,56px)/1.05 var(--font-heading);margin:0 0 24px;color:var(--color-text)}
.event-services-intro>p:not(.section-eyebrow){max-width:39ch}
.event-services-options article+article{margin-top:32px;padding-top:28px;border-top:1px solid var(--color-border)}
.event-services-options h4{font:600 30px/1.1 var(--font-heading);margin:0 0 12px;color:var(--color-text)}
.event-services-options p{max-width:43ch;margin-bottom:20px}
#other-services,#lessons,#original-songs{scroll-margin-top:100px}
@media(max-width:800px){.other-services-heading{margin-bottom:32px;gap:0}.event-services-layout{grid-template-columns:1fr;gap:32px}.event-services-options{display:grid;grid-template-columns:1fr 1fr;gap:28px}.event-services-options article+article{margin:0;padding:0;border:0}}
@media(max-width:580px){.event-services-options{grid-template-columns:1fr}.event-services-options article+article{padding-top:28px;border-top:1px solid var(--color-border)}.other-services-heading nav{gap:8px 20px;font-size:14px}}
.services-section .section-eyebrow{margin:0 0 14px}
.services-section .section-heading{margin:0 0 24px;text-wrap:balance}
.services-section p{max-width:54ch;color:var(--color-muted);margin:0 0 24px}
.lessons-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,7vw,104px);align-items:center}
.lessons-photo{margin:0;overflow:hidden;aspect-ratio:4/4.5;max-height:570px}
.lessons-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.lesson-topics{list-style:none;padding:0;margin:24px 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.lesson-topics li{padding:13px 0;border-bottom:1px solid var(--color-border-soft);font-size:16px;font-weight:600}
.services-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:13px 22px;border:0;border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-accent-ink);font:600 16px/1.4 var(--font-body);cursor:pointer;text-decoration:none}
.services-button:hover{background:var(--color-accent-hover)}
.services-button:active{transform:translateY(1px)}
.services-button:disabled{opacity:.6;cursor:wait;transform:none}
.services-section .services-note{font-size:14px;line-height:1.5;margin:16px 0 0;max-width:39ch}
.original-songs-section{background:var(--color-surface)}
.original-songs-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(36px,7vw,104px);align-items:start}
.original-songs-intro>p:not(.section-eyebrow){max-width:37ch}
.original-songs-intro .song-payment-note{font-size:17px;font-weight:600;line-height:1.5;color:var(--color-text);margin-top:32px}
.song-package{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--color-border)}
.song-package:first-child{padding-top:0}
.song-package h3{font:600 30px/1.1 var(--font-heading);margin:0 0 8px;letter-spacing:0;color:var(--color-text)}
.song-package p{font-size:15px;line-height:1.5;margin:0;max-width:25ch}
.song-package-action{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:4px}
.song-package-action>strong{font:600 24px/1.4 var(--font-body);font-variant-numeric:tabular-nums;color:var(--color-text)}
.song-package-action>button,.services-text-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:12px;min-height:44px;padding:8px 0;background:none;color:var(--color-accent);border:0;text-decoration:underline;text-underline-offset:5px;font:600 14px/1.4 var(--font-body);cursor:pointer}
.song-package-action>button:hover,.services-text-button:hover{color:var(--color-accent-hover)}
.song-existing{padding-top:24px}
.song-existing>p{font-size:15px;line-height:1.55;margin:0 0 4px;max-width:40ch}
.services-section :is(button,a):focus-visible,.service-dialog :is(button,input,select,textarea):focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}
.services-button:focus-visible{outline-color:var(--color-text)!important}
body.services-dialog-open{overflow:hidden}
dialog.service-dialog{position:fixed;inset:0;width:min(720px,calc(100vw - 32px));height:auto;max-width:none;max-height:calc(100dvh - 40px);padding:0;margin:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);overflow:auto;overscroll-behavior:contain;color-scheme:dark}
.service-dialog::backdrop{background:#151515d9}
.service-dialog-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px 12px 32px;background:var(--color-bg);border-bottom:1px solid var(--color-border-soft)}
.service-dialog-top>span{font:600 14px/1.4 var(--font-body);color:var(--color-muted)}
.service-dismiss{display:grid;place-items:center;width:44px;height:44px;padding:0;flex:none;border:0;border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:30px/1 Arial,sans-serif;cursor:pointer}
.service-dismiss:hover{background:var(--color-border-soft)}
.service-dialog-content{padding:28px 32px 36px}
.service-dialog h2{font:600 40px/1.05 var(--font-heading);color:var(--color-text);letter-spacing:-.015em;margin:0 0 14px;text-wrap:balance}
.service-dialog-description{font:400 16px/1.55 var(--font-body);color:var(--color-muted);margin:0 0 32px;max-width:58ch}
.service-form{display:block;max-width:none}
.service-form fieldset{min-width:0;border:0;padding:0;margin:30px 0 0}
.service-form fieldset:first-child{margin-top:0}
.service-form legend{float:none;width:100%;padding:0 0 12px;margin:0 0 18px;border-bottom:1px solid var(--color-border-soft);font:600 24px/1.2 var(--font-heading);color:var(--color-text)}
.service-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 20px}
.service-fields-spaced{margin-top:20px}
.service-wide{grid-column:1/-1}
.service-form label{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0;color:var(--color-text);font:500 14px/1.45 var(--font-body)}
.service-form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){width:100%;max-width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:400 16px/1.5 var(--font-body);color-scheme:dark}
.service-form textarea{resize:vertical;min-height:92px}
.service-form input::placeholder,.service-form textarea::placeholder{color:var(--color-muted);opacity:1}
.service-form .service-optional,.service-form .service-field-help{font:400 13px/1.5 var(--font-body);color:var(--color-muted)}
.service-form label>.service-optional{margin-top:-5px}
.service-form p.service-field-help{margin:-5px 0 12px;max-width:60ch}
.service-topic-options{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.service-form .service-check{display:flex;flex-direction:row;align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;font-size:14px;font-weight:400;cursor:pointer}
.service-form .service-check input{appearance:auto;flex:0 0 20px;width:20px;height:20px;min-height:20px;min-width:20px;padding:0;margin:0;accent-color:var(--color-accent)}
.service-form .service-existing-check{margin-top:14px}
.service-provided-lyrics{padding-top:10px}
.service-form .service-rights-check{margin-top:10px;color:var(--color-muted);font-size:13px}
.service-price-summary{margin:16px 0 0;padding:14px 16px;background:var(--color-surface);color:var(--color-text);font:400 14px/1.5 var(--font-body)}
.service-price-summary strong,.service-price-summary span{display:block}
.service-price-summary strong{font-size:16px;margin-bottom:3px}
.service-price-summary span{color:var(--color-muted)}
.service-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.service-submit-row{display:flex;align-items:center;gap:20px;margin-top:30px}
.service-submit-row>.services-button{flex:none}
.service-submit-row>p{font:400 13px/1.5 var(--font-body);color:var(--color-muted);margin:0;max-width:26ch}
.service-form-status{font:400 15px/1.6 var(--font-body);color:var(--color-text);margin:20px 0 0}
.service-form-status:empty{display:none}
.service-form-status.is-error{color:#ffb0a7}
.service-success{padding:0 0 12px}
.service-success h3{font:600 30px/1.1 var(--font-heading);margin:0 0 16px;color:var(--color-text)}
.service-success p{font:400 16px/1.6 var(--font-body);color:var(--color-text);margin:0 0 20px;overflow-wrap:anywhere}
.service-success .service-success-note{font-size:14px;color:var(--color-muted)}
.service-success-note:empty{display:none}
.service-dialog :is(h2,.service-success,.service-form-status):focus{outline:none}
@media(max-width:800px){.lessons-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:30px}.lesson-topics{grid-template-columns:1fr;margin-top:16px}.lesson-topics li{padding:9px 0}.lessons-photo{aspect-ratio:3/5;align-self:stretch;max-height:none}.original-songs-layout{grid-template-columns:1fr;gap:24px}.original-songs-intro>p:not(.section-eyebrow){max-width:56ch}.original-songs-intro .song-payment-note{margin-top:16px}.song-payment-note br{display:none}.song-payment-note br::after{content:' '}.song-package:first-child{padding-top:20px;border-top:1px solid var(--color-border)}.original-songs-intro .section-heading br{display:none}.original-songs-intro .section-heading br::after{content:' '}}
@media(max-width:580px){.lessons-layout{grid-template-columns:1fr;gap:28px}.lessons-photo{aspect-ratio:5/4;max-height:360px}.lessons-photo img{object-position:center 38%}.lesson-topics{grid-template-columns:1fr 1fr;gap:0 16px;margin-bottom:26px}.lesson-topics li{font-size:15px;padding:12px 0}.lessons-copy>.section-heading{max-width:20ch}.services-section .section-heading{margin-bottom:20px}.song-package{gap:20px;padding-block:22px}.song-package h3{font-size:28px}.song-package p{font-size:14px}.song-package-action>strong{font-size:22px}.song-package-action>button{min-width:64px;justify-content:flex-end}.service-dialog-content{padding:24px 20px 30px}.service-dialog-top{padding:10px 12px 10px 20px}.service-dialog h2{font-size:34px}.service-fields{grid-template-columns:1fr;gap:17px}.service-wide{grid-column:auto}.service-topic-options{grid-template-columns:1fr}.service-submit-row{align-items:flex-start;flex-direction:column;gap:12px}.service-submit-row>.services-button{width:100%}.service-submit-row>p{max-width:none}.service-form legend{font-size:23px}.service-dialog-description{font-size:15px;margin-bottom:26px}dialog.service-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:6px}}
@media(max-width:360px){.lesson-topics{grid-template-columns:1fr}.song-package{gap:12px}.song-package h3{font-size:26px}.service-dialog-content{padding-inline:16px}.service-dialog-top{padding-left:16px}}
dialog.service-dialog{height:fit-content}
