/* 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-field{display:flex;flex-direction:column;gap:8px}
.pf-input{font-family:'EB Garamond',Garamond,Georgia,serif;font-size:18px;color:#1A1A1A;background:transparent;border:0;border-bottom:1px solid #1A1A1A;border-radius:0;padding:10px 0;width:100%;box-sizing:border-box;outline:none}
.pf-input:focus{border-bottom-color:#5E1A22;box-shadow:0 1px 0 #5E1A22}
.pf-input::placeholder{color:#9A958A;font-style:italic}
textarea.pf-input{resize:vertical;min-height:96px;line-height:1.5}
.pf-check{display:flex;align-items:center;gap:10px;font-size:18px;cursor:pointer}
.pf-check input{width:18px;height:18px;margin:0;accent-color:#5E1A22}
.pf-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
.pf-aside-rule{border-left:1px solid #DCD6C8;padding-left:48px}
@media (max-width:900px){.pf-form-grid{grid-template-columns:repeat(1,minmax(0,1fr))!important}.pf-aside-rule{border-left:0;padding-left:0}}

/* 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: 64px;}
.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: 112px;}
.i15.i15{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: start;}
.i16.i16{display: flex; flex-direction: column; gap: 36px; padding-top: 24px; border-top: 1px solid #1A1A1A;}
.i17.i17{position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden;}
.i18.i18{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px;}
.i19.i19{font-size: 15px; color: #5A574F;}
.i20.i20{margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 14px;}
.i21.i21{padding: 0; margin-bottom: 14px; font-size: 15px; color: #5A574F;}
.i22.i22{display: flex; flex-wrap: wrap; gap: 14px 32px;}
.i23.i23{color: #5E1A22;}
.i24.i24{font-variant: normal; text-transform: none; letter-spacing: 0; font-style: italic;}
.i25.i25{display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; padding-top: 8px;}
.i26.i26{background: #1A1A1A; color: #FBF9F4; cursor: pointer;}
.i27.i27{display: flex; flex-direction: column; gap: 40px; padding-top: 24px; border-top: 1px solid #1A1A1A;}
.i28.i28{display: flex; flex-direction: column; gap: 16px;}
.i29.i29{font-size: 15px; color: #5E1A22;}
.i30.i30{font-size: 30px; font-style: italic; color: #1A1A1A; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px;}
.i31.i31{font-size: 20px; color: #1A1A1A; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; border-bottom: 1px solid #DCD6C8; align-self: flex-start;}
.i32.i32{margin: 0; font-size: 17px; line-height: 1.6; color: #5A574F;}
.i33.i33{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column;}
.i34.i34{display: flex; gap: 20px; align-items: baseline; padding: 16px 0; border-top: 1px solid #DCD6C8;}
.i35.i35{flex: 0 0 32px; font-size: 20px; color: #5E1A22;}
.i36.i36{font-size: 17px; line-height: 1.55;}
.i37.i37{display: flex; gap: 20px; align-items: baseline; padding: 16px 0; border-top: 1px solid #DCD6C8; border-bottom: 1px solid #DCD6C8;}
.i38.i38{display: flex; flex-direction: column; gap: 10px;}
.i39.i39{font-size: 17px; color: #1A1A1A; text-decoration: none;}
.i40.i40{border-top: 1px solid #1A1A1A;}
.i41.i41{padding-top: 56px; padding-bottom: 40px; display: flex; flex-direction: column; gap: 40px;}
.i42.i42{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px;}
.i43.i43{display: flex; flex-direction: column; gap: 12px;}
.i44.i44{font-size: 28px; font-weight: 500; letter-spacing: 0.02em;}
.i45.i45{margin: 0; font-size: 16px; line-height: 1.6; color: #5A574F; max-width: 320px;}
.i46.i46{display: flex; flex-direction: column; gap: 10px; font-size: 17px;}
.i47.i47{color: #1A1A1A; text-decoration: none;}
.i48.i48{color: #5A574F;}
.i49.i49{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 20px; border-top: 1px solid #DCD6C8; font-size: 15px; color: #5A574F;}
.i50.i50{font-style: italic;}
