@font-face{font-family:Inter;src:url('../assets/inter.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:Playfair;src:url('../assets/playfair-display.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Playfair;src:url('../assets/playfair-display.woff2') format('woff2');font-style:italic;font-weight:400 700;font-display:swap}

:root{--page-bg:#efe6d5;--surface:#f7efdf;--ink:#121212;--heading:#343434;--paper-text:rgba(18,18,18,.72);--light:#f9f7f2;--light-muted:rgba(249,247,242,.75);--blue:#2c5294;--gold:#b89352;--container-max:1160px;--content-max:760px;--section-space:110px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{min-width:0;margin:0;overflow-x:hidden;background:var(--page-bg);color:var(--ink);font:16px/1.65 Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
h1,h2,h3{font-family:Playfair,Georgia,serif;color:var(--heading);font-style:normal;font-weight:400;line-height:1.15;letter-spacing:-.03em;text-shadow:0 2px 8px rgba(18,18,18,.16)}
h1 em,h2 em{color:var(--blue)}
h1 em,h2 em,h3 em{font-style:italic}
.container{width:min(var(--container-max),calc(100% - 48px));margin-inline:auto}
.narrow,.section-intro,.workshop-content{max-width:var(--content-max)}
.section{padding:var(--section-space) 0}.paper,.cards article{background:var(--surface)}
.dark{background:var(--ink);color:var(--light)}
.dark h2,.dark h3,.prices .featured h3,.site-footer h3{color:var(--light);text-shadow:0 2px 8px rgba(18,18,18,.45)}
.section-intro{width:100%;margin-bottom:48px;text-align:left}
.section-intro h2{max-width:var(--content-max);margin:10px 0 16px;font-size:clamp(2.3rem,4vw,4rem)}
.section-intro p:not(.eyebrow),.split>div>p,details p{color:var(--paper-text)}
.dark .section-intro p,.dark .split>div>p{color:var(--light-muted)}
.eyebrow{margin-top:0;color:var(--gold);font-size:.7rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase}
.center{margin-inline:auto;text-align:center}.section-intro.center{margin-inline:0;text-align:left}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:10;background:rgba(247,239,223,.96);border-bottom:1px solid rgba(184,147,82,.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nav-wrap{display:flex;min-height:76px;align-items:center;justify-content:space-between}
.brand{display:flex;flex-direction:column;color:var(--ink);font:400 1.45rem/1.1 Playfair,Georgia,serif;letter-spacing:-.02em}
.brand em,.footer-grid h3 em{font-style:italic}.brand small{color:rgba(18,18,18,.66);font:500 .62rem/1.5 Inter,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.site-nav{display:flex;align-items:center;gap:22px;font-size:.83rem}.site-nav a{position:relative;display:flex;min-height:44px;align-items:center;transition:color .2s ease}.site-nav a:hover{color:var(--blue)}
.site-nav a:hover::after{content:'';position:absolute;right:0;bottom:2px;left:0;height:1px;background:var(--blue)}.nav-mail{color:var(--gold)}
.menu-toggle{display:none;min-width:44px;min-height:44px;padding:10px;background:none;border:0;color:var(--ink);font-size:1.5rem;line-height:1}
.home .site-header{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--light);transition:background-color .35s ease,border-color .35s ease,color .35s ease}
.home .site-header:not(.scrolled),.home .site-header:not(.scrolled) .brand,.home .site-header:not(.scrolled) .site-nav a,.home .site-header:not(.scrolled) .menu-toggle{color:var(--light)}
.home .site-header:not(.scrolled) .brand small{color:rgba(249,247,242,.85)}
.home .site-header:not(.scrolled) .nav-mail,.home .site-header.scrolled .nav-mail{color:var(--gold)!important}
.home .site-header:not(.scrolled) .site-nav a:hover{color:var(--light)}
.home .site-header.scrolled{background:rgba(247,239,223,.96);border-bottom-color:rgba(184,147,82,.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink)}
.home .site-header.scrolled,.home .site-header.scrolled .brand,.home .site-header.scrolled .site-nav a,.home .site-header.scrolled .menu-toggle{color:var(--ink)}
.home .site-header.scrolled .brand small{color:rgba(18,18,18,.66)}

/* Hero */
.hero{position:relative;display:flex;min-height:100svh;align-items:center;overflow:hidden;color:var(--light)}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;display:block;background:linear-gradient(90deg,rgba(18,18,18,.9),rgba(18,18,18,.65),rgba(18,18,18,.3))}.hero-content{position:relative;padding-top:80px}
.hero h1{margin:12px 0 24px;color:var(--light);font-size:clamp(3rem,8vw,6.5rem);font-weight:400}.hero h1 em{color:var(--light);text-shadow:0 2px 8px rgba(18,18,18,.45)}.hero .eyebrow{color:var(--gold)}
.lead{max-width:620px;color:rgba(249,247,242,.8);font-size:1.2rem}
.hero-discover{position:absolute;bottom:10px;left:50%;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(249,247,242,.72);font-size:.68rem;letter-spacing:.28em;transform:translateX(-50%);transition:color .2s ease,opacity .35s ease}.hero-discover:hover{color:#fff}.hero-arrow{font-size:.68rem;line-height:1;animation:hero-bounce 1.8s ease-in-out infinite}.home.has-scrolled .hero-discover{opacity:0;pointer-events:none}
@keyframes hero-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}

/* Layout and content */
.actions{display:flex;align-items:flex-start;gap:14px;margin-top:35px}.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:80px;align-items:center}.form-split{align-items:start}
.tag-grid,.cards{display:grid;gap:18px}.tag-grid{grid-template-columns:repeat(2,1fr)}.portfolio-cards{grid-template-columns:repeat(3,1fr)}.tag-grid span{padding:12px;background:rgba(18,18,18,.03);border:1px solid rgba(18,18,18,.2);border-radius:6px;font-size:.88rem}
.label{margin-top:35px;color:var(--gold)!important;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.about-copy h2{max-width:720px;margin-bottom:24px}.about-copy>p:not(.eyebrow){max-width:720px}.about-copy .about-lead{color:rgba(18,18,18,.82);font-size:1.1rem;line-height:1.75}.about-copy>p:not(.eyebrow)+p{margin-top:22px}

/* Cards, pricing and buttons */
.cards article{padding:28px;border:1px solid rgba(18,18,18,.2);border-radius:6px;box-shadow:0 8px 20px rgba(18,18,18,.02)}.prices{grid-template-columns:repeat(3,1fr)}.prices article{position:relative;display:flex;flex-direction:column}.prices h3{margin-top:0;font-size:1.35rem}
.prices article>strong{margin:10px 0;color:var(--blue);font:400 2rem Playfair,Georgia,serif}.prices ul{flex:1;padding-left:20px;color:var(--paper-text)}.prices article:not(.featured){transition:border-color .25s ease,box-shadow .25s ease}.prices article:not(.featured):hover{border-color:rgba(44,82,148,.42);box-shadow:0 12px 28px rgba(18,18,18,.08)}
.prices .featured{background:var(--ink);border-color:rgba(184,147,82,.45);box-shadow:0 16px 34px rgba(18,18,18,.12);color:var(--light)}.prices .featured p,.prices .featured li{color:rgba(249,247,242,.76)}.prices .featured>strong{color:var(--gold)}.badge{position:absolute;top:-12px;left:50%;padding:4px 10px;background:var(--gold);border-radius:999px;color:var(--ink);font-size:.7rem;text-transform:uppercase;transform:translateX(-50%)}.fineprint{color:rgba(18,18,18,.6);font-size:.75rem;text-align:center}
.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 25px;border:0;box-shadow:0 10px 24px rgba(18,18,18,.08);cursor:pointer;font-size:.85rem;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-1px)}.primary{background:var(--blue);color:#fff}.ghost{border:1px solid rgba(249,247,242,.25);color:#fff}.gold{background:var(--gold);color:var(--ink)}.outline{border:1px solid rgba(44,82,148,.45);color:var(--blue)}
.musescore-link span{display:inline-block;margin-left:8px;animation:arrow-nudge 1.8s ease-in-out infinite}@keyframes arrow-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}

/* Form, FAQ and footer */
.form-split form{display:grid;gap:14px;padding:28px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:10px}label{display:grid;gap:6px;color:rgba(249,247,242,.7);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
input,select,textarea{width:100%;padding:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:6px;color:var(--light);font:inherit;font-size:1rem;line-height:1.5}option{color:var(--ink)}.check{display:flex;align-items:start;gap:10px;font-size:.75rem;letter-spacing:0;text-transform:none}.check input{width:auto}.check a{color:#6f9de8;text-decoration:underline}.hidden{display:none}
details{padding:22px 0;border-bottom:1px solid rgba(18,18,18,.08)}summary{cursor:pointer;font:500 1.3rem Playfair,Georgia,serif}details p{max-width:700px}
.site-footer{padding:70px 0 24px;background:var(--ink);border-top:1px solid rgba(184,147,82,.4);color:var(--light)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-grid h3{margin:0;font:400 2rem Playfair,Georgia,serif}.footer-grid h4{color:var(--gold);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}.footer-grid p,.footer-grid a{display:block;margin:8px 0;color:rgba(249,247,242,.7);font-size:.85rem}.footer-bottom{margin-top:50px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);color:rgba(249,247,242,.58);font-size:.75rem}

/* Accessibility and responsive layout */
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--blue);outline-offset:3px}.dark :where(a,button,summary,input,select,textarea):focus-visible,.hero :where(a,button,summary,input,select,textarea):focus-visible{outline-color:var(--gold)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:800px){:root{--section-space:80px}.container{width:min(100% - 32px,600px)}.site-header,.nav-wrap{width:100%;max-width:100%}.nav-wrap{min-height:68px}.brand{max-width:200px;font-size:1.16rem}.brand small{padding-inline:4px;font-size:.52rem;letter-spacing:.12em}.menu-toggle{display:block}.site-nav{position:absolute;top:68px;right:0;left:0;display:none;width:100%;box-sizing:border-box;flex-direction:column;align-items:flex-start;gap:12px;overflow-x:hidden;padding:18px 16px 22px;background:var(--surface);border-bottom:1px solid rgba(184,147,82,.2);box-shadow:0 18px 32px rgba(18,18,18,.08)}.home .site-header:not(.scrolled) .site-nav{background:rgba(18,18,18,.78);color:var(--light)}.site-nav.open{display:flex}.site-nav a{width:100%;padding:8px 0;font-size:.9rem}.hero-content{padding-top:62px}.lead{max-width:100%;font-size:1.02rem}.actions{flex-direction:column;align-items:stretch}.button{width:100%}.split,.prices,.portfolio-cards{grid-template-columns:1fr;gap:36px}.footer-grid{grid-template-columns:1fr;gap:28px}}
.home .site-header:not(.scrolled) .site-nav a:hover{color:#f9f7f2}
.home .site-header:not(.scrolled) .nav-mail,.home .site-header:not(.scrolled) .nav-mail:hover{color:#b89352!important}
.home .site-header.scrolled,.home .site-header.scrolled .brand,.home .site-header.scrolled .site-nav a,.home .site-header.scrolled .menu-toggle{color:#121212}
.home .site-header.scrolled .brand small{color:#121212a8}
.home .site-header.scrolled .nav-mail,.home .site-header.scrolled .nav-mail:hover{color:#b89352!important}
@media(max-width:800px){.home .site-header:not(.scrolled) .site-nav{background:rgba(18,18,18,.78);color:#f9f7f2}.home .site-header.scrolled .site-nav{background:#f9f7f2;color:#121212}}
body{background:#efe6d5}
.paper,.cards article{background:#f7efdf}
.workshop-content{max-width:800px}
.home .site-header.scrolled{background:rgba(247,239,223,.96)}
@media(max-width:800px){.home .site-header.scrolled .site-nav{background:#f7efdf}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
html{scrollbar-gutter:stable}
body{min-width:0}
@media(max-width:800px){.site-header,.nav-wrap{width:100%;max-width:100%;}.site-nav{width:100%;box-sizing:border-box;overflow-x:hidden}}
.hero h1,.dark h2,.dark h3,.prices .featured h3,.site-footer h3{color:#f9f7f2;text-shadow:0 2px 8px rgba(18,18,18,.45)}
.tag-grid span,.formats article{border-color:rgba(18,18,18,.2)}
/* Keep the responsive hero image as a full-bleed background. */
.hero>picture{position:absolute;inset:0}.hero>picture img{width:100%;height:100%;object-fit:cover}
h2,h2 em{font-family:Playfair,Georgia,serif}
html,body{width:100%;max-width:100%;overflow-x:hidden}
@media(max-width:800px){
  .container{width:calc(100% - 32px);max-width:600px}
  .site-header,.nav-wrap{width:100%;max-width:100%;min-width:0}
  .site-nav{max-width:100%}
  .tag-grid{grid-template-columns:1fr}
  .split>*,.prices>*,.portfolio-cards>*{min-width:0}
}
