*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#edf5f2;color:#102c3e}.app{max-width:1024px;margin:auto;min-height:100vh}.screen{display:none;min-height:100vh;padding:28px 34px 24px;background:#fbfcf8}.screen.active{display:block}.welcome.active{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(155deg,#f8f2dc,#e6f3ed);border:16px solid #fff}.welcome-logo,.brandmark{background:#286d61;color:white;border-radius:24px;display:grid;place-items:center}.welcome-logo{font-size:72px;width:140px;height:120px}.welcome h1{font-size:58px;line-height:.9;margin:20px 0 8px}.welcome h1 span{font-size:35px}.eyebrow,header p{letter-spacing:6px;color:#286d61;font-weight:bold}.welcome-rule{width:180px;border-top:4px solid #d4a735;margin:15px}.welcome h2{font:italic 34px Georgia;margin:10px}.start,.primary,.actionRow button{border:0;border-radius:18px;background:#286d61;color:#fff;padding:20px 28px;font-size:20px;font-weight:bold;margin:16px 5px}.welcome small{margin-top:30px;color:#667}.home-brand{}header{display:flex;align-items:center;gap:18px;border-bottom:2px solid #d7e2dc;padding-bottom:12px}header .brandmark{width:70px;height:64px;font-size:35px}header h1{font-size:32px;margin:0}header p{font-size:14px;margin:5px 0}.screen>h2{font-size:42px;text-align:center;margin:26px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{height:135px;border:0;border-radius:24px;padding:15px;display:grid;grid-template-columns:70px 1fr 20px;align-items:center;text-align:left;color:#102c3e;box-shadow:inset 0 0 0 2px rgba(0,0,0,.03)}.card i{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.7);font-style:normal;font-size:30px}.card b{font-size:24px;display:block}.card small{font-size:16px;display:block;margin-top:7px}.card em{font-size:38px;font-style:normal}.green{background:#e6f3e7}.blue{background:#e3f0f9}.gold{background:#f8eed9}.pink{background:#fae6ec}.purple{background:#eee8f8}.orange{background:#faeadc}.footerBtns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.footerBtns button,.back,.date{padding:15px;border-radius:14px;border:2px solid #8ba4a7;background:white;font-size:17px;color:#17394a}.demo,.note{text-align:center;color:#6b777d}.sub{padding-top:50px}.sub>p{font-size:22px;line-height:1.5}.list,.slots{max-width:760px;margin:20px auto}.list article,.slots p{display:flex;justify-content:space-between;gap:20px;padding:20px;border-bottom:1px solid #ccd9d5;font-size:21px}.list article span{text-align:right}.hero,.partyBox{max-width:760px;margin:18px auto;padding:25px;border-radius:20px;background:#e8f3ee;font-size:22px}.hero b{font-size:28px;margin-right:25px}.actionRow{text-align:center}.priceGrid,.uses{max-width:760px;margin:20px auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.priceGrid article,.uses span{padding:22px;border-radius:18px;background:#eef5f0;font-size:21px;display:flex;justify-content:space-between}.priceGrid strong{font-size:25px;color:#286d61}.sub>.primary,.sub>.back,.fake{display:block;max-width:420px;width:90%;margin:18px auto;text-align:center;text-decoration:none}.back{background:white}.dateBtns{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.activeDate{background:#286d61;color:white}.free{color:#187b49;font-weight:bold}.booked{color:#a34d4d;font-weight:bold}.qr{width:230px;height:230px;border:10px solid #102c3e;margin:30px auto;display:grid;place-items:center;text-align:center;font-weight:bold;font-size:24px;background:repeating-linear-gradient(45deg,#fff,#fff 12px,#edf5f2 12px,#edf5f2 24px)}.qr small{display:block}.quick{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.quick button{padding:14px;border:0;border-radius:20px;background:#e3f0f9;font-size:17px}.answer{max-width:720px;margin:25px auto;padding:25px;background:#eef5f0;border-radius:20px;font-size:21px;line-height:1.45}@media(max-width:700px){.screen{padding:18px}.screen>h2{font-size:32px}.grid{gap:10px}.card{height:126px;grid-template-columns:55px 1fr 15px;padding:10px}.card i{width:46px;height:46px;font-size:23px}.card b{font-size:19px}.card small{font-size:14px}.footerBtns button{font-size:14px;padding:12px 5px}.welcome h1{font-size:46px}.welcome h1 span{font-size:28px}.priceGrid,.uses{grid-template-columns:1fr 1fr}}
.welcome-photo{
  width:min(620px,88vw);
  max-height:310px;
  object-fit:cover;
  border-radius:26px;
  box-shadow:0 12px 32px rgba(16,44,62,.18);
  margin-bottom:18px
}
.header-photo{
  width:92px;
  height:70px;
  object-fit:cover;
  border-radius:16px;
  flex:0 0 auto
}
@media(max-width:700px){
  .welcome-photo{width:92vw;max-height:270px;border-radius:20px}
  .header-photo{width:76px;height:60px;border-radius:13px}
  header h1{font-size:27px}
}

/* v1.1 older-iPad compatibility + Parish Centre polish */
.header-photo{
  width:150px;
  height:86px;
  object-fit:cover;
  border-radius:16px;
  box-shadow:0 5px 14px rgba(16,44,62,.15);
}
.icon{
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:16px !important;
  font-weight:800;
  letter-spacing:-.2px;
  text-align:center;
}
@media(max-width:700px){
  .header-photo{width:128px;height:76px}
  header{gap:14px}
  header h1{font-size:25px}
  header .tag{font-size:13px}
  .icon{font-size:13px !important}
}
