@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Great+Vibes&family=Pinyon+Script&display=swap');
:root{--plum:#5a3140;--blue:#226f9d;--cream:#f3c8b7;--plum-dark:#422330;}
*{margin:0;padding:0;box-sizing:border-box}html,body{background:var(--plum);color:var(--cream);font-family:'Cormorant Garamond',serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.hidden{display:none!important}
.socials{position:absolute;top:18px;right:24px;display:flex;gap:8px;font-size:1.45rem;font-weight:700;z-index:20}.drawing{position:fixed;pointer-events:none;opacity:.65;z-index:1;width:760px}.drawing-left-top{left:-360px;top:230px}.drawing-right-top{right:-390px;top:360px;transform:scaleX(-1)}.drawing-left-bottom{width:820px;left:-430px;bottom:-80px}.drawing-right-bottom{width:820px;right:-430px;bottom:-80px;transform:scaleX(-1)}
.site-header{position:relative;z-index:5;text-align:center;padding-top:42px}.main-logo{width:108px;height:108px;object-fit:contain;margin:0 auto 60px}.main-nav{display:flex;justify-content:center;align-items:center;gap:62px;font-size:2rem;text-transform:lowercase;flex-wrap:wrap}.main-nav a.active{color:var(--blue)}
.hero-section{position:relative;z-index:5;text-align:center;padding:70px 20px 30px}.hero-section h1{font-size:4.7rem;font-weight:500;line-height:1;text-transform:lowercase;margin-bottom:34px}.blue-line{width:360px;height:3px;background:var(--blue);margin:0 auto 42px}.tagline{font-family:'Great Vibes',cursive;font-size:2.55rem;line-height:1.45;margin-bottom:34px}.pill-button{display:inline-flex;justify-content:center;align-items:center;width:190px;height:42px;background:var(--blue);border:none;border-radius:999px;color:var(--cream);font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:700;text-transform:lowercase;cursor:pointer}.plum-button{background:var(--plum)}
.photo-row{width:860px;max-width:90%;margin:70px auto 0;display:flex;justify-content:center;align-items:center;gap:8px}.photo-preview{display:flex;gap:8px}.photo-box{width:145px;height:120px;background:rgba(243,200,183,.25);overflow:hidden}.photo-box img{width:100%;height:100%;object-fit:cover}.arrow{width:38px;height:38px;border:none;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:2rem;line-height:1;cursor:pointer}.arrow-left{background:var(--cream);color:var(--plum)}.arrow-right{background:var(--blue);color:var(--cream)}
.album-section{position:relative;z-index:5;text-align:center;padding:80px 20px 50px}.album-section h2{font-family:'Great Vibes',cursive;font-size:4.1rem;font-weight:400;line-height:1;margin-bottom:18px}.album-section h3{font-size:4.5rem;font-weight:700;line-height:1;margin-bottom:38px;color:var(--blue)}.record-box{width:190px;height:190px;border:3px solid var(--blue);margin:0 auto 28px;display:flex;justify-content:center;align-items:center}.record{width:136px;height:136px;border-radius:50%;background:radial-gradient(circle at center,#111 0 4px,transparent 5px),radial-gradient(circle at center,var(--cream) 0 18px,transparent 19px),radial-gradient(circle at 35% 30%,rgba(255,255,255,.18),transparent 18%),radial-gradient(circle at center,#171015 0%,#070707 75%)}.album-text{font-size:2rem;line-height:1.08;margin-bottom:22px}.subscription-pricing{margin:18px auto 32px;text-align:center}.subscription-pricing h4{color:var(--blue);font-size:2rem;font-weight:700;margin-bottom:0}.subscription-pricing span{display:block;color:var(--blue);font-size:1.5rem;margin-bottom:12px}.subscription-pricing p{font-size:1.85rem;line-height:1.25}.subscription-pricing em{font-family:'Great Vibes',cursive;font-style:normal;margin-right:22px}.subscription-pricing strong{font-weight:700;margin-right:22px}.price{font-size:1.9rem;margin-bottom:10px}.availability{font-family:'Great Vibes',cursive;font-size:2.2rem;margin-bottom:28px}
.page-title{position:relative;z-index:5;text-align:center;font-size:5.2rem;font-weight:500;text-transform:lowercase;margin-top:60px}.gallery-grid{position:relative;z-index:5;width:760px;max-width:86%;margin:90px auto 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid img{width:100%;aspect-ratio:1/1;object-fit:cover}.pricing-wrapper{position:relative;z-index:5;width:600px;max-width:86%;margin:90px auto 40px;display:flex;flex-direction:column;gap:55px}.price-card{background:var(--blue);padding:48px 30px;text-align:center;border:14px solid var(--blue);outline:2px solid var(--plum);outline-offset:-26px}.price-card h2{font-family:'Great Vibes',cursive;font-size:3.2rem;font-weight:400;margin-bottom:20px}.small-line{width:120px;height:3px;background:var(--cream);margin:0 auto 25px}.price-card p{font-size:2.8rem;font-weight:700}.pricing-contact{text-align:center}.testimonial-wrapper{position:relative;z-index:5;width:820px;max-width:86%;margin:90px auto 40px;display:flex;flex-direction:column;gap:35px}.testimonial-card{border:4px solid var(--blue);padding:30px 42px;text-align:center;min-height:140px}.testimonial-card p{font-size:2rem;line-height:1.28}.testimonial-card strong{display:block;margin-top:22px;font-size:2rem}.empty-card{min-height:160px}
.contact-wrapper{position:relative;z-index:5;width:700px;max-width:86%;margin:90px auto 80px}.contact-panel{background:var(--blue);border-radius:10px;padding:42px}.contact-panel h2{font-size:2.5rem;font-weight:500;margin-bottom:30px}.contact-panel label{display:block;font-size:1.15rem;margin-bottom:10px}.contact-panel input,.contact-panel textarea{width:100%;background:transparent;border:1px solid rgba(243,200,183,.55);border-radius:6px;padding:13px;margin-bottom:28px;color:var(--cream);font-family:'Cormorant Garamond',serif;font-size:1.2rem}.contact-panel textarea{min-height:90px;resize:vertical}.contact-panel input:focus,.contact-panel textarea:focus{outline:none;border-color:var(--cream)}.contact-panel button{width:100%;height:48px;border:none;border-radius:999px;background:var(--cream);color:#28151d;font-family:'Cormorant Garamond',serif;font-size:1.25rem;cursor:pointer}#successMessage{display:none;text-align:center;font-family:'Great Vibes',cursive;font-size:2.2rem;margin-top:25px}
body.events-page{background:var(--blue)}.events-page .main-nav a.active{color:var(--plum)}.events-page .blue-line{background:var(--plum)}.events-content{position:relative;z-index:5;width:820px;max-width:86%;margin:80px auto 60px;text-align:center}.event-image{width:100%;height:260px;border-radius:28px;background:#cceefa;margin-bottom:50px;overflow:hidden}.event-image img{width:100%;height:100%;object-fit:cover}.events-copy,.events-list{font-size:3rem;line-height:1.18}.events-copy{margin-bottom:45px}.events-list{margin-bottom:50px}
.site-footer{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:flex-end;padding:50px 70px 25px;margin:0}.footer-brand{display:flex;align-items:center;gap:14px;font-size:1.3rem;font-weight:700}.footer-brand img{width:46px;height:46px;object-fit:contain}.footer-nav{display:grid;grid-template-columns:repeat(3,auto);gap:14px 80px;font-size:1.6rem;text-transform:lowercase}.copyright{position:absolute;right:26px;bottom:12px;font-size:.85rem;line-height:1}
.form-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:999;display:none;justify-content:center;align-items:center;padding:20px}.form-modal-content{width:min(900px,95%);height:85vh;background:white;border-radius:14px;position:relative;overflow:hidden}.form-modal iframe{width:100%;height:100%;border:none}.close-modal{position:absolute;top:12px;right:16px;z-index:10;width:36px;height:36px;border:none;border-radius:50%;background:var(--blue);color:white;font-size:1.6rem;cursor:pointer}
.coming-soon-page{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center}.coming-soon-wrapper{position:relative;z-index:5;width:90%;max-width:760px;padding:60px 20px}.coming-soon-wrapper .main-logo{width:130px;height:130px;object-fit:contain;margin:0 auto 45px}.coming-soon-wrapper h1{font-size:5rem;font-weight:500;line-height:1;text-transform:lowercase}.coming-soon-wrapper p{font-family:'Great Vibes',cursive;font-size:2.4rem;margin:38px 0}.tester-login{display:flex;flex-direction:column;gap:14px;align-items:center;margin-top:30px}.tester-login input{width:320px;height:48px;border:1px solid rgba(243,200,183,.5);border-radius:999px;background:transparent;color:var(--cream);padding:0 20px;font-family:'Cormorant Garamond',serif;font-size:1.1rem}.tester-login input::placeholder{color:rgba(243,200,183,.75)}.tester-login button{width:190px;height:46px;border:none;border-radius:999px;background:var(--blue);color:var(--cream);font-family:'Cormorant Garamond',serif;font-size:1.1rem;cursor:pointer;margin-top:10px}.login-error{display:none!important;color:#ffb8b8!important}.login-error[style*="block"]{display:block!important}
.admin-page{padding:60px 0}.admin-wrapper{position:relative;z-index:5;width:900px;max-width:90%;margin:40px auto}.admin-login{position:relative;z-index:5;width:500px;max-width:90%;margin:120px auto;background:var(--blue);padding:40px;border-radius:12px}.admin-login h1,.admin-section h2{font-size:2.5rem;margin-bottom:25px}.admin-section{background:var(--blue);padding:40px;border-radius:12px;margin-bottom:40px}.admin-section input,.admin-section textarea,.admin-login input{width:100%;padding:14px;margin-bottom:18px;border:none;border-radius:6px;font-size:1rem;font-family:inherit}.admin-section button,.admin-login button{background:var(--plum);color:var(--cream);border:none;padding:12px 24px;border-radius:999px;cursor:pointer;font-size:1rem;margin-top:10px}.admin-item{background:rgba(255,255,255,.08);padding:18px;margin-top:18px;border-radius:8px}.admin-item img{width:120px;height:120px;object-fit:cover;margin-bottom:12px}
@media(max-width:900px){.socials{font-size:1rem;right:16px}.main-logo{width:90px;height:90px;margin-bottom:38px}.main-nav{gap:18px 26px;font-size:1.35rem}.hero-section h1{font-size:3.4rem}.blue-line{width:260px}.tagline{font-size:2rem}.photo-row{justify-content:flex-start;overflow-x:auto;padding-bottom:10px}.photo-preview{display:flex}.photo-box{width:112px;height:96px;flex:0 0 112px}.album-section h2{font-size:3rem}.album-section h3{font-size:3.5rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}.testimonial-card p,.testimonial-card strong{font-size:1.45rem}.events-copy,.events-list{font-size:2.1rem}.site-footer{flex-direction:column;align-items:center;gap:30px;padding:40px 20px 30px}.footer-nav{grid-template-columns:repeat(2,auto);gap:12px 46px;font-size:1.3rem}.copyright{position:static}.drawing{opacity:.3;width:430px}.drawing-left-top{left:-270px;top:320px}.drawing-right-top{right:-285px;top:570px}.drawing-left-bottom{width:470px;left:-315px;bottom:60px}.drawing-right-bottom{width:470px;right:-315px;bottom:60px}.coming-soon-wrapper h1{font-size:3.6rem}.coming-soon-wrapper p{font-size:2rem}.tester-login input{width:100%;max-width:320px}.subscription-pricing p{font-size:1.5rem}.form-modal-content{height:90vh}}


html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body {
  position: relative;
}

body.modal-open {
  overflow: hidden;
}

.drawing {
  max-width: none;
  contain: layout paint;
}

.photo-row {
  width: min(940px, 94vw);
  max-width: 100%;
  overflow: hidden;
}

.photo-preview {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  width: min(765px, calc(100vw - 150px));
  min-width: 0;
}

.photo-box {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 0.82;
  min-width: 0;
}

.arrow {
  flex: 0 0 38px;
  position: relative;
  z-index: 6;
}

.album-section {
  width: min(700px, 92vw);
  max-width: 100%;
  margin: 90px auto 70px;
  padding: 0 20px;
  text-align: center;
}

.album-image {
  display: block;
  width: clamp(180px, 22vw, 250px);
  height: auto;
  aspect-ratio: 1 / 1;
  margin: 0 auto 24px;
  border: 3px solid var(--blue);
  object-fit: cover;
  object-position: center;
}

.subscription-pricing {
  width: min(430px, 100%);
  margin: 28px auto 30px;
}

.subscription-pricing h4 {
  margin-bottom: 0;
}

.subscription-pricing > span {
  margin-bottom: 15px;
}

.subscription-row {
  display: grid;
  grid-template-columns: 90px minmax(130px, 1fr) 60px;
  align-items: baseline;
  column-gap: 14px;
  width: 100%;
  margin: 7px auto;
  font-size: 1.75rem;
  line-height: 1.2;
  text-align: left;
}

.subscription-row .subscription-label {
  font-family: 'Pinyon Script', cursive;
  font-size: 1.9rem;
  text-align: right;
}

.subscription-row strong {
  font-weight: 700;
  white-space: nowrap;
}

.subscription-row > span:last-child {
  text-align: right;
  white-space: nowrap;
}

.events-enquire-button {
  background: var(--plum);
}

.form-modal {
  display: none;
}

.form-modal.is-open {
  display: flex;
}

.form-modal-content {
  max-height: 92vh;
}

@media (max-width: 900px) {
  html,
  body {
    overflow-x: hidden;
  }

  .drawing {
    position: absolute;
  }

  .photo-row {
    width: calc(100% - 24px);
    margin-inline: auto;
    justify-content: center;
  }

  .photo-preview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: calc(100% - 92px);
  }

  .photo-box {
    width: 100%;
    height: auto;
  }
}

@media (max-width: 560px) {
  .photo-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .subscription-row {
    grid-template-columns: 65px minmax(105px, 1fr) 52px;
    column-gap: 8px;
    font-size: 1.35rem;
  }

  .subscription-row .subscription-label {
    font-size: 1.55rem;
  }

  .form-modal {
    padding: 8px;
  }

  .form-modal-content {
    width: 100%;
    height: 94vh;
    border-radius: 10px;
  }
}

/* ---------- Social Icons ---------- */

.socials{
    position:fixed;
    top:20px;
    right:20px;
    z-index:100;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.socials a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:50%;
    color:#EBC8C8;
    transition:0.3s ease;
}

.social-icon{
    width:30px;
    height:30px;
}

.socials a:hover{
    transform:scale(1.15);
    color:#66C7F4;
}


/* =========================================================
   JULY 2026 POLISH OVERRIDES
   ========================================================= */

/* Prevent decorative artwork from creating sideways scrolling. */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body.modal-open,
body.form-open {
  overflow: hidden;
}

/* The form modal must sit above every fixed page control. */
.form-modal {
  z-index: 5000;
}

.form-modal.is-open {
  display: flex;
}

/* Hide socials while a form is open */
body.form-open .socials{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease;
}

.socials{
    transition:opacity .25s ease;
}

/* Album subscription typography and alignment. */
.subscription-pricing {
  width: min(430px, 100%);
  margin: 28px auto 34px;
  text-align: center;
}

.subscription-pricing h4 {
  margin: 0;
  color: var(--blue);
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.subscription-pricing > span {
  display: block;
  margin: 4px 0 18px;
  color: var(--blue);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.45rem;
}

.subscription-row {
  display: grid;
  grid-template-columns: 92px minmax(145px, 1fr) 62px;
  align-items: baseline;
  column-gap: 14px;
  width: 100%;
  margin: 8px auto;
  color: var(--cream);
  line-height: 1.15;
}

.subscription-row .subscription-label {
  color: var(--blue);
  font-family: 'Pinyon Script', cursive;
  font-size: 2rem;
  font-weight: 400;
  text-align: right;
}

.subscription-row strong,
.subscription-row > span:last-child {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.7rem;
  font-style: normal;
  white-space: nowrap;
}

.subscription-row strong {
  font-weight: 600;
  text-align: left;
}

.subscription-row > span:last-child {
  font-weight: 500;
  text-align: right;
}

/* Events page artwork uses the purple version supplied separately. */
.events-page .drawing {
  opacity: 0.72;
}

.events-copy {
  max-width: 760px;
  margin: 0 auto 45px;
  text-align: center;
  line-height: 1.25;
}

.events-enquire-button {
  background: var(--plum);
}

@media (max-width: 600px) {
  .subscription-pricing {
    width: min(340px, 100%);
  }

  .subscription-row {
    grid-template-columns: 68px minmax(112px, 1fr) 54px;
    column-gap: 8px;
  }

  .subscription-row .subscription-label {
    font-size: 1.65rem;
  }

  .subscription-row strong,
  .subscription-row > span:last-child {
    font-size: 1.35rem;
  }
}



/* ===== Restored decorative flower positioning ===== */
.drawing{
    position:fixed;
    pointer-events:none;
    opacity:.65;
    z-index:1;
    width:760px;
    max-width:none;
}
.drawing-left-top{left:-360px;top:230px;}
.drawing-right-top{right:-390px;top:360px;transform:scaleX(-1);}
.drawing-left-bottom{width:820px;left:-430px;bottom:-80px;}
.drawing-right-bottom{width:820px;right:-430px;bottom:-80px;transform:scaleX(-1);}

.events-page .drawing{
    opacity:.72;
}

@media(max-width:900px){
    .drawing{opacity:.3;width:430px;}
    .drawing-left-top{left:-270px;top:320px;}
    .drawing-right-top{right:-285px;top:570px;}
    .drawing-left-bottom{width:470px;left:-315px;bottom:60px;}
    .drawing-right-bottom{width:470px;right:-315px;bottom:60px;}
}
