/* Piano Forte Music Studio — page styles (externalized for CSP) */
body{margin:0;background:#FBF9F4 url(../parchment.jpg) repeat;background-size:1000px 1000px;-webkit-font-smoothing:antialiased}
a{color:#5E1A22}a:hover{color:#1A1A1A}
.pf-wrap{max-width:1120px;margin:0 auto;padding-left:48px;padding-right:48px;box-sizing:border-box}
.pf-display{font-family:'Bodoni Moda',Didot,'Bodoni 72',Georgia,serif;font-optical-sizing:none;font-variation-settings:"opsz" 24,"wght" 540;-webkit-text-stroke:0.2px currentColor}
.pf-caps{font-family:'EB Garamond',Garamond,Georgia,serif;font-variant:small-caps;letter-spacing:0.18em;text-transform:lowercase}
.pf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 32px;font-family:'EB Garamond',Garamond,Georgia,serif;font-variant:small-caps;text-transform:lowercase;letter-spacing:0.16em;font-size:18px;font-weight:500;text-decoration:none;box-sizing:border-box;border:1px solid #1A1A1A;border-radius:0}
.pf-btn:hover{opacity:.85}
.pf-nav a{text-decoration:none;color:#1A1A1A}
.pf-nav a:hover{color:#5E1A22}
@media (max-width:900px){
  .pf-wrap{padding-left:24px!important;padding-right:24px!important}
  .pf-2,.pf-3,.pf-4,.pf-foot{grid-template-columns:repeat(1,minmax(0,1fr))!important}
  .pf-h1{font-size:52px!important}
  .pf-h2{font-size:38px!important}
  .pf-quote{font-size:28px!important}
  .pf-sec{padding-top:72px!important;padding-bottom:72px!important}
  .pf-mast{font-size:34px!important}
  .pf-nav{gap:18px 24px!important}
}
@media (min-width:901px) and (max-width:1200px){.pf-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.pf-cal-season{font-size:15px;color:#5A574F;padding-bottom:12px}
.pf-cal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pf-cal-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;padding:28px 0;border-top:1px solid #DCD6C8}
.pf-cal-row:last-child{border-bottom:1px solid #1A1A1A}
.pf-cal-dates{font-size:26px;line-height:1.25;font-style:italic;color:#1A1A1A}
.pf-cal-body{display:flex;flex-direction:column;gap:8px}
.pf-cal-name{font-size:21px;font-weight:600;color:#1A1A1A}
.pf-cal-note{font-size:17px;line-height:1.55;color:#5A574F}

/* element styles */
.i1.i1{font-family: 'EB Garamond', Garamond, Georgia, serif; color: #1A1A1A; background: transparent; width: 100%; min-height: 100%; box-sizing: border-box;}
.i2.i2{border-bottom: 1px solid #1A1A1A;}
.i3.i3{display: flex; flex-direction: column; align-items: center; gap: 0;}
.i4.i4{padding: 14px 0; font-size: 14px; color: #5A574F; text-align: center;}
.i5.i5{width: 100%; border-top: 1px solid #DCD6C8;}
.i6.i6{display: block; padding: 34px 0 26px; font-size: 48px; font-weight: 500; letter-spacing: 0.02em; color: #1A1A1A; text-decoration: none; text-align: center; line-height: 1;}
.i7.i7{display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 40px; padding: 18px 0; font-size: 17px; font-weight: 500;}
.i8.i8{color: #5E1A22; border-bottom: 1px solid #5E1A22;}
.i9.i9{padding-top: 96px; padding-bottom: 72px;}
.i10.i10{display: flex; flex-direction: column; align-items: center; text-align: center; gap: 24px;}
.i11.i11{font-size: 16px; color: #5E1A22;}
.i12.i12{margin: 0; max-width: 860px; font-size: 72px; line-height: 1.04; font-weight: 400; color: #1A1A1A;}
.i13.i13{margin: 0; max-width: 620px; font-size: 20px; line-height: 1.55; color: #3A3835;}
.i14.i14{padding-top: 0; padding-bottom: 96px;}
.i15.i15{padding-top: 80px; padding-bottom: 96px; background: rgba(236, 229, 212, 0.55); border-top: 1px solid #DCD6C8; border-bottom: 1px solid #DCD6C8;}
.i16.i16{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; align-items: start;}
.i17.i17{display: flex; flex-direction: column; gap: 14px;}
.i18.i18{font-size: 15px; color: #5E1A22;}
.i19.i19{margin: 0; font-size: 18px; line-height: 1.6; color: #3A3835;}
.i20.i20{display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 24px 0; border-top: 1px solid #1A1A1A; border-bottom: 1px solid #1A1A1A; text-decoration: none; color: #1A1A1A;}
.i21.i21{display: flex; flex-direction: column; gap: 4px;}
.i22.i22{font-size: 26px; font-style: italic;}
.i23.i23{font-size: 16px; color: #5A574F;}
.i24.i24{padding-top: 88px; padding-bottom: 88px; background: #5E1A22; color: #FBF9F4;}
.i25.i25{display: flex; flex-direction: column; align-items: center; text-align: center; gap: 22px;}
.i26.i26{font-size: 15px; color: rgba(251,249,244,0.8);}
.i27.i27{margin: 0; font-size: 44px; line-height: 1.08; font-weight: 400; color: #FBF9F4;}
.i28.i28{display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 48px; font-size: 22px;}
.i29.i29{color: #FBF9F4; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; border-bottom: 1px solid rgba(251,249,244,0.5);}
.i30.i30{border-top: 1px solid #1A1A1A;}
.i31.i31{padding-top: 56px; padding-bottom: 40px; display: flex; flex-direction: column; gap: 40px;}
.i32.i32{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px;}
.i33.i33{display: flex; flex-direction: column; gap: 12px;}
.i34.i34{font-size: 28px; font-weight: 500; letter-spacing: 0.02em;}
.i35.i35{margin: 0; font-size: 16px; line-height: 1.6; color: #5A574F; max-width: 320px;}
.i36.i36{display: flex; flex-direction: column; gap: 10px; font-size: 17px;}
.i37.i37{color: #1A1A1A; text-decoration: none;}
.i38.i38{color: #5A574F;}
.i39.i39{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 20px; border-top: 1px solid #DCD6C8; font-size: 15px; color: #5A574F;}
.i40.i40{font-style: italic;}
