/* 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}}

/* 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;}
.i9.i9{padding-top: 104px; padding-bottom: 96px;}
.i10.i10{display: flex; flex-direction: column; align-items: center; text-align: center; gap: 32px;}
.i11.i11{font-size: 16px; color: #5E1A22;}
.i12.i12{margin: 0; max-width: 900px; font-size: 84px; line-height: 1.02; font-weight: 400; letter-spacing: -0.005em; color: #1A1A1A;}
.i13.i13{font-style: italic; font-weight: 400;}
.i14.i14{margin: 0; max-width: 620px; font-size: 22px; line-height: 1.55; color: #3A3835;}
.i15.i15{display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 8px;}
.i16.i16{background: #1A1A1A; color: #FBF9F4;}
.i17.i17{background: transparent; color: #1A1A1A;}
.i18.i18{width: 100%; margin-top: 40px; padding: 10px; box-sizing: border-box; border: 1px solid #1A1A1A;}
.i19.i19{display: block; width: 100%; aspect-ratio: 1407 / 768; object-fit: cover; border: 1px solid #DCD6C8; box-sizing: border-box;}
.i20.i20{padding-top: 96px; padding-bottom: 112px; border-top: 1px solid #1A1A1A;}
.i21.i21{display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; margin-bottom: 64px;}
.i22.i22{font-size: 15px; color: #5E1A22;}
.i23.i23{margin: 0; font-size: 52px; line-height: 1.08; font-weight: 400; max-width: 760px;}
.i24.i24{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px;}
.i25.i25{display: flex; flex-direction: column; gap: 14px; padding-top: 24px; border-top: 1px solid #1A1A1A;}
.i26.i26{font-size: 15px; letter-spacing: 0.12em; color: #5E1A22;}
.i27.i27{margin: 0; font-size: 34px; font-weight: 400; font-style: italic;}
.i28.i28{margin: 0; font-size: 17px; line-height: 1.6; color: #5A574F;}
.i29.i29{padding-top: 96px; padding-bottom: 112px; background: rgba(236, 229, 212, 0.55); border-top: 1px solid #DCD6C8; border-bottom: 1px solid #DCD6C8;}
.i30.i30{display: flex; flex-direction: column; gap: 80px;}
.i31.i31{display: flex; flex-direction: column; align-items: center; text-align: center; gap: 24px;}
.i32.i32{margin: 0; max-width: 860px; font-size: 40px; line-height: 1.25; font-weight: 400; font-style: italic; color: #1A1A1A;}
.i33.i33{font-size: 15px; color: #5A574F;}
.i34.i34{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; align-items: start;}
.i35.i35{display: flex; flex-direction: column; gap: 20px;}
.i36.i36{margin: 0; font-size: 48px; line-height: 1.08; font-weight: 400;}
.i37.i37{margin: 0; font-size: 19px; line-height: 1.6; color: #3A3835;}
.i38.i38{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column;}
.i39.i39{display: flex; gap: 24px; align-items: baseline; padding: 20px 0; border-top: 1px solid #1A1A1A;}
.i40.i40{flex: 0 0 40px; font-size: 18px; color: #5E1A22;}
.i41.i41{display: flex; flex-direction: column; gap: 4px;}
.i42.i42{font-size: 20px; font-weight: 600;}
.i43.i43{font-size: 16px; line-height: 1.55; color: #5A574F;}
.i44.i44{display: flex; gap: 24px; align-items: baseline; padding: 20px 0; border-top: 1px solid #DCD6C8;}
.i45.i45{display: flex; gap: 24px; align-items: baseline; padding: 20px 0; border-top: 1px solid #DCD6C8; border-bottom: 1px solid #1A1A1A;}
.i46.i46{padding-top: 96px; padding-bottom: 112px;}
.i47.i47{display: flex; flex-direction: column; gap: 16px; padding-top: 24px; border-top: 1px solid #1A1A1A;}
.i48.i48{margin: 0; font-size: 20px; font-weight: 600;}
.i49.i49{margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 17px;}
.i50.i50{display: flex; gap: 12px;}
.i51.i51{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; align-items: center;}
.i52.i52{padding: 10px; box-sizing: border-box; border: 1px solid #1A1A1A;}
.i53.i53{display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border: 1px solid #DCD6C8; box-sizing: border-box;}
.i54.i54{display: flex; flex-direction: column; gap: 22px;}
.i55.i55{margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; font-size: 17px;}
.i56.i56{display: flex; gap: 10px; align-items: baseline; padding-top: 10px; border-top: 1px solid #DCD6C8;}
.i57.i57{font-size: 17px;}
.i58.i58{margin-top: 8px;}
.i59.i59{padding-top: 96px; padding-bottom: 96px; background: rgba(236, 229, 212, 0.55); border-top: 1px solid #DCD6C8; border-bottom: 1px solid #DCD6C8;}
.i60.i60{margin: 0; font-size: 52px; line-height: 1.08; font-weight: 400;}
.i61.i61{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px;}
.i62.i62{font-size: 40px; line-height: 1; color: #5E1A22;}
.i63.i63{margin: 0; font-size: 28px; font-weight: 400; font-style: italic;}
.i64.i64{padding-top: 80px; padding-bottom: 80px;}
.i65.i65{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px;}
.i66.i66{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;}
.i67.i67{font-size: 26px; font-style: italic;}
.i68.i68{font-size: 16px; color: #5A574F;}
.i69.i69{padding-top: 104px; padding-bottom: 104px; background: #5E1A22; color: #FBF9F4;}
.i70.i70{display: flex; flex-direction: column; align-items: center; text-align: center; gap: 28px;}
.i71.i71{font-size: 15px; color: rgba(251,249,244,0.8);}
.i72.i72{margin: 0; font-size: 56px; line-height: 1.06; font-weight: 400; max-width: 760px; color: #FBF9F4;}
.i73.i73{margin: 0; max-width: 560px; font-size: 19px; line-height: 1.6; color: rgba(251,249,244,0.85);}
.i74.i74{display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 48px; margin-top: 8px; font-size: 22px;}
.i75.i75{color: #FBF9F4; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; border-bottom: 1px solid rgba(251,249,244,0.5);}
.i76.i76{background: #FBF9F4; color: #1A1A1A; border-color: #FBF9F4; margin-top: 12px;}
.i77.i77{border-top: 1px solid #1A1A1A;}
.i78.i78{padding-top: 56px; padding-bottom: 40px; display: flex; flex-direction: column; gap: 40px;}
.i79.i79{display: flex; flex-direction: column; gap: 12px;}
.i80.i80{font-size: 28px; font-weight: 500; letter-spacing: 0.02em;}
.i81.i81{margin: 0; font-size: 16px; line-height: 1.6; color: #5A574F; max-width: 320px;}
.i82.i82{display: flex; flex-direction: column; gap: 10px; font-size: 17px;}
.i83.i83{color: #1A1A1A; text-decoration: none;}
.i84.i84{color: #5A574F;}
.i85.i85{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 20px; border-top: 1px solid #DCD6C8; font-size: 15px; color: #5A574F;}
.i86.i86{font-style: italic;}
