:root{
--green:#063d2b;--green2:#0b583c;--gold:#aa8c4d;--cream:#f4f0e7;--paper:#faf8f3;
--ink:#20231f;--muted:#686d67;--line:#ddd6ca;--white:#fff;
--serif:"Libre Baskerville",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--max:1240px;
--shadow:0 24px 70px rgba(20,31,25,.15)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);line-height:1.65}img,video{max-width:100%;display:block}a{color:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:500;background:#fff;padding:.8rem}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}.section{padding:104px 0}.label,.overline{text-transform:uppercase;letter-spacing:.15em;font-weight:700;font-size:.75rem;color:var(--gold);margin:0 0 12px}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(6,61,43,.12);backdrop-filter:blur(12px)}
.nav-wrap{height:82px;width:min(calc(100% - 40px),1400px);margin:auto;display:flex;align-items:center;gap:27px}.brand{width:245px;margin-right:auto}.brand img{width:100%;height:60px;object-fit:contain;object-position:left center}nav{display:flex;gap:24px}nav a{text-decoration:none;font-size:.87rem;font-weight:600}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;padding:14px 22px;border-radius:2px;transition:.2s}.header-cta,.primary{background:var(--green);color:#fff}.header-cta:hover,.primary:hover{background:var(--green2);transform:translateY(-1px)}.menu-button{display:none}
.hero{min-height:790px;position:relative;display:flex;align-items:center;padding-top:82px;color:#fff}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,25,16,.94),rgba(1,25,16,.78) 42%,rgba(1,25,16,.25) 70%,rgba(0,0,0,.04))}.hero-copy{position:relative;z-index:2}.hero h1{font:400 clamp(2.8rem,5vw,5.25rem)/1.05 var(--serif);max-width:780px;margin:0}.subhead{font:400 clamp(1.15rem,2vw,1.75rem)/1.4 var(--serif);color:#ddc586;margin:20px 0}.intro{font:400 clamp(1.05rem,1.5vw,1.28rem)/1.75 var(--serif);margin:31px 0 38px}.intro span{display:block}.actions{display:flex;gap:12px;flex-wrap:wrap}.outline{border:1px solid rgba(255,255,255,.8);color:#fff}.outline:hover{background:#fff;color:var(--green)}.gold{background:var(--gold);color:#fff}.text-link{color:var(--green);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold)}
.proof-strip{background:var(--cream);border-bottom:1px solid var(--line)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-grid div{padding:24px;border-right:1px solid var(--line)}.proof-grid div:last-child{border:0}.proof-grid strong,.proof-grid span{display:block}.proof-grid span{font-size:.84rem;color:var(--muted)}
.two-col{display:grid;grid-template-columns:1.04fr .96fr;gap:78px;align-items:center}.archive-composition{min-height:610px;position:relative}.archive-main{width:86%;height:520px;object-fit:cover;box-shadow:var(--shadow)}.archive-inset{position:absolute;width:49%;height:275px;right:0;bottom:0;object-fit:cover;border:10px solid #fff;box-shadow:var(--shadow)}.date-chip{position:absolute;right:40%;top:20px;background:var(--gold);color:#fff;padding:9px 17px;font-family:var(--serif);font-size:1.25rem}
.copy h2,.heading-row h2,.centre h2{font:400 clamp(2.05rem,3.6vw,3.55rem)/1.22 var(--serif);margin:0 0 26px}.copy p{color:var(--muted)}blockquote{font:400 1.1rem/1.8 var(--serif);margin:30px 0;padding-left:24px;border-left:3px solid var(--gold)}.signature{font:700 1.05rem var(--serif)!important;color:var(--ink)!important}.signature span{display:block;font:500 .74rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.services,.contact{background:var(--paper)}.heading-row{display:flex;align-items:end;justify-content:space-between;gap:42px;margin-bottom:42px}.heading-row>p{max-width:470px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-grid article{background:#fff;border:1px solid #e8e2d8}.service-grid img{width:100%;height:235px;object-fit:cover}.service-grid article div{padding:24px}.service-grid h3{font:400 1.25rem var(--serif);margin:0 0 8px}.service-grid p{font-size:.9rem;color:var(--muted);margin:0}
.pressroom,.customer-hub{background:#052f21;color:#fff}.heading-row.light>p{color:#c9d4ce}.heading-row.light h2{color:#fff}.film-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.film{background:#0b3e2d;border:1px solid rgba(255,255,255,.14)}.film.wide{grid-column:span 2}.film video{width:100%;aspect-ratio:16/10;object-fit:cover;background:#000}.film div{padding:23px}.film h3{font:400 1.35rem var(--serif);margin:0 0 8px}.film p{font-size:.9rem;color:#cbd5cf;margin:0}.film-tag{color:#d9bf7f!important;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem!important;margin-bottom:7px!important}
.centre{text-align:center;max-width:900px;margin:0 auto 45px}.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.principle-grid article{border-top:1px solid var(--gold);padding:27px 0}.principle-grid span{font-family:var(--serif);color:var(--gold)}.principle-grid h3{font:400 1.4rem var(--serif);margin:9px 0}.principle-grid p{color:var(--muted)}
.funeral{background:#eee7da}.funeral-img{width:100%;height:540px;object-fit:cover;box-shadow:var(--shadow)}.small-note{font-size:.83rem;font-style:italic}
.archive-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.archive-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.archive-cards figure{margin:0}.archive-cards img{height:300px;width:100%;object-fit:cover;filter:sepia(.12)}.archive-cards figcaption{font:400 .95rem var(--serif);padding:11px 0;border-bottom:1px solid var(--gold)}
.hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.hub-grid article{background:#fff;color:var(--ink);padding:28px;min-height:240px}.hub-grid h3{font:400 1.25rem var(--serif)}.hub-grid p{color:var(--muted);font-size:.9rem}.hub-grid a{font-weight:700;text-decoration:none;color:var(--green)}
.community-img{width:100%;height:530px;object-fit:cover;object-position:center 18%;box-shadow:var(--shadow)}
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:25px}.contact-card{background:#fff;padding:42px;border:1px solid #e5dfd4}.contact-card h3{font:400 1.7rem var(--serif);margin-top:0}.contact-card address{font-style:normal;color:var(--muted)}.contact-card a:not(.btn){color:var(--green)}.map{width:100%;min-height:550px;border:0}
footer{background:#03291d;color:#dce4df;padding:66px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:52px}.footer-brand img{width:285px;filter:brightness(0) invert(1);opacity:.94}.footer-grid h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#d7be82}.footer-grid a{display:block;text-decoration:none;margin:7px 0}.footer-grid p{font-size:.9rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:.78rem;color:#aebbb4}
@media(max-width:1000px){nav{display:none;position:absolute;top:74px;left:20px;right:20px;background:#fff;padding:22px;box-shadow:var(--shadow);flex-direction:column}nav.open{display:flex}.menu-button{display:block;border:1px solid var(--green);background:#fff;padding:9px 12px}.header-cta{display:none}.proof-grid,.service-grid,.principle-grid,.hub-grid{grid-template-columns:repeat(2,1fr)}.two-col,.archive-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.film-grid{grid-template-columns:1fr 1fr}.film.wide{grid-column:span 2}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.container,.nav-wrap{width:min(calc(100% - 28px),var(--max))}.section{padding:72px 0}.nav-wrap{height:70px}.brand{width:190px}.brand img{height:49px}.hero{min-height:740px;padding-top:70px}.hero h1{font-size:2.65rem}.actions .btn{width:100%}.proof-grid,.service-grid,.principle-grid,.hub-grid,.film-grid,.archive-cards{grid-template-columns:1fr}.film.wide{grid-column:auto}.proof-grid div{border-right:0;border-bottom:1px solid var(--line)}.heading-row{display:block}.heading-row>p{margin-top:18px}.archive-composition{min-height:450px}.archive-main{height:380px}.archive-inset{height:190px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin:5px 0}}

/* Version 1.1 refinements */
.hub-grid article{
  display:flex;
  flex-direction:column;
}
.hub-grid article .hub-btn{
  margin-top:auto;
  align-self:flex-start;
  min-width:155px;
}
.outline-dark{
  border:1px solid var(--green);
  color:var(--green);
  background:#fff;
}
.outline-dark:hover{
  background:var(--green);
  color:#fff;
}
.community-photo-wrap{
  height:560px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#e7e3da;
}
.community-img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center top;
  box-shadow:none;
  background:#e7e3da;
}
@media(max-width:640px){
  .community-photo-wrap{height:auto;}
  .community-img{height:auto;object-fit:contain;}
  .hub-grid article .hub-btn{width:100%;}
}


/* Version 1.2 refinements */
.hub-grid article{
  background:linear-gradient(180deg,#f7f4ee,#ece5d8);
  border-top:4px solid var(--gold);
  border-radius:4px;
}
.hub-grid article .btn{
  color:#fff !important;
  text-shadow:0 1px 1px rgba(0,0,0,.18);
}
.hub-grid article .outline-dark{
  color:var(--green) !important;
  text-shadow:none;
}
.hub-grid article .gold{
  color:#fff !important;
}
.centre h2{
  line-height:1.35;
}

.archive-hero{min-height:690px;position:relative;display:flex;align-items:center;padding-top:82px;background:url('assets/indenture-1861-restored.jpg') center/cover no-repeat;color:#fff}.archive-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,35,24,.94),rgba(3,35,24,.72) 48%,rgba(3,35,24,.28))}.archive-hero-copy{position:relative;z-index:2;max-width:900px}.archive-hero h1{font:400 clamp(2.8rem,5vw,5.4rem)/1.06 var(--serif);margin:0;max-width:850px}.archive-hero-line{font:400 clamp(1.6rem,3vw,2.6rem)/1.4 var(--serif);color:#ddc586;margin:14px 0 24px}.archive-hero-copy>p:last-child{max-width:680px;font-size:1.05rem}
.museum-section{padding:115px 0;background:#f7f3ea}.museum-section.alt{background:#eee7d9}.museum-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:center}.museum-grid.reverse{grid-template-columns:1.28fr .72fr}.museum-grid.reverse .museum-copy{order:2}.museum-grid.reverse .museum-frame{order:1}.archive-number{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--green);margin:0 0 8px}.archive-year{font:400 2rem var(--serif);color:var(--gold);margin:0 0 8px}.museum-copy h2{font:400 clamp(2rem,3.4vw,3.3rem)/1.2 var(--serif);margin:0 0 24px}.museum-copy p{color:var(--muted)}.museum-frame{margin:0;background:#dfd4bf;padding:26px;box-shadow:var(--shadow);border:1px solid rgba(90,72,42,.16)}.museum-frame img{width:100%;height:100%;object-fit:contain;background:#f2eadc}.museum-frame.landscape{aspect-ratio:1.42/1}.museum-frame.portrait{aspect-ratio:.78/1}.museum-frame figcaption{font:400 .88rem var(--serif);padding:14px 3px 0;color:#675f53}
.legacy-section{padding:115px 0;background:#062f21;color:#fff}.legacy-section .centre h2{color:#fff}.legacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.legacy-grid article{background:#0b3e2d;border:1px solid rgba(255,255,255,.14)}.legacy-grid video,.legacy-grid img{width:100%;height:410px;object-fit:cover;background:#000}.legacy-grid article>div{padding:28px}.legacy-grid h3{font:400 1.55rem var(--serif);margin:0 0 4px}.legacy-grid p{color:#cbd5cf}.legacy-grid article>div p:nth-child(2){color:#d7be82;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.archive-closing{padding:120px 0;text-align:center;background:#fff}.archive-closing p{font:400 1.18rem var(--serif);color:var(--muted)}.archive-closing h2{font:400 clamp(2.2rem,4vw,4rem)/1.2 var(--serif);max-width:900px;margin:12px auto 34px}
@media(max-width:1000px){.museum-grid,.museum-grid.reverse{grid-template-columns:1fr}.museum-grid.reverse .museum-copy,.museum-grid.reverse .museum-frame{order:initial}.legacy-grid{grid-template-columns:1fr}}
@media(max-width:640px){.archive-hero{min-height:620px}.museum-section{padding:75px 0}.museum-frame{padding:14px}.museum-frame.landscape,.museum-frame.portrait{aspect-ratio:auto}.museum-frame img{height:auto}.legacy-grid video,.legacy-grid img{height:auto}}

/* Version 1.4 - hero identity, archive preview and secure contact form */
.brand img,.footer-brand img{background:transparent}
.hero-copy{position:relative}
.hero-brand-logo{
  width:285px;
  max-width:34vw;
  margin:0 0 24px -4px;
  position:relative;
  z-index:3;
  filter:drop-shadow(0 5px 18px rgba(0,0,0,.28));
}
.hero-watermark{
  position:absolute;
  width:500px;
  height:auto;
  left:-135px;
  top:120px;
  opacity:.23;
  filter:blur(.25px);
  pointer-events:none;
  user-select:none;
  z-index:-1;
}
.story-primary{object-fit:contain;background:#e8dfce;padding:16px}
.story-secondary{object-fit:cover;object-position:center top}

.secure-form-wrap{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:34px;
  margin-top:42px;
  background:#fff;
  border:1px solid #e5dfd4;
  padding:42px;
}
.secure-form-copy h3{
  font:400 1.7rem var(--serif);
  margin:0 0 14px;
}
.secure-form-copy p:last-child{color:var(--muted)}
.contact-form{position:relative}
.honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(1px,1px,1px,1px)!important;
  white-space:nowrap!important;
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid label{display:block}
.form-grid label.full{grid-column:1/-1}
.form-grid span{display:block;font-weight:700;font-size:.82rem;margin-bottom:6px}
.form-grid input,.form-grid textarea{
  width:100%;
  border:1px solid #cfc8bc;
  background:#faf8f3;
  padding:13px 14px;
  font:inherit;
  color:var(--ink);
}
.form-grid input:focus,.form-grid textarea:focus{
  outline:2px solid rgba(6,61,43,.2);
  border-color:var(--green);
}
.turnstile-placeholder{
  margin:18px 0;
  padding:14px;
  border:1px dashed #b9ad98;
  background:#f4f0e7;
  color:#746b5d;
  font-size:.82rem;
}
.form-status{min-height:1.5em;margin:12px 0 0;font-size:.9rem}
@media(max-width:900px){
  .hero-brand-logo{max-width:52vw}
  .hero-watermark{width:420px;left:-115px;top:135px}
  .secure-form-wrap{grid-template-columns:1fr}
}
@media(max-width:640px){
  .hero-brand-logo{width:235px;max-width:76vw}
  .hero-watermark{width:320px;left:-105px;top:155px;opacity:.17}
  .form-grid{grid-template-columns:1fr}
  .secure-form-wrap{padding:26px 20px}
}

/* Version 1.5 - community then and now */
.community{
  background:#fff;
}
.community-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.community-era{
  margin:0;
  background:#f7f3ea;
  border:1px solid #e3dccf;
  overflow:hidden;
}
.community-image-frame{
  height:430px;
  background:#ded8cd;
  overflow:hidden;
}
.community-image-frame img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#ded8cd;
}
.community-era figcaption{
  padding:28px;
}
.community-era-label{
  display:inline-block;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:700;
  font-size:.72rem;
  margin-bottom:8px;
}
.community-era h3{
  font:400 1.55rem/1.3 var(--serif);
  margin:0 0 12px;
}
.community-era p{
  color:var(--muted);
  margin:0;
}
.historic-era .community-image-frame img{
  filter:grayscale(1) contrast(1.03);
}
.modern-era .community-image-frame img{
  object-position:center top;
}
@media(max-width:820px){
  .community-pair{grid-template-columns:1fr}
  .community-image-frame{height:auto}
  .community-image-frame img{height:auto;max-height:620px}
}

/* Version 1.6 - restrained hero identity and complete Gazette staff image */

/* With the banner logo removed, navigation sits cleanly to the right. */
.nav-wrap{
  justify-content:flex-end;
}
.nav-wrap nav{
  margin-left:auto;
}

/* The hero uses only the latent GP mark. No small boxed logo or unreadable strapline. */
.hero-watermark{
  width:405px;
  left:-90px;
  top:78px;
  opacity:.17;
}
.hero-brand-logo{
  display:none !important;
}

/* Preserve the full historic Gazette staff photograph without cropping. */
.story-secondary{
  object-fit:contain !important;
  object-position:center center !important;
  background:#e8dfd2;
  padding:8px;
}

/* Exact editorial line treatment requested by Jonathan. */
.experience-line{
  line-height:1.42 !important;
}
.experience-line span{
  display:block;
}
.experience-line .not-rushed{
  margin-top:.12em;
  font-style:italic;
  font-size:.9em;
}

/* Slightly more air above the latent GP on smaller screens as well. */
@media(max-width:900px){
  .hero-watermark{
    width:350px;
    left:-85px;
    top:92px;
    opacity:.15;
  }
}
@media(max-width:640px){
  .hero-watermark{
    width:280px;
    left:-78px;
    top:112px;
    opacity:.13;
  }
}

/* Version 1.7 - latent full Glenside logo */
.hero-watermark{
  width:360px !important;
  max-width:34vw;
  left:-8px !important;
  top:76px !important;
  opacity:.13 !important;
  filter:blur(.15px);
  object-fit:contain;
  object-position:left top;
}

/* Keep the latent logo clearly separate from the headline. */
.hero h1{
  position:relative;
  z-index:2;
  margin-top:150px;
}

@media(max-width:900px){
  .hero-watermark{
    width:310px !important;
    max-width:48vw;
    left:-4px !important;
    top:88px !important;
    opacity:.12 !important;
  }
  .hero h1{
    margin-top:138px;
  }
}
@media(max-width:640px){
  .hero-watermark{
    width:250px !important;
    max-width:72vw;
    left:0 !important;
    top:96px !important;
    opacity:.11 !important;
  }
  .hero h1{
    margin-top:120px;
  }
}

/* Version 2.0 - final homepage latent logo refinement */
.hero-watermark{
  width:360px !important;
  max-width:34vw;
  left:-8px !important;
  top:32px !important;
  opacity:.17 !important;
  filter:blur(.12px);
}

/* Keep a measured gap between the latent logo and the headline. */
.hero h1{
  margin-top:138px !important;
}

@media(max-width:900px){
  .hero-watermark{
    width:310px !important;
    max-width:48vw;
    left:-4px !important;
    top:44px !important;
    opacity:.16 !important;
  }
  .hero h1{
    margin-top:132px !important;
  }
}

@media(max-width:640px){
  .hero-watermark{
    width:250px !important;
    max-width:72vw;
    left:0 !important;
    top:58px !important;
    opacity:.15 !important;
  }
  .hero h1{
    margin-top:120px !important;
  }
}


.contact-hero{padding:160px 0 90px;background:linear-gradient(135deg,#052f21,#0a4632);color:#fff;position:relative;overflow:hidden}
.contact-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:50px}.contact-hero h1{font:400 clamp(3rem,6vw,6rem)/1.02 var(--serif);margin:0 0 20px}
.contact-hero-copy>p:not(.overline){max-width:700px;font:400 1.15rem/1.75 var(--serif);color:#d6e0db}.contact-quick{margin-top:28px;display:flex;gap:20px;flex-wrap:wrap;font-size:.9rem}.contact-quick a{color:#fff;font-weight:700}
.contact-hero-mark{font:700 clamp(10rem,18vw,18rem)/.8 var(--serif);color:rgba(255,255,255,.055);text-align:right;user-select:none}
.contact-page-main{background:#f6f2e9}.contact-page-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:start}
.contact-form-panel,.jonathan-panel{background:#fff;border:1px solid #e2dbcf;box-shadow:var(--shadow)}.contact-form-panel{padding:42px}
.contact-form-panel h2,.jonathan-panel h2{font:400 clamp(2rem,3.2vw,3.2rem)/1.2 var(--serif);margin:0 0 18px}.form-intro{color:var(--muted);margin-bottom:30px}
.glenside-contact-form{position:relative}.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:block}.form-grid label.full{grid-column:1/-1}.form-grid label>span{display:block;font-size:.82rem;font-weight:700;margin-bottom:7px}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid #cfc7b9;background:#fbf9f5;padding:13px 14px;font:inherit;color:var(--ink)}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:2px solid rgba(6,61,43,.18);border-color:var(--green)}
.form-grid .consent{display:flex;align-items:flex-start;gap:10px}.form-grid .consent input{width:auto;margin-top:5px}.form-grid .consent span{font-weight:500;margin:0}
.form-support-row{display:flex;align-items:center;gap:15px;margin:20px 0;color:var(--muted);font-size:.86rem}.turnstile-placeholder{margin:20px 0;padding:14px;border:1px dashed #b9ad98;background:#f4f0e7;color:#746b5d;font-size:.82rem}
.privacy-note,.form-status{font-size:.83rem;color:var(--muted)}.form-status{min-height:1.4em}
.jonathan-panel{overflow:hidden}.jonathan-panel>img{width:100%;height:460px;object-fit:cover;object-position:center top}.jonathan-panel-copy{padding:34px}.jonathan-panel-copy p{color:var(--muted)}
.contact-quote{margin:28px 0 0;padding:22px 0 0 22px;border-left:3px solid var(--gold);font:400 1.05rem/1.7 var(--serif)}.contact-quote span{display:block}
.contact-details-band{background:#062f21;color:#fff;padding:55px 0}.contact-details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.contact-details-grid h3{font:400 1.1rem var(--serif);color:#d7be82}.contact-details-grid p{color:#d5dfda}.contact-details-grid a{color:#fff}
@media(max-width:1000px){.contact-page-grid,.contact-hero-grid{grid-template-columns:1fr}.contact-hero-mark{display:none}.contact-details-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.contact-hero{padding:125px 0 70px}.contact-form-panel{padding:28px 20px}.form-grid{grid-template-columns:1fr}.form-support-row{align-items:flex-start;flex-direction:column}.contact-details-grid{grid-template-columns:1fr}.jonathan-panel>img{height:auto}}

/* Version 2.2 correction - approved latent-logo styling retained */
.contact-hero-copy{position:relative}
.contact-latent-logo{
  width:360px;
  max-width:38vw;
  opacity:.17;
  position:absolute;
  left:-8px;
  top:-82px;
  pointer-events:none;
}
.contact-hero h1{margin-top:120px}
@media(max-width:640px){
  .contact-latent-logo{width:250px;max-width:74vw;top:-60px;opacity:.15}
  .contact-hero h1{margin-top:100px}
}


/* Version 2.3 - dedicated sympathetic funeral enquiry journey */
.funeral-contact-page{background:#f5f0e7}
.funeral-contact-hero{padding:142px 0 86px;background:linear-gradient(135deg,#eee6d8,#f9f6ef);border-bottom:1px solid #d9cfbf}
.funeral-contact-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}
.funeral-contact-copy h1{font:400 clamp(2.8rem,5vw,5rem)/1.08 var(--serif);color:#373a35;margin:0 0 24px}
.funeral-contact-copy>p:not(.overline){font:400 1.07rem/1.8 var(--serif);color:#67645d;max-width:680px}
.funeral-contact-quick{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;color:#6b665d;font-size:.9rem}
.funeral-contact-quick a{color:var(--green);font-weight:700}
.funeral-contact-visual{margin:0;background:#fff;padding:20px;box-shadow:0 22px 60px rgba(55,48,38,.13)}
.funeral-contact-visual img{width:100%;max-height:500px;object-fit:contain;background:#ece4d8}
.funeral-contact-visual figcaption{padding:13px 2px 0;color:#777064;font:400 .86rem var(--serif)}
.funeral-form-section{background:#f5f0e7}
.funeral-form-grid{display:grid;grid-template-columns:1.14fr .86fr;gap:34px;align-items:start}
.funeral-form-panel,.funeral-reassurance{background:#fff;border:1px solid #ded5c7;box-shadow:0 20px 55px rgba(55,48,38,.09)}
.funeral-form-panel{padding:42px}
.funeral-form-panel h2,.funeral-reassurance h2{font:400 clamp(2rem,3.2vw,3.15rem)/1.2 var(--serif);margin:0 0 18px;color:#373a35}
.funeral-enquiry-form .form-grid input,.funeral-enquiry-form .form-grid textarea{background:#fcfaf6}
.funeral-upload{border:1px solid #8c7c64;color:#5f5341;background:#fff}
.funeral-upload:hover{background:#ece4d8}
.funeral-submit{background:#6f675c;color:#fff}
.funeral-submit:hover{background:#595249}
.funeral-reassurance{padding:38px}
.reassurance-step{display:grid;grid-template-columns:46px 1fr;gap:17px;padding:24px 0;border-bottom:1px solid #e6ded2}
.reassurance-step:last-of-type{border-bottom:0}
.reassurance-step>span{font:400 1.15rem var(--serif);color:var(--gold)}
.reassurance-step h3{font:400 1.22rem var(--serif);margin:0 0 7px;color:#403e39}
.reassurance-step p{color:#706b62;margin:0;font-size:.92rem}
.funeral-note{margin-top:28px;padding:20px;background:#eee7dc;border-left:3px solid var(--gold)}
.funeral-note p{margin:0;color:#625d54}
.funeral-note a{color:var(--green);font-weight:700}
.funeral-contact-page .turnstile-placeholder{background:#f3eee6;border-color:#c8bdad}
@media(max-width:1000px){.funeral-contact-hero-grid,.funeral-form-grid{grid-template-columns:1fr}.funeral-contact-visual{max-width:700px}}
@media(max-width:640px){.funeral-contact-hero{padding:118px 0 65px}.funeral-form-panel,.funeral-reassurance{padding:27px 20px}.funeral-contact-hero-grid{gap:38px}}

/* Version 2.4 - funeral contact page aligned with the main Glenside website */
.funeral-contact-hero{
  min-height:560px;
  padding:155px 0 85px;
  background:linear-gradient(135deg,#052f21,#0a4632);
  color:#fff;
}
.funeral-contact-hero .contact-hero-copy{
  max-width:820px;
}
.funeral-contact-hero h1{
  font:400 clamp(3rem,6vw,6rem)/1.02 var(--serif);
  margin:120px 0 20px;
}
.funeral-contact-hero .contact-hero-copy>p:not(.overline){
  max-width:700px;
  font:400 1.15rem/1.75 var(--serif);
  color:#d6e0db;
}
.funeral-contact-main,
.funeral-enquiry-main{
  background:#f6f2e9;
}
.funeral-contact-panel,
.funeral-enquiry-panel{
  background:#fff;
  border:1px solid #e2dbcf;
  box-shadow:var(--shadow);
}
.funeral-contact-panel h2,
.funeral-enquiry-panel h2{
  font:400 clamp(2rem,3.2vw,3.2rem)/1.2 var(--serif);
}
.funeral-contact-image-compact{
  width:100%;
  max-height:360px !important;
  object-fit:contain !important;
  object-position:center;
  background:#eee7da;
  padding:18px;
}
.funeral-contact-layout,
.funeral-enquiry-layout{
  align-items:start;
}
@media(max-width:640px){
  .funeral-contact-hero{
    padding:135px 0 70px;
  }
  .funeral-contact-hero h1{
    margin-top:100px;
  }
  .funeral-contact-image-compact{
    max-height:280px !important;
    padding:12px;
  }
}


/* Version 2.4a - final refinement */
.funeral-contact-hero .contact-latent-logo{
    width:180px !important;
    max-width:20vw !important;
    top:-28px !important;
    left:-4px !important;
    opacity:.16 !important;
}
.funeral-contact-hero .overline{
    margin-top:70px !important;
    display:block;
}
.funeral-contact-hero h1{
    margin-top:22px !important;
}
@media(max-width:640px){
 .funeral-contact-hero .contact-latent-logo{
    width:140px !important;
    max-width:42vw !important;
    top:-12px !important;
 }
 .funeral-contact-hero .overline{
    margin-top:52px !important;
 }
}

@media(max-width:640px){
 .hero .overline{color:#fff!important;text-shadow:0 2px 10px rgba(0,0,0,.65)}
}
.jonathan-panel>img{object-position:center top}


/* =========================================================
   Version 3.2 Production Polish
   Contact pages: consistent desktop/mobile Glenside identity
   ========================================================= */

/* Shared contact hero identity */
.contact-page .contact-hero,
.funeral-contact-page .funeral-contact-hero{
  background:
    radial-gradient(circle at 84% 12%, rgba(210,190,128,.12), transparent 34%),
    linear-gradient(135deg,#052f21 0%,#0a4632 100%) !important;
  border-bottom:1px solid rgba(215,190,130,.35);
  color:#fff;
}
.contact-page .contact-hero-copy,
.funeral-contact-page .contact-hero-copy{
  position:relative;
  max-width:820px;
}
.contact-page .contact-latent-logo,
.funeral-contact-page .contact-latent-logo{
  width:280px !important;
  max-width:30vw !important;
  left:0 !important;
  top:-64px !important;
  opacity:.18 !important;
  filter:none !important;
  object-fit:contain;
  pointer-events:none;
}
.contact-page .contact-hero .overline,
.funeral-contact-page .funeral-contact-hero .overline{
  color:#d7be82 !important;
  margin-top:86px !important;
  letter-spacing:.16em;
}
.contact-page .contact-hero h1,
.funeral-contact-page .funeral-contact-hero h1{
  color:#fff !important;
  margin:18px 0 20px !important;
}
.contact-page .contact-hero-copy>p:not(.overline),
.funeral-contact-page .funeral-contact-hero .contact-hero-copy>p:not(.overline){
  color:#d6e0db !important;
}
.contact-page .contact-quick,
.funeral-contact-page .contact-quick{
  color:#d6e0db;
}
.contact-page .contact-quick a,
.funeral-contact-page .contact-quick a{
  color:#fff;
}

/* Main panels retain the same premium visual language on every screen */
.contact-page-main,
.funeral-form-section{
  background:
    linear-gradient(rgba(247,243,234,.96),rgba(247,243,234,.96)),
    radial-gradient(circle at 10% 10%,rgba(215,190,130,.18),transparent 35%) !important;
}
.contact-form-panel,
.jonathan-panel,
.funeral-form-panel,
.funeral-reassurance{
  border:1px solid #ded5c7 !important;
  border-top:4px solid var(--gold) !important;
  border-radius:2px;
}
.contact-form-panel .label,
.jonathan-panel .label,
.funeral-form-panel .label,
.funeral-reassurance .label{
  color:var(--green);
}
.contact-form-panel h2,
.jonathan-panel h2,
.funeral-form-panel h2,
.funeral-reassurance h2{
  color:#173a2d;
}
.jonathan-panel>img{
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.funeral-submit,
.funeral-upload{
  background:var(--green) !important;
  color:#fff !important;
  border-color:var(--green) !important;
}
.funeral-submit:hover,
.funeral-upload:hover{
  background:#0b4b35 !important;
}

/* Mobile should feel like the desktop, not a stripped-back form */
@media(max-width:640px){
  .contact-page,
  .funeral-contact-page{
    background:#f6f2e9;
  }

  .contact-page .site-header,
  .funeral-contact-page .site-header{
    background:rgba(4,34,24,.97);
    border-bottom:1px solid rgba(215,190,130,.28);
  }

  .contact-page .menu-button,
  .funeral-contact-page .menu-button{
    color:#fff;
    border-color:rgba(255,255,255,.38);
  }

  .contact-page .contact-hero,
  .funeral-contact-page .funeral-contact-hero{
    min-height:520px;
    padding:118px 0 62px !important;
  }

  .contact-page .contact-latent-logo,
  .funeral-contact-page .contact-latent-logo{
    width:145px !important;
    max-width:46vw !important;
    left:0 !important;
    top:-24px !important;
    opacity:.18 !important;
  }

  .contact-page .contact-hero .overline,
  .funeral-contact-page .funeral-contact-hero .overline{
    margin-top:72px !important;
    font-size:.68rem;
    line-height:1.45;
  }

  .contact-page .contact-hero h1,
  .funeral-contact-page .funeral-contact-hero h1{
    margin:16px 0 18px !important;
    font-size:clamp(2.5rem,13vw,3.7rem) !important;
    line-height:1.08 !important;
  }

  .contact-page .contact-hero-copy>p:not(.overline),
  .funeral-contact-page .funeral-contact-hero .contact-hero-copy>p:not(.overline){
    font-size:1rem !important;
    line-height:1.7 !important;
  }

  .contact-quick{
    display:grid !important;
    gap:8px !important;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.17);
  }

  .contact-page-main,
  .funeral-form-section{
    padding-top:52px !important;
    padding-bottom:60px !important;
  }

  .contact-page-grid,
  .funeral-form-grid{
    gap:24px !important;
  }

  .contact-form-panel,
  .jonathan-panel,
  .funeral-form-panel,
  .funeral-reassurance{
    box-shadow:0 16px 40px rgba(18,42,31,.12) !important;
  }

  .contact-form-panel,
  .funeral-form-panel,
  .funeral-reassurance,
  .jonathan-panel-copy{
    padding:28px 20px !important;
  }

  .jonathan-panel>img{
    max-height:none;
    aspect-ratio:1.36/1;
    object-fit:cover;
    object-position:center 18%;
  }

  .form-grid input,
  .form-grid textarea,
  .form-grid select{
    min-height:48px;
    background:#fff;
    border-color:#c8c0b4;
  }

  .form-grid textarea{
    min-height:170px;
  }

  .form-support-row{
    padding:18px;
    background:#f3eee4;
    border-left:3px solid var(--gold);
  }

  .glenside-contact-form>.btn,
  .funeral-submit,
  .funeral-upload{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .cf-turnstile{
    margin:20px 0;
    max-width:100%;
    overflow:hidden;
  }

  .contact-details-band{
    background:
      radial-gradient(circle at 90% 10%,rgba(215,190,130,.1),transparent 38%),
      #062f21;
  }

  .contact-details-grid>div{
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,.14);
  }

  .contact-details-grid>div:last-child{
    border-bottom:0;
  }

  /* Funeral logo correction: smaller, correctly proportioned and clear of copy */
  .funeral-contact-page .contact-latent-logo{
    width:132px !important;
    max-width:42vw !important;
    top:-18px !important;
    left:0 !important;
  }

  .funeral-contact-page .funeral-contact-hero .overline{
    margin-top:68px !important;
  }

  .funeral-reassurance{
    background:#fff;
  }

  .reassurance-step{
    padding:18px 0;
    border-bottom:1px solid #e6dfd4;
  }

  .reassurance-step:last-of-type{
    border-bottom:0;
  }
}

.hub-sub-link{display:block;margin-top:14px;font-size:.82rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}

.resource-preview{background:#f1eadf}
.resource-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.resource-preview-grid article{background:#fff;border:1px solid #ded5c7;border-top:4px solid var(--gold);padding:26px;box-shadow:0 12px 28px rgba(31,48,40,.07)}
.resource-preview-grid h3{font:400 1.3rem var(--serif);color:#173a2d;margin:0 0 12px}
.resource-preview-grid p{color:var(--muted)}
.resource-preview-grid span{display:inline-block;margin-top:10px;font-weight:700;color:#a17f3d}
.resource-preview-action{margin-top:28px;text-align:center}
@media(max-width:980px){.resource-preview-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.resource-preview-grid{grid-template-columns:1fr}}

@media(max-width:640px){
 a[href*="wetransfer"].btn,.upload-artwork-button,.funeral-upload,.contact-page a[href*="wetransfer"],.resource-centre-page a[href*="wetransfer"]{
 background:#0b4935!important;color:#fff!important;border-color:#0b4935!important;opacity:1!important}
 .contact-page .contact-latent-logo,.funeral-contact-page .contact-latent-logo{
 width:132px!important;max-width:42vw!important;height:auto!important;object-fit:contain!important;top:-18px!important;left:0!important;opacity:.16!important}
 .contact-page .contact-hero .overline,.funeral-contact-page .funeral-contact-hero .overline{margin-top:72px!important}
}


/* Fourth and Fifth Generations leadership note */
.legacy-leadership{
  max-width:980px;
  margin:34px auto 0;
  padding:28px 30px;
  background:#f5efe3;
  border-left:4px solid var(--gold);
  text-align:center;
}
.legacy-leadership h3{
  margin:0 0 12px;
  color:#173a2d;
  font:400 1.45rem/1.35 var(--serif);
}
.legacy-leadership p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
@media(max-width:680px){
  .legacy-leadership{
    margin-top:24px;
    padding:22px 20px;
    text-align:left;
  }
}


/* =========================================================
   Glenside Website V4.0 master refinements
   ========================================================= */

/* Fourth and Fifth Generations */
#legacy .centre h2{
  line-height:1.2;
}
.legacy-leadership{
  text-align:center !important;
}
.legacy-leadership h3,
.legacy-leadership p{
  margin-left:auto;
  margin-right:auto;
}
.legacy-leadership p{
  max-width:900px;
}

/* Mobile Upload Artwork buttons */
@media(max-width:640px){
  a[href*="wetransfer"],
  a[href*="wetransfer"].btn,
  .upload-artwork-button,
  .funeral-upload{
    background:#0b4935 !important;
    color:#fff !important;
    border-color:#0b4935 !important;
    opacity:1 !important;
  }

  .contact-page .contact-latent-logo,
  .funeral-contact-page .contact-latent-logo{
    width:132px !important;
    max-width:42vw !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:left top !important;
    top:-18px !important;
    left:0 !important;
    opacity:.16 !important;
  }
}


/* =========================================================
   Glenside V4.1 visual enhancement patch
   ========================================================= */

/* Homepage: the Speedmaster becomes slightly stronger while
   the large latent mark becomes smaller and quieter. */
.hero{
  overflow:hidden;
}
.hero-img{
  transform-origin:center center;
  animation:glensideHeroBreath 28s ease-in-out infinite alternate;
}
.hero-watermark{
  width:435px !important;
  opacity:.18 !important;
}
@keyframes glensideHeroBreath{
  from{transform:scale(1)}
  to{transform:scale(1.028)}
}
@media(prefers-reduced-motion:reduce){
  .hero-img{animation:none !important}
}

/* Full-colour footer branding on the dark footer. */
.footer-brand img{
  filter:none !important;
  opacity:1 !important;
  width:245px;
  max-width:100%;
  background:rgba(255,255,255,.94) !important;
  padding:12px 16px;
  border-radius:3px;
}

/* Subtle image watermarks behind previously solid page headers. */
.contact-page .contact-hero{
  position:relative;
  isolation:isolate;
  background-image:
    linear-gradient(90deg,rgba(2,38,26,.94),rgba(2,52,36,.82)),
    url("assets/glenside-house-watermark.jpg") !important;
  background-size:cover !important;
  background-position:center 48% !important;
}
.funeral-contact-page .funeral-contact-hero{
  position:relative;
  isolation:isolate;
  background-image:
    linear-gradient(90deg,rgba(17,45,36,.93),rgba(39,68,56,.76)),
    url("assets/funeral-order-service.jpg") !important;
  background-size:cover !important;
  background-position:center 42% !important;
}
.contact-page .contact-hero:after,
.funeral-contact-page .funeral-contact-hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.22));
}

/* Five-film layout: two films above, then three in line below. */
.film-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:20px !important;
}
.film-grid .film{
  grid-column:span 2;
}
.film-grid .film:nth-child(1),
.film-grid .film:nth-child(2){
  grid-column:span 3;
}
.film-grid .film video{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
@media(max-width:900px){
  .film-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .film-grid .film,
  .film-grid .film:nth-child(1),
  .film-grid .film:nth-child(2){
    grid-column:span 1;
  }
  .film-grid .film:first-child{
    grid-column:1/-1;
  }
}
@media(max-width:620px){
  .film-grid{
    grid-template-columns:1fr !important;
  }
  .film-grid .film,
  .film-grid .film:first-child{
    grid-column:1 !important;
  }
}


/* =========================================================
   V4.2 Inside Glenside video alignment
   Two equal cards centred above three equal cards.
   ========================================================= */
.film-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}
.film-grid .film{
  grid-column:span 2 !important;
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
.film-grid .film:nth-child(1){
  grid-column:2 / span 2 !important;
}
.film-grid .film:nth-child(2){
  grid-column:4 / span 2 !important;
}
.film-grid .film video{
  width:100% !important;
  aspect-ratio:16/9 !important;
  height:auto !important;
  object-fit:cover !important;
}
.film-grid .film > div{
  flex:1 1 auto !important;
}
@media(max-width:900px){
  .film-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .film-grid .film,
  .film-grid .film:nth-child(1),
  .film-grid .film:nth-child(2){
    grid-column:span 1 !important;
  }
  .film-grid .film:last-child{
    grid-column:1/-1 !important;
    max-width:calc(50% - 10px);
    width:100%;
    justify-self:center;
  }
}
@media(max-width:620px){
  .film-grid{
    grid-template-columns:1fr !important;
  }
  .film-grid .film,
  .film-grid .film:nth-child(1),
  .film-grid .film:nth-child(2),
  .film-grid .film:last-child{
    grid-column:1 !important;
    max-width:none !important;
  }
}
\n\n/* =========================================================\n   Glenside V4.3 refinement patch\n   ========================================================= */\n\n/* Image-backed section hero panels with slow, restrained motion. */\n.section-hero-panel{\n  position:relative;\n  isolation:isolate;\n  min-height:300px;\n  display:flex;\n  align-items:center;\n  overflow:hidden;\n  margin:0 0 34px;\n  padding:50px 44px;\n  border:1px solid rgba(215,190,130,.28);\n}\n.section-hero-panel:before{\n  content:\"\";\n  position:absolute;\n  inset:-3%;\n  z-index:-2;\n  background-size:cover;\n  background-position:center;\n  animation:glensideSectionHero 24s ease-in-out infinite alternate;\n}\n.section-hero-shade{\n  position:absolute;\n  inset:0;\n  z-index:-1;\n  background:linear-gradient(90deg,rgba(2,38,26,.94),rgba(2,52,36,.72));\n}\n.pressroom-hero-panel:before{background-image:url(\"assets/hero-speedmaster-5colour.jpg\")}\n.customer-hero-panel:before{background-image:url(\"assets/business-cards.jpg\")}\n.section-hero-panel .heading-row{width:100%;margin:0}\n@keyframes glensideSectionHero{from{transform:scale(1)}to{transform:scale(1.035)}}\n@media(prefers-reduced-motion:reduce){.section-hero-panel:before{animation:none}}\n\n.story-actions{margin-top:24px;flex-wrap:wrap}\n.story-actions .btn{min-width:190px;text-align:center}\n\n/* Five-video balance: two equal cards above, three equal cards below. */\n.film-grid{\n  display:grid !important;\n  grid-template-columns:repeat(6,minmax(0,1fr)) !important;\n  gap:20px !important;\n  align-items:stretch !important;\n}\n.film-grid .film{\n  grid-column:span 2 !important;\n  display:flex !important;\n  flex-direction:column !important;\n  height:100% !important;\n}\n.film-grid .film:nth-child(1){grid-column:2 / span 2 !important}\n.film-grid .film:nth-child(2){grid-column:4 / span 2 !important}\n.film-grid .film video{width:100% !important;aspect-ratio:16/9 !important;object-fit:cover !important}\n.film-grid .film > div{flex:1 1 auto !important}\n\n@media(max-width:900px){\n  .section-hero-panel{min-height:260px;padding:38px 30px}\n  .film-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}\n  .film-grid .film,.film-grid .film:nth-child(1),.film-grid .film:nth-child(2){grid-column:span 1 !important}\n  .film-grid .film:last-child{grid-column:1/-1 !important;max-width:calc(50% - 10px);width:100%;justify-self:center}\n}\n@media(max-width:620px){\n  .section-hero-panel{min-height:300px;padding:34px 22px;margin-bottom:26px}\n  .section-hero-panel .heading-row{display:block}\n  .section-hero-panel .heading-row>p{margin-top:16px}\n  .film-grid{grid-template-columns:1fr !important}\n  .film-grid .film,.film-grid .film:nth-child(1),.film-grid .film:nth-child(2),.film-grid .film:last-child{grid-column:1 !important;max-width:none !important}\n  .customer-hub{padding-bottom:88px !important}\n  .hub-grid article:last-child{margin-bottom:30px !important}\n  .hub-grid article:last-child .btn{margin-bottom:14px !important}\n}\n

/* =========================================================
   Glenside V4.4 hero consistency and mobile spacing
   ========================================================= */

/* Main homepage hero: quicker, still restrained movement. */
.hero-img{
  transform-origin:center center !important;
  animation:glensideHeroBreathV44 18s ease-in-out infinite alternate !important;
}
@keyframes glensideHeroBreathV44{
  from{transform:scale(1)}
  to{transform:scale(1.03)}
}
@media(prefers-reduced-motion:reduce){
  .hero-img{animation:none !important}
}

/* Latent Glenside mark: 85% of the previous size and slightly stronger. */
.hero-watermark{
  width:370px !important;
  max-width:38vw !important;
  opacity:.23 !important;
}

/* Every dark solid heading panel now uses a representative image. */
.section-hero-panel{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background:#073d2c !important;
}
.section-hero-panel::before{
  content:"" !important;
  position:absolute !important;
  inset:-4% !important;
  z-index:-2 !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center !important;
  animation:glensideSectionHeroV44 18s ease-in-out infinite alternate !important;
}
.section-hero-panel .section-hero-shade{
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  background:linear-gradient(90deg,rgba(2,38,26,.94),rgba(2,52,36,.68)) !important;
}
.pressroom-hero-panel::before{
  background-image:url("assets/hero-speedmaster-5colour.jpg") !important;
  background-position:center 52% !important;
}
.customer-hero-panel::before{
  background-image:url("assets/business-cards.jpg") !important;
  background-position:center 46% !important;
}
@keyframes glensideSectionHeroV44{
  from{transform:scale(1)}
  to{transform:scale(1.045)}
}
@media(prefers-reduced-motion:reduce){
  .section-hero-panel::before{animation:none !important}
}

/* Representative imagery behind the remaining solid-colour feature areas. */
.principles{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(rgba(247,243,234,.94),rgba(247,243,234,.94)),
    url("assets/typecase.jpg") center/cover no-repeat !important;
}
.customer-hub{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(rgba(3,47,33,.96),rgba(3,47,33,.96)),
    url("assets/business-cards.jpg") center/cover no-repeat !important;
}
.pressroom{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(rgba(3,47,33,.96),rgba(3,47,33,.96)),
    url("assets/hero-speedmaster-5colour.jpg") center/cover no-repeat !important;
}
.funeral{
  background:
    linear-gradient(rgba(238,231,218,.93),rgba(238,231,218,.93)),
    url("assets/funeral-order-service.jpg") center/cover no-repeat !important;
}
.community{
  background:
    linear-gradient(rgba(247,243,234,.94),rgba(247,243,234,.94)),
    url("assets/community-rugby.jpg") center/cover no-repeat !important;
}

/* Mobile: create a deliberate breathing space below Make a Payment. */
@media(max-width:640px){
  .hero .actions{
    padding-bottom:56px !important;
    margin-bottom:0 !important;
  }
  .hero .actions .btn:last-child{
    margin-bottom:0 !important;
  }
  .hero-watermark{
    width:255px !important;
    max-width:68vw !important;
    opacity:.22 !important;
  }
}


/* =========================================================
   Glenside V4.5 subtle section-background refinement
   ========================================================= */

/* Pressroom and Customer Hub heading boxes return to clean green panels. */
.pressroom-hero-panel::before,
.customer-hero-panel::before{
  background-image:none !important;
  animation:none !important;
  transform:none !important;
}

.pressroom-hero-panel,
.customer-hero-panel{
  background:
    linear-gradient(135deg,rgba(4,62,44,.98),rgba(8,78,55,.98)) !important;
}

.pressroom-hero-panel .section-hero-shade,
.customer-hero-panel .section-hero-shade{
  background:
    radial-gradient(circle at 84% 18%,rgba(215,190,130,.10),transparent 32%),
    linear-gradient(90deg,rgba(2,38,26,.96),rgba(2,52,36,.84)) !important;
}

/* Keep only a restrained latent image across the full sections. */
.pressroom{
  background:
    linear-gradient(rgba(3,47,33,.975),rgba(3,47,33,.975)),
    url("assets/hero-speedmaster-5colour.jpg") center/cover no-repeat !important;
}

.customer-hub{
  background:
    linear-gradient(rgba(3,47,33,.978),rgba(3,47,33,.978)),
    url("assets/business-cards.jpg") center/cover no-repeat !important;
}

/* The Glenside Approach works better as a clean, calm section. */
.principles{
  background:#f7f3ea !important;
}

/* Mobile keeps the same restrained treatment. */
@media(max-width:640px){
  .pressroom,
  .customer-hub{
    background-position:center !important;
  }
}


/* =========================================================
   Glenside V4.6 transparent heading panels
   ========================================================= */

/* Let the restrained latent section image show through naturally.
   The smaller heading container itself has no visible fill, border or box. */
.pressroom-hero-panel,
.customer-hero-panel{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.pressroom-hero-panel::before,
.customer-hero-panel::before{
  display:none !important;
  content:none !important;
}

.pressroom-hero-panel .section-hero-shade,
.customer-hero-panel .section-hero-shade{
  display:none !important;
  background:none !important;
}

.pressroom-hero-panel .heading-row,
.customer-hero-panel .heading-row{
  position:relative !important;
  z-index:1 !important;
  width:100% !important;
}

/* Keep text readable against the latent section background without
   introducing another visible box. */
.pressroom-hero-panel .heading-row.light h2,
.customer-hero-panel .heading-row.light h2{
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.28) !important;
}

.pressroom-hero-panel .heading-row.light > p,
.customer-hero-panel .heading-row.light > p{
  color:#d7e0db !important;
  text-shadow:0 2px 10px rgba(0,0,0,.24) !important;
}

.pressroom-hero-panel .label,
.customer-hero-panel .label{
  color:#d9bf7f !important;
}

/* Retain the wider latent image treatment only. */
.pressroom{
  background:
    linear-gradient(rgba(3,47,33,.965),rgba(3,47,33,.965)),
    url("assets/hero-speedmaster-5colour.jpg") center/cover no-repeat !important;
}

.customer-hub{
  background:
    linear-gradient(rgba(3,47,33,.968),rgba(3,47,33,.968)),
    url("assets/business-cards.jpg") center/cover no-repeat !important;
}


/* =========================================================
   Glenside V4.7 subtle visitor counter
   ========================================================= */
.visitor-counter{
  margin-left:auto;
  color:#aebbb4;
  font-size:.74rem;
  letter-spacing:.04em;
  white-space:nowrap;
}
.visitor-counter strong{
  color:#d7be82;
  font-weight:600;
}
@media(max-width:680px){
  .footer-bottom{
    flex-wrap:wrap;
  }
  .visitor-counter{
    width:100%;
    margin:6px 0 0;
    text-align:center;
  }
}


/* =========================================================
   Glenside V4.8 heritage and technology statement
   ========================================================= */
.heritage-technology-statement{
  position:relative;
  padding:30px 20px;
  background:#e9dfcc;
  border-top:1px solid rgba(183,154,82,.45);
  border-bottom:1px solid rgba(183,154,82,.45);
  text-align:center;
}
.heritage-technology-statement p{
  max-width:1050px;
  margin:0 auto;
  color:#0b4935;
  font:400 clamp(1.25rem,2.2vw,2rem)/1.45 var(--serif);
  letter-spacing:.01em;
}
@media(max-width:640px){
  .heritage-technology-statement{
    padding:24px 18px;
  }
  .heritage-technology-statement p{
    font-size:1.2rem;
    line-height:1.5;
  }
}


/* =========================================================
   Glenside V4.8.2 fixed three-line homepage statement
   ========================================================= */
.heritage-technology-statement p span{
  display:block !important;
}
.heritage-technology-statement p span:first-child,
.heritage-technology-statement p span:nth-child(2){
  white-space:nowrap;
}
@media(max-width:480px){
  .heritage-technology-statement p{
    font-size:1.08rem !important;
  }
}


/* =========================================================
   Glenside V5.0 Sprint 2 - The Glenside Story
   Uses the existing Glenside design system.
   ========================================================= */
.story-archive-link{position:relative;z-index:3;padding-top:22px;text-align:right}
.glenside-story-page{background:#f4efe5}
.story-page-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;background:#073f2d}
.story-page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.12)}
.story-page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,45,32,.94),rgba(3,45,32,.67) 55%,rgba(3,45,32,.22))}
.story-page-hero-copy{position:relative;z-index:2;color:#fff;padding:110px 20px 78px}
.story-page-hero-copy h1{font-size:clamp(3.3rem,7vw,6.6rem);line-height:1;margin:.15em 0}
.story-page-hero-copy>p:last-child{max-width:760px;font:400 clamp(1.15rem,2vw,1.65rem)/1.55 var(--serif)}
.narrow-copy{max-width:920px}
.story-page-intro{text-align:center;background:#fbf9f4}
.story-page-intro h2,.archive-copy h2,.living-archive-note h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.2}
.story-page-intro p:last-child,.archive-copy p,.living-archive-note p:last-child{font-size:1.05rem;line-height:1.75}
.archive-entry{background:#f4efe5}
.archive-entry-alt{background:#fbf9f4}
.archive-entry-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:64px;align-items:center}
.archive-entry-grid.reverse .archive-copy{order:2}
.archive-entry-grid.reverse .archive-frame{order:1}
.archive-caption-note{padding:20px 22px;border-left:3px solid #b89547;background:rgba(184,149,71,.1)}
.archive-frame{margin:0;background:#fff;border:1px solid #d8ccb8;box-shadow:0 18px 40px rgba(22,48,39,.08)}
.archive-frame img{display:block;width:100%;height:430px;object-fit:cover}
.archive-frame figcaption{display:flex;flex-direction:column;gap:6px;padding:20px}
.archive-frame figcaption span{color:#68716d;line-height:1.5}
.archive-gallery-section{background:#f4efe5}
.archive-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.archive-gallery .archive-frame img{height:330px}
.archive-gallery-dark{background:#063e2d}
.archive-machinery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.archive-machine-card{background:#084b36;border:1px solid rgba(255,255,255,.14);color:#fff}
.archive-machine-card img,.archive-machine-card video,.archive-coming-soon{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#021d15}
.archive-machine-card>div:last-child{padding:22px}
.archive-machine-card h3{margin:0 0 10px}
.archive-machine-card p{margin:0;color:#d5dfda;line-height:1.55}
.archive-coming-soon{display:flex;align-items:center;justify-content:center;color:#d8bb72;text-transform:uppercase;letter-spacing:.15em}
.timelapse-section{background:#efe5d3}
.timelapse-placeholder{position:relative;overflow:hidden;background:#073f2d}
.timelapse-placeholder>img{display:block;width:100%;height:540px;object-fit:cover;opacity:.58}
.timelapse-placeholder-copy{position:absolute;inset:auto 0 0;padding:70px 38px 34px;color:#fff;background:linear-gradient(transparent,rgba(3,38,27,.95))}
.timelapse-placeholder-copy h3{font-size:clamp(2rem,4vw,3.4rem);margin:.15em 0}
.story-page-closing{position:relative;min-height:640px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.story-page-closing>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story-page-closing-shade{position:absolute;inset:0;background:rgba(3,47,33,.8)}
.story-page-closing-copy{position:relative;z-index:2}
.story-page-closing-copy p{font:400 clamp(2.5rem,5vw,5.2rem)/1.2 var(--serif);margin:0}
.story-page-closing-copy span{display:block;font:400 1.2rem/1.65 var(--serif);margin:28px 0 10px}
.living-archive-note{text-align:center;background:#fbf9f4}
@media(max-width:900px){
  .archive-entry-grid{grid-template-columns:1fr;gap:30px}
  .archive-entry-grid.reverse .archive-copy,.archive-entry-grid.reverse .archive-frame{order:initial}
  .archive-gallery,.archive-machinery-grid{grid-template-columns:1fr}
  .archive-frame img{height:auto;max-height:470px}
}
@media(max-width:680px){
  .story-archive-link{text-align:left}
  .story-page-hero{min-height:560px}
  .story-page-hero-copy{padding:95px 18px 58px}
  .timelapse-placeholder>img{height:420px}
  .timelapse-placeholder-copy{padding:70px 22px 24px}
  .story-page-closing{min-height:560px}
}


/* =========================================================
   Glenside V5.0 Sprint 3
   Full archive images and visitor-facing historical copy
   ========================================================= */

/* Historic photographs and documents are shown in full. */
.glenside-story-page .archive-frame{
  overflow:hidden;
  background:#eee7db;
}
.glenside-story-page .archive-frame img,
.glenside-story-page .archive-gallery .archive-frame img{
  width:100% !important;
  height:auto !important;
  max-height:620px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#eee7db !important;
}

/* Preserve full machinery images and video frames. */
.glenside-story-page .archive-machine-card img,
.glenside-story-page .archive-machine-card video{
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  max-height:520px !important;
  object-fit:contain !important;
  background:#021d15 !important;
}

/* Preserve full Speedmaster and installation imagery. */
.glenside-story-page .timelapse-feature>img{
  display:block;
  width:100%;
  height:auto !important;
  max-height:680px;
  object-fit:contain !important;
  object-position:center !important;
  background:#073f2d;
  opacity:.62;
}
.glenside-story-page .timelapse-feature{
  position:relative;
  overflow:hidden;
  background:#073f2d;
}
.glenside-story-page .timelapse-feature-copy{
  position:absolute;
  inset:auto 0 0;
  padding:70px 38px 34px;
  color:#fff;
  background:linear-gradient(transparent,rgba(3,38,27,.95));
}
.glenside-story-page .timelapse-feature-copy h3{
  font-size:clamp(2rem,4vw,3.4rem);
  margin:.15em 0;
}

/* Replace placeholder styling with a genuine archive exhibit. */
.glenside-story-page .archive-feature-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:280px;
  background:
    linear-gradient(rgba(2,29,21,.58),rgba(2,29,21,.58)),
    url("assets/story/typecase.jpg") center/cover no-repeat;
  color:#d8bb72;
  text-transform:uppercase;
  letter-spacing:.15em;
}
.glenside-story-page .archive-feature-card{
  background:#084b36;
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
}

/* More generous museum-style presentation. */
.glenside-story-page .archive-entry-grid{
  align-items:start;
}
.glenside-story-page .archive-frame figcaption{
  background:#fff;
}
.glenside-story-page .archive-gallery{
  align-items:start;
}

@media(max-width:680px){
  .glenside-story-page .timelapse-feature-copy{
    position:relative;
    padding:28px 22px 24px;
    background:#073f2d;
  }
}


/* =========================================================
   Glenside V5.0 Sprint 4
   Typography aligned with the main Glenside website
   ========================================================= */

/* All page copy uses the same body typeface as the rest of the site. */
.glenside-story-page,
.glenside-story-page p,
.glenside-story-page li,
.glenside-story-page figcaption,
.glenside-story-page span,
.glenside-story-page nav,
.glenside-story-page .btn,
.glenside-story-page .header-cta{
  font-family:var(--sans) !important;
}

/* All display headings use the established Glenside heading typeface. */
.glenside-story-page h1,
.glenside-story-page h2,
.glenside-story-page h3,
.glenside-story-page h4,
.glenside-story-page .story-page-closing-copy p{
  font-family:var(--serif) !important;
}

/* Preserve the established small uppercase labels. */
.glenside-story-page .label,
.glenside-story-page .overline{
  font-family:var(--sans) !important;
  font-weight:700 !important;
  letter-spacing:.15em !important;
}

/* Match the rest of the site's readable body rhythm. */
.glenside-story-page .archive-copy p,
.glenside-story-page .story-page-intro p,
.glenside-story-page .heading-row > p,
.glenside-story-page figcaption span,
.glenside-story-page .archive-machine-card p,
.glenside-story-page .living-archive-note p{
  font-family:var(--sans) !important;
  line-height:1.65 !important;
}

/* Keep quotations and signature heritage statements in the house serif. */
.glenside-story-page .archive-caption-note,
.glenside-story-page .story-page-hero-copy > p:last-child,
.glenside-story-page .story-page-closing-copy span{
  font-family:var(--serif) !important;
}


/* =========================================================
   Glenside V5.0 Sprint 5
   Revised Story hero image and archive statement line breaks
   ========================================================= */

.story-page-hero-shade{
  background:linear-gradient(
    90deg,
    rgba(3,45,32,.82),
    rgba(3,45,32,.55) 55%,
    rgba(3,45,32,.12)
  ) !important;
}

.story-page-intro h2{
  line-height:1.18 !important;
}


/* =========================================================
   Glenside V5.0.6 - Book printing archive section
   ========================================================= */
.book-printing-section{
  background:#fbf9f4;
}
.book-printing-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
.book-printing-card{
  margin:0;
  background:#fff;
  border:1px solid #d8ccb8;
  box-shadow:0 16px 34px rgba(22,48,39,.07);
}
.book-printing-card img{
  display:block;
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
  object-position:center;
  background:#eee7db;
}
.book-printing-card figcaption{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px;
}
.book-printing-card figcaption span{
  color:#68716d;
  line-height:1.5;
}
@media(max-width:1100px){
  .book-printing-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:720px){
  .book-printing-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
  .book-printing-grid{grid-template-columns:1fr;}
}


/* =========================================================
   Glenside V5.0.7 - Community charities and Pendyrus
   ========================================================= */
.community-support-note{
  margin-top:34px;
  padding:30px 34px;
  background:#fbf9f4;
  border-left:4px solid #b89547;
  box-shadow:0 14px 32px rgba(22,48,39,.06);
}
.community-support-note h3{
  margin:.2em 0 .55em;
}
.community-support-note p{
  max-width:900px;
  line-height:1.7;
}
.community-support-note p:last-child{
  margin-bottom:0;
}


/* =========================================================
   Glenside V5.0.8 - Fifth generation story
   ========================================================= */
.fifth-generation-story{
  background:#f4efe5;
}
.fifth-generation-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:64px;
  align-items:start;
}
.fifth-generation-copy h2{
  font-size:clamp(2.2rem,4vw,3.7rem);
  line-height:1.15;
  margin:.2em 0 .15em;
}
.generation-dates{
  margin:0 0 28px;
  color:#8d7137;
  font-weight:700;
}
.fifth-generation-copy p{
  font-size:1.05rem;
  line-height:1.75;
}
.fifth-generation-copy blockquote{
  margin:32px 0;
  padding:26px 30px;
  border-left:4px solid #b89547;
  background:#fbf9f4;
  font-family:var(--serif);
  font-size:1.2rem;
  line-height:1.65;
  color:#173029;
}
.fifth-generation-image{
  margin:0;
  background:#fff;
  border:1px solid #d8ccb8;
  box-shadow:0 18px 40px rgba(22,48,39,.08);
}
.fifth-generation-image img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.fifth-generation-image figcaption{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:20px;
}
.fifth-generation-image figcaption span{
  color:#68716d;
}
@media(max-width:900px){
  .fifth-generation-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .fifth-generation-image{
    max-width:620px;
  }
}


/* =========================================================
   Glenside V5.0.9 - Linotype exhibit and restored ending
   ========================================================= */
.linotype-exhibit{
  background:#fbf9f4;
}
.linotype-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,1fr);
  gap:58px;
  align-items:center;
}
.linotype-copy h2{
  font-size:clamp(2.3rem,4vw,3.8rem);
  margin:.15em 0;
}
.linotype-subtitle{
  margin:0 0 24px;
  color:#8d7137;
  font-weight:700;
}
.linotype-copy p{
  font-size:1.05rem;
  line-height:1.75;
}
.linotype-copy h3{
  margin-top:28px;
}
.linotype-copy blockquote{
  margin:30px 0 0;
  padding:24px 28px;
  border-left:4px solid #b89547;
  background:#f4efe5;
  font-family:var(--serif);
  font-size:1.18rem;
  line-height:1.65;
}
.linotype-media{
  background:#073f2d;
  border:1px solid #d8ccb8;
  box-shadow:0 18px 40px rgba(22,48,39,.1);
}
.linotype-media video{
  display:block;
  width:100%;
  height:auto;
  background:#021d15;
}
.video-note{
  margin:0;
  padding:18px 20px;
  color:#e7eee9;
  line-height:1.55;
  font-size:.92rem;
}

/* The closing statement is once again the final visual moment. */
.story-page-closing-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.story-ending-gp{
  display:block;
  width:clamp(120px,14vw,210px);
  height:auto;
  margin-top:36px;
  opacity:0;
  animation:storyGpKiss 7s ease-in-out infinite;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.18));
}
@keyframes storyGpKiss{
  0%,12%{opacity:0;transform:scale(.97)}
  28%,68%{opacity:.36;transform:scale(1)}
  88%,100%{opacity:0;transform:scale(1.01)}
}
@media(prefers-reduced-motion:reduce){
  .story-ending-gp{
    animation:none;
    opacity:.30;
  }
}
@media(max-width:900px){
  .linotype-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   Glenside V5.0.10 - regression repair
   ========================================================= */

/* Entire service cards link to Contact, including the images. */
.service-grid .service-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.service-grid .service-card-link article{
  height:100%;
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease;
}
.service-grid .service-card-link:hover article,
.service-grid .service-card-link:focus-visible article{
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(15,45,34,.14);
}
.service-grid .service-card-link:focus-visible{
  outline:3px solid #b89547;
  outline-offset:4px;
}

/* Restore the smaller latent Glenside Printing logo on the homepage hero. */
.hero-watermark{
  width:315px !important;
  max-width:31vw !important;
  opacity:.17 !important;
}
@media(max-width:900px){
  .hero-watermark{
    width:275px !important;
    max-width:44vw !important;
    opacity:.15 !important;
  }
}
@media(max-width:640px){
  .hero-watermark{
    width:225px !important;
    max-width:66vw !important;
    opacity:.14 !important;
  }
}

/* Preserve breathing room beneath the homepage buttons. */
.hero .actions{
  margin-bottom:38px !important;
}
@media(max-width:640px){
  .hero .actions{
    padding-bottom:58px !important;
  }
}

/* Restore the complete final heritage moment on The Glenside Story page. */
.story-page-closing{
  position:relative !important;
  min-height:680px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.story-page-closing-copy{
  position:relative !important;
  z-index:3 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
}
.story-page-closing-copy p,
.story-page-closing-copy span,
.story-page-closing-copy .btn,
.story-ending-gp{
  position:relative;
  z-index:4;
}
.story-ending-gp{
  display:block !important;
  width:clamp(125px,14vw,205px) !important;
  height:auto !important;
  margin-top:34px !important;
  opacity:0;
  animation:storyGpSoftKiss 8s ease-in-out infinite !important;
}
@keyframes storyGpSoftKiss{
  0%,10%{opacity:0;transform:scale(.98)}
  28%,67%{opacity:.38;transform:scale(1)}
  88%,100%{opacity:0;transform:scale(1.01)}
}
@media(prefers-reduced-motion:reduce){
  .story-ending-gp{
    animation:none !important;
    opacity:.32 !important;
  }
}


/* =========================================================
   GLENSIDE LIVING ARCHIVE V6.0 - FIRST EDITION
   ========================================================= */
.family-generations{background:#fbf9f4}.generation-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;align-items:start}.generation-card{margin:0;background:#fff;border:1px solid #d8ccb8;box-shadow:0 14px 32px rgba(22,48,39,.07);overflow:hidden}.generation-card img{display:block;width:100%;height:280px;object-fit:contain;background:#eee7db}.generation-card>div,.generation-card.text-card{padding:20px}.generation-number{margin:0 0 8px;color:#9a7c39;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700}.generation-card h3{margin:.1em 0 .55em}.generation-card p{line-height:1.6}.tonypandy-feature{margin:46px 0 0;background:#fff;border:1px solid #d8ccb8}.tonypandy-feature img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;background:#eee7db}.tonypandy-feature figcaption{display:flex;flex-direction:column;gap:6px;padding:20px}.tonypandy-feature figcaption span{color:#68716d}
.tools-of-trade{background:#f4efe5}.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.tool-exhibit{background:#fff;border:1px solid #d8ccb8;box-shadow:0 16px 36px rgba(22,48,39,.07)}.tool-exhibit img{display:block;width:100%;height:360px;object-fit:contain;background:#eee7db}.tool-exhibit>div{padding:22px}.tool-exhibit h3{margin:0 0 10px}.tool-exhibit p{margin:0;line-height:1.65}.paste-up-memory{margin-top:28px;padding:28px 32px;background:#073f2d;color:#fff;border-left:4px solid #b89547}.paste-up-memory h3{margin:0 0 10px}.paste-up-memory p{margin:0;color:#e5ece8;line-height:1.7}.changing-workplace{background:#fbf9f4}.changing-workplace p{font-size:1.05rem;line-height:1.75}
.story-closing-statement{margin:0!important;font-family:var(--serif)!important;font-size:clamp(2.5rem,5vw,5.2rem)!important;line-height:1.18!important}.story-closing-statement span,.story-closing-statement strong,.story-closing-tagline span{display:block!important}.story-closing-tagline{margin:28px 0 10px!important;font-family:var(--serif)!important;font-size:clamp(1.05rem,2vw,1.3rem)!important;line-height:1.6!important}.story-ending-gp{display:none!important}.story-ending-logo{display:block;width:clamp(240px,31vw,430px);height:auto;margin-top:38px;opacity:0;animation:glensideSoftKiss 8s ease-in-out infinite;filter:drop-shadow(0 10px 24px rgba(0,0,0,.2))}@keyframes glensideSoftKiss{0%,10%{opacity:0;transform:scale(.985)}28%,68%{opacity:.82;transform:scale(1)}88%,100%{opacity:0;transform:scale(1.01)}}
@media(prefers-reduced-motion:reduce){.story-ending-logo{animation:none;opacity:.78}}
@media(max-width:1100px){.generation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.tools-grid{grid-template-columns:1fr}.generation-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.generation-grid{grid-template-columns:1fr}.tool-exhibit img{height:auto;max-height:460px}}

.edition-note{text-align:center;padding:10px 20px 18px;background:#052f22;color:rgba(255,255,255,.58);font-size:.78rem;letter-spacing:.08em}


/* =========================================================
   The Living Archive V6.1 proof amendments
   ========================================================= */

/* Five service cards - keep proportions elegant and responsive. */
.service-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.service-grid .service-card-link img{
  object-fit:cover;
}
@media(max-width:1200px){
  .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .service-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:500px){
  .service-grid{grid-template-columns:1fr;}
}

/* Community now has three balanced stories. */
.community-pair{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.community-jonathan .community-image-frame img{
  object-position:center top;
}
@media(max-width:960px){
  .community-pair{grid-template-columns:1fr !important;}
}

/* Approved GP geometric ending graphic. */
.story-ending-gp-approved{
  width:clamp(130px,16vw,220px) !important;
  max-height:330px;
  object-fit:contain;
  border-radius:2px;
  animation:approvedGpSoftKiss 8s ease-in-out infinite !important;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.22)) !important;
}
@keyframes approvedGpSoftKiss{
  0%,10%{opacity:0;transform:scale(.985)}
  28%,68%{opacity:.88;transform:scale(1)}
  88%,100%{opacity:0;transform:scale(1.01)}
}
@media(prefers-reduced-motion:reduce){
  .story-ending-gp-approved{animation:none !important;opacity:.85 !important;}
}

/* Book Printing page */
.book-page-hero{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:var(--green);
}
.book-page-hero>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.85);
}
.book-page-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(3,45,32,.94),rgba(3,45,32,.68) 58%,rgba(3,45,32,.24));
}
.book-page-hero-copy{
  position:relative;
  z-index:2;
  color:#fff;
  padding:115px 20px 78px;
}
.book-page-hero-copy h1{
  font-size:clamp(3.2rem,7vw,6.4rem);
  line-height:1;
  margin:.15em 0;
}
.book-page-hero-copy>p:last-of-type{
  max-width:760px;
  font:400 clamp(1.15rem,2vw,1.6rem)/1.55 var(--serif);
}
.book-page-intro,.book-gallery-section{background:#fbf9f4}
.book-intro-copy>p{
  max-width:900px;
  font-size:1.08rem;
  line-height:1.75;
}
.book-statements{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:36px;
  border:1px solid #d8ccb8;
}
.book-statements div{
  padding:24px;
  border-right:1px solid #d8ccb8;
}
.book-statements div:last-child{border-right:0}
.book-statements strong,.book-statements span{display:block}
.book-statements strong{font:700 1.25rem var(--serif)}
.book-statements span{margin-top:6px;color:var(--muted)}
.book-capability-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.book-capability-grid article{
  padding:28px;
  background:#fff;
  border:1px solid #e1d6c4;
  box-shadow:0 14px 30px rgba(22,48,39,.06);
}
.book-capability-grid h3{margin-top:0}
.book-page-cta{
  text-align:center;
  background:#efe5d3;
}
.book-page-cta .container{max-width:850px}
.book-page-cta h2{
  font-size:clamp(2rem,4vw,3.5rem);
  margin:.2em 0;
}
@media(max-width:900px){
  .book-capability-grid{grid-template-columns:1fr 1fr}
  .book-statements{grid-template-columns:1fr}
  .book-statements div{border-right:0;border-bottom:1px solid #d8ccb8}
  .book-statements div:last-child{border-bottom:0}
}
@media(max-width:560px){
  .book-capability-grid{grid-template-columns:1fr}
}

/* Trusted Partnerships page */
.partnerships-hero{
  padding:150px 0 95px;
  color:#fff;
  background:
    linear-gradient(rgba(3,45,32,.86),rgba(3,45,32,.86)),
    url("assets/partnerships/london-mint-office.jpg") center/cover no-repeat;
}
.partnerships-hero-copy{max-width:880px}
.partnerships-hero h1{
  font-size:clamp(3.1rem,7vw,6.2rem);
  line-height:1;
  margin:.15em 0;
}
.partnerships-hero p:last-child{
  font:400 clamp(1.15rem,2vw,1.55rem)/1.6 var(--serif);
}
.partnership-intro,.partnerships-growth{
  text-align:center;
  background:#fbf9f4;
}
.mint-partnership{
  background:#f4efe5;
}
.mint-partnership>.container{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:56px;
  align-items:center;
}
.mint-feature-image{
  margin:0;
  background:#fff;
  border:1px solid #d8ccb8;
  box-shadow:0 18px 40px rgba(22,48,39,.09);
}
.mint-feature-image img{
  display:block;
  width:100%;
  height:auto;
}
.mint-feature-image figcaption{
  padding:18px 20px;
  color:var(--muted);
}
.mint-story h2{
  font-size:clamp(2.1rem,4vw,3.5rem);
  margin:.2em 0 .45em;
}
.mint-story p{line-height:1.75}
.mint-story blockquote{
  margin:28px 0 0;
  padding:24px 26px;
  border-left:4px solid var(--gold);
  background:#fbf9f4;
  font-family:var(--serif);
  line-height:1.65;
}
@media(max-width:900px){
  .mint-partnership>.container{grid-template-columns:1fr}
}


/* =========================================================
   V6.3 - Tools of the Trade and full book-cover presentation
   ========================================================= */
.tools-of-trade{background:#f4f0e7}
.tools-timeline{display:grid;gap:34px;margin-top:58px}
.trade-exhibit{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
  background:#fff;
  border:1px solid #ddd6ca;
  box-shadow:0 18px 46px rgba(20,31,25,.08);
  overflow:hidden;
}
.trade-exhibit:nth-child(even){grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}
.trade-exhibit:nth-child(even) .trade-media{order:2}
.trade-exhibit:nth-child(even) .trade-copy{order:1}
.trade-exhibit-feature{grid-template-columns:minmax(340px,1fr) minmax(0,1fr)}
.trade-media{
  min-height:330px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e9e2d5;
}
.trade-media img,.trade-media video{
  width:100%;
  height:100%;
  max-height:620px;
  object-fit:contain;
  object-position:center;
}
.trade-copy{padding:clamp(30px,5vw,62px);align-self:center}
.trade-number{
  margin:0 0 4px;
  color:var(--gold);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.trade-era{margin:0 0 14px;color:var(--muted);font-size:.82rem}
.trade-copy h3{
  margin:.1em 0 .6em;
  font-family:var(--serif);
  font-size:clamp(1.8rem,3.2vw,3rem);
  font-weight:400;
  line-height:1.15;
}
.trade-copy p{line-height:1.75}
.trade-mac-panel{
  min-height:380px;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.16),transparent 38%),linear-gradient(145deg,#15271f,#063d2b);
  color:#fff;
}
.trade-mac-panel span{font-family:var(--serif);font-size:clamp(2.4rem,5vw,5rem)}
.tools-closing{max-width:980px;margin:88px auto 0;text-align:center}
.tools-closing p{max-width:760px;margin:0 auto 24px;color:var(--muted);font-size:1.06rem}
.tools-closing h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(2.4rem,5vw,4.8rem);
  font-weight:400;
  line-height:1.18;
  color:var(--green);
}
.book-printing-card img,
.book-gallery-section .book-printing-card img{
  width:100% !important;
  height:460px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#eee7db !important;
}
.book-printing-card:first-child img,
img[src*="cwtch.jpg"]{
  object-fit:contain !important;
  object-position:center !important;
}
@media(max-width:850px){
  .trade-exhibit,.trade-exhibit:nth-child(even),.trade-exhibit-feature{grid-template-columns:1fr}
  .trade-exhibit:nth-child(even) .trade-media,.trade-exhibit:nth-child(even) .trade-copy{order:initial}
  .trade-media{min-height:280px}
}
@media(max-width:560px){
  .book-printing-card img,.book-gallery-section .book-printing-card img{height:auto !important;max-height:520px !important}
}


/* =========================================================
   V6.3.1 - restore approved GP ending after V6.3 merge
   ========================================================= */
.story-ending-gp-final{
  display:block !important;
  width:clamp(180px,22vw,320px) !important;
  height:auto !important;
  max-height:none !important;
  margin:42px auto 0 !important;
  object-fit:contain !important;
  opacity:0;
  border:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 13px 22px rgba(0,0,0,.24));
  animation:gpFinalSoftKiss 13s ease-in-out infinite !important;
}
@keyframes gpFinalSoftKiss{
  0%,18%{
    opacity:0;
    transform:translateY(7px) scale(.985);
  }
  34%,68%{
    opacity:1;
    transform:none;
  }
  86%,100%{
    opacity:0;
    transform:translateY(-2px) scale(1.01);
  }
}
@media(prefers-reduced-motion:reduce){
  .story-ending-gp-final{
    animation:none !important;
    opacity:1 !important;
  }
}


/* =========================================================
   V6.4 - editorial merge, final dedication and archive separation
   ========================================================= */

.story-final-dedication{
  background:#f4f0e7;
  padding:120px 0;
}
.story-final-dedication-grid{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
  gap:clamp(48px,8vw,104px);
  align-items:center;
}
.story-final-dedication-photo{
  margin:0;
  padding:12px;
  background:#fff;
  border:1px solid #ddd6ca;
  box-shadow:0 30px 75px rgba(20,31,25,.16);
}
.story-final-dedication-photo img{
  width:100%;
  height:auto;
  max-height:720px;
  object-fit:contain;
  object-position:center;
}
.story-final-dedication-photo figcaption{
  padding:13px 4px 1px;
  color:var(--muted);
  font-size:.82rem;
}
.story-final-dedication-copy h2{
  margin:.18em 0 .5em;
  font-family:var(--serif);
  font-size:clamp(3rem,6vw,5.8rem);
  font-weight:400;
  line-height:1.05;
  color:var(--green);
}
.story-final-dedication-copy>p:not(.label):not(.story-final-signature){
  font-size:1.08rem;
  line-height:1.82;
  color:#45443f;
}
.story-final-signature{
  margin-top:32px;
  font-family:var(--serif);
  font-size:1.35rem;
  color:var(--green);
}
.story-final-signature span{
  display:block;
  margin-top:5px;
  font-family:var(--sans);
  color:var(--muted);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.tools-closing h2 span{
  display:block;
}
.tools-closing-first{
  font-size:.78em;
  font-weight:400;
  color:rgba(6,61,43,.86);
  margin-bottom:.16em;
}
.tools-closing-second{
  font-size:1em;
  font-weight:400;
  color:var(--green);
}

@media(max-width:860px){
  .story-final-dedication-grid{
    grid-template-columns:1fr;
    gap:38px;
  }
  .story-final-dedication-photo{
    max-width:620px;
  }
}


/* =========================================================
   V6.4.1 - typography lock, persistent menu and homepage spacing
   ========================================================= */

/* Every display heading across the website uses the same Glenside serif. */
h1,
h2,
h3,
h4,
.page-title,
.hero-title,
.section-title,
.heading-row h2,
.centre h2,
.story-page-hero h1,
.archive-hero h1,
.book-page-hero-copy h1,
.partnerships-hero h1,
.mint-story h2,
.tools-closing h2,
.trade-copy h3,
.story-final-dedication-copy h2{
  font-family:var(--serif) !important;
  font-weight:400 !important;
}

/* Keep the white navigation menu present while moving through every page. */
.site-header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  z-index:1000 !important;
  background:rgba(255,255,255,.98) !important;
  border-bottom:1px solid rgba(6,61,43,.14);
  box-shadow:0 6px 18px rgba(20,31,25,.05);
  backdrop-filter:blur(12px);
}

.nav-wrap{
  min-height:82px;
}

.nav-wrap nav{
  display:flex;
  align-items:center;
  gap:22px;
  white-space:nowrap;
}

.nav-wrap nav a{
  font-family:var(--sans);
}

/* Keep Book Printing immediately after Printing Services. */
.nav-wrap nav a[href="book-printing.html"]{
  order:2;
}
.nav-wrap nav a[href="index.html#services"]{
  order:1;
}

/* Add breathing room above the homepage lithographic and digital line. */
.hero-copy .overline{
  margin-top:52px !important;
}

@media(max-width:1120px){
  .nav-wrap{
    gap:16px;
  }
  .nav-wrap nav{
    gap:15px;
    overflow-x:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding-bottom:2px;
  }
  .nav-wrap nav::-webkit-scrollbar{
    display:none;
  }
  .nav-wrap nav a{
    flex:0 0 auto;
  }
}

@media(max-width:760px){
  .site-header{
    position:fixed !important;
  }
  .hero-copy .overline{
    margin-top:34px !important;
  }
}


/* =========================================================
   V6.4.2 - locked navigation order and hero watermark position
   ========================================================= */

/* Final navigation order is set in the HTML on every page. */
.nav-wrap nav{
  gap:26px;
}

/* Move the latent Glenside mark down so it sits between the hero text lines. */
.hero-watermark{
  top:178px !important;
}

/* Keep the mark balanced at narrower desktop and mobile sizes. */
@media(max-width:900px){
  .hero-watermark{
    top:188px !important;
  }
}
@media(max-width:640px){
  .hero-watermark{
    top:200px !important;
  }
}


/* =========================================================
   V6.4.3 - corrected menu sequence and latent-logo position
   ========================================================= */

/*
   Remove the earlier CSS order values. The navigation now follows
   the exact order written in each HTML file.
*/
.nav-wrap nav a,
.nav-wrap nav a[href="index.html#services"],
.nav-wrap nav a[href="index.html#funeral"],
.nav-wrap nav a[href="book-printing.html"],
.nav-wrap nav a[href="our-story.html"],
.nav-wrap nav a[href="trusted-partnerships.html"],
.nav-wrap nav a[href="index.html#community"],
.nav-wrap nav a[href="index.html#pressroom"],
.nav-wrap nav a[href="glenside-archive.html"],
.nav-wrap nav a[href="contact.html"]{
  order:initial !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Keep all menu items together as one continuous menu. */
.nav-wrap nav{
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  gap:22px !important;
}

/*
   Centre the latent Glenside mark in the deliberate space between
   the gold overline and the large heritage heading.
*/
.hero-watermark{
  top:82px !important;
  left:-8px !important;
}

/* Maintain the same visual relationship on smaller screens. */
@media(max-width:900px){
  .hero-watermark{
    top:88px !important;
    left:-4px !important;
  }
}
@media(max-width:640px){
  .hero-watermark{
    top:94px !important;
    left:0 !important;
  }
}


/* =========================================================
   V6.4.4 - index navigation source order lock
   ========================================================= */

/*
   The homepage navigation order is controlled exclusively by the
   sequence of links in index.html. No CSS item-ordering is permitted.
*/
#main-nav > a{
  order:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

#main-nav{
  flex-direction:row !important;
}


/* =========================================================
   V6.4.5 - menu contrast, full-width Book hero and homepage order
   ========================================================= */

/* High-contrast fixed navigation: white menu text on Glenside green. */
.site-header{
  background:rgba(6,61,43,.985) !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 7px 22px rgba(3,28,20,.22) !important;
}

#main-nav > a,
.nav-wrap nav a{
  color:#fff !important;
}

#main-nav > a:hover,
#main-nav > a:focus-visible,
#main-nav > a[aria-current="page"]{
  color:#e2c36f !important;
}

.menu-button{
  color:#fff !important;
  border-color:rgba(255,255,255,.55) !important;
}

.header-cta{
  background:var(--gold) !important;
  color:#fff !important;
  border-color:var(--gold) !important;
}

/* Book Printing hero spans the full viewport and enlarges the cover as needed. */
.book-page-hero{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  min-height:720px !important;
}

.book-page-hero > img{
  width:100vw !important;
  max-width:none !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 34% !important;
  transform:scale(1.08);
}

/* Homepage menu-led feature articles. */
.homepage-book-preview{
  background:#f4f0e7;
}

.homepage-partnership-preview{
  background:#fff;
}

.homepage-feature-grid{
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);
  gap:clamp(42px,7vw,92px);
  align-items:center;
}

.homepage-feature-reverse .homepage-feature-image{
  order:2;
}

.homepage-feature-reverse .homepage-feature-copy{
  order:1;
}

.homepage-feature-image{
  min-height:430px;
  background:#e8e1d5;
  border:1px solid var(--line);
  box-shadow:0 22px 55px rgba(20,31,25,.10);
  overflow:hidden;
}

.homepage-feature-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:contain;
  object-position:center;
}

.homepage-partnership-preview .homepage-feature-image img{
  object-fit:cover;
}

.homepage-feature-copy h2{
  font-family:var(--serif) !important;
  font-weight:400 !important;
  font-size:clamp(2.2rem,4vw,3.8rem);
  line-height:1.16;
}

.homepage-feature-copy p:not(.label){
  max-width:690px;
  line-height:1.75;
  color:var(--muted);
}

@media(max-width:860px){
  .homepage-feature-grid{
    grid-template-columns:1fr;
  }

  .homepage-feature-reverse .homepage-feature-image,
  .homepage-feature-reverse .homepage-feature-copy{
    order:initial;
  }

  .book-page-hero{
    min-height:620px !important;
  }

  .book-page-hero > img{
    transform:scale(1.04);
  }
}

@media(max-width:640px){
  .homepage-feature-image,
  .homepage-feature-image img{
    min-height:320px;
  }

  .book-page-hero{
    min-height:560px !important;
  }
}


/* =========================================================
   V6.4.6 - Old Glenside Book Printing hero
   ========================================================= */

.book-page-hero{
  min-height:720px !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
}

.book-page-hero > img{
  width:100vw !important;
  max-width:none !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 48% !important;
  transform:scale(1.04) !important;
}

.book-page-hero-shade{
  background:linear-gradient(
    90deg,
    rgba(3,45,32,.92),
    rgba(3,45,32,.63) 54%,
    rgba(3,45,32,.24)
  ) !important;
}

@media(max-width:860px){
  .book-page-hero > img{
    object-position:center 50% !important;
    transform:scale(1.02) !important;
  }
}


/* =========================================================
   V7.0.2 - mobile menu repair only
   Desktop navigation is unchanged.
   ========================================================= */

@media (max-width:1000px){

  .site-header{
    overflow:visible !important;
  }

  .site-header .nav-wrap{
    position:relative !important;
    height:74px !important;
    min-height:74px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }

  .site-header .menu-button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:78px !important;
    height:42px !important;
    margin:0 !important;
    padding:9px 15px !important;
    position:relative !important;
    z-index:3002 !important;
    background:#ffffff !important;
    color:#063d2b !important;
    border:1px solid rgba(255,255,255,.82) !important;
    border-radius:2px !important;
    font:700 .82rem/1 var(--sans) !important;
    letter-spacing:.04em !important;
    cursor:pointer !important;
    box-shadow:none !important;
  }

  .site-header .menu-button::before,
  .site-header .menu-button::after{
    content:none !important;
  }

  .site-header #main-nav{
    display:none !important;
    position:absolute !important;
    top:74px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-height:calc(100vh - 74px) !important;
    margin:0 !important;
    padding:8px 0 !important;
    z-index:3001 !important;
    overflow-y:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    white-space:normal !important;
    background:#063d2b !important;
    border:0 !important;
    border-top:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 18px 34px rgba(0,0,0,.28) !important;
  }

  .site-header #main-nav.open{
    display:flex !important;
  }

  .site-header #main-nav > a{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:14px 22px !important;
    flex:0 0 auto !important;
    order:initial !important;
    background:transparent !important;
    color:#ffffff !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
    font:600 .92rem/1.3 var(--sans) !important;
    text-align:left !important;
    white-space:normal !important;
  }

  .site-header #main-nav > a:hover,
  .site-header #main-nav > a:focus-visible,
  .site-header #main-nav > a[aria-current="page"]{
    background:rgba(255,255,255,.07) !important;
    color:#e2c36f !important;
  }

  .site-header .header-cta{
    display:none !important;
  }

  body.mobile-menu-open{
    overflow:hidden !important;
  }
}

@media (max-width:640px){
  .site-header .nav-wrap{
    height:70px !important;
    min-height:70px !important;
  }

  .site-header #main-nav{
    top:70px !important;
    max-height:calc(100vh - 70px) !important;
  }
}


/* =========================================================
   V7.0.4 - Macintosh, closing loop, typography and footer logo
   ========================================================= */

/* Keep the two-line conclusion in the approved Glenside serif. */
.tools-closing h2,
.tools-closing-first,
.tools-closing-second{
  font-family:var(--serif) !important;
  font-weight:400 !important;
}

/* Dedicated Macintosh moment in Our Story. */
.desktop-publishing-moment{
  background:#fff;
}

.desktop-publishing-grid{
  display:grid;
  grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);
  gap:clamp(46px,7vw,92px);
  align-items:center;
}

.desktop-publishing-image{
  margin:0;
  padding:18px;
  background:#f4f0e7;
  border:1px solid #ddd6ca;
  box-shadow:0 20px 52px rgba(20,31,25,.10);
}

.desktop-publishing-image img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

.desktop-publishing-copy h2{
  font-family:var(--serif) !important;
  font-weight:400 !important;
  font-size:clamp(2.3rem,4.3vw,4.1rem);
  line-height:1.12;
}

.desktop-publishing-copy p:not(.label){
  line-height:1.78;
  color:var(--muted);
}

/*
  The closing words and GP hallmark now repeat for visitors who linger.
  The contact button appears after the first complete 14-second loop
  and then remains visible.
*/
.story-closing-loop-one,
.story-closing-loop-two,
.story-ending-gp-final{
  opacity:0;
}

.story-closing-loop-one{
  animation:storyClosingWordsOne 14s ease-in-out infinite;
}

.story-closing-loop-two{
  animation:storyClosingWordsTwo 14s ease-in-out infinite;
}

.story-ending-gp-final{
  animation:storyClosingGp 14s ease-in-out infinite !important;
}

.story-closing-button{
  opacity:0;
  animation:storyClosingButtonReveal .8s ease forwards;
  animation-delay:14s;
}

@keyframes storyClosingWordsOne{
  0%,5%{opacity:0;transform:translateY(8px)}
  12%,28%{opacity:1;transform:none}
  36%,100%{opacity:0;transform:translateY(-4px)}
}

@keyframes storyClosingWordsTwo{
  0%,24%{opacity:0;transform:translateY(8px)}
  34%,50%{opacity:1;transform:none}
  58%,100%{opacity:0;transform:translateY(-4px)}
}

@keyframes storyClosingGp{
  0%,50%{opacity:0;transform:scale(.97)}
  62%,80%{opacity:1;transform:scale(1)}
  90%,100%{opacity:0;transform:scale(1.01)}
}

@keyframes storyClosingButtonReveal{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

/* Reduce the white surround around the Glenside footer logo. */
.footer-brand{
  overflow:hidden;
}

.footer-brand img{
  width:245px !important;
  max-width:100% !important;
  padding:4px 6px !important;
  background:rgba(255,255,255,.96) !important;
  transform:scale(1.08);
  transform-origin:left center;
  margin-left:-4px;
}

@media(max-width:860px){
  .desktop-publishing-grid{
    grid-template-columns:1fr;
  }
}

@media(prefers-reduced-motion:reduce){
  .story-closing-loop-one,
  .story-closing-loop-two,
  .story-ending-gp-final,
  .story-closing-button{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}


/* =========================================================
   V7.0.5 - exact closing typeface and balanced footer logo
   ========================================================= */

.tools-closing h2,
.tools-closing h2 span,
.tools-closing-first,
.tools-closing-second{
  font-family:"Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-style:normal !important;
  font-weight:400 !important;
  letter-spacing:-.025em !important;
  text-transform:none !important;
}

.tools-closing-first{
  font-size:.78em !important;
  line-height:1.18 !important;
}

.tools-closing-second{
  font-size:1em !important;
  line-height:1.18 !important;
}

/*
  Give the homepage footer logo a uniform white surround.
  No scaling, negative margin or uneven crop.
*/
.footer-brand{
  overflow:visible !important;
}

.footer-brand img{
  display:block !important;
  box-sizing:border-box !important;
  width:245px !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:8px !important;
  transform:none !important;
  transform-origin:center !important;
  background:#fff !important;
  border-radius:3px !important;
  object-fit:contain !important;
}


/* =========================================================
   V7.0.6 - Glyn portrait balance and Jonathan wording
   ========================================================= */

/* Increase Glyn's portrait so it balances with the adjoining text. */
.generation-image{
  width:125% !important;
  max-width:none !important;
  margin-left:-12.5% !important;
}

.generation-image img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

@media(max-width:900px){
  .generation-image{
    width:100% !important;
    max-width:680px !important;
    margin-left:0 !important;
  }
}


/* =========================================================
   V7.0.7 - Glyn Easter tribute and authentic quotation styling
   ========================================================= */

.glyn-easter-tribute{
  background:#f4f0e7;
  padding:120px 0;
}

.glyn-easter-tribute-inner{
  max-width:980px;
}

.glyn-easter-tribute h2{
  margin:.18em 0 .55em;
  font-family:"Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-size:clamp(3rem,6vw,5.6rem);
  font-weight:400 !important;
  line-height:1.05;
  color:var(--green);
}

.glyn-easter-copy{
  max-width:850px;
}

.glyn-easter-copy > p{
  font-size:1.08rem;
  line-height:1.82;
  color:#45443f;
}

.glyn-easter-emphasis{
  margin:28px 0 !important;
  font-family:"Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-size:clamp(2rem,4vw,3.6rem) !important;
  font-style:italic;
  color:var(--green) !important;
}

.glyn-easter-closing{
  margin-top:34px !important;
  font-family:"Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-size:clamp(1.55rem,2.6vw,2.25rem) !important;
  font-style:italic;
  color:var(--green) !important;
}

/* Existing quote panels now read clearly as genuine quotations. */
.personal-quote{
  position:relative;
  margin:34px 0;
  padding:34px 38px 28px 58px !important;
  background:#f4efe5;
  border-left:4px solid #b89547 !important;
  color:#26382f;
  font-family:"Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-size:1.18rem !important;
  font-style:italic !important;
  line-height:1.72 !important;
}

.personal-quote::before{
  content:"“";
  position:absolute;
  top:2px;
  left:18px;
  color:#b89547;
  font-family:"Libre Baskerville", Georgia, "Times New Roman", serif;
  font-size:4.5rem;
  font-style:normal;
  line-height:1;
}

.personal-quote::after{
  content:"”";
  display:inline;
  color:#b89547;
}

.personal-quote p{
  display:inline;
  margin:0;
  font:inherit;
}

.personal-quote footer{
  display:block;
  margin-top:20px;
  font-family:var(--sans);
  font-size:.76rem;
  font-style:normal;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--green);
}

.personal-quote footer::before{
  content:"- ";
}

@media(max-width:640px){
  .glyn-easter-tribute{
    padding:82px 0;
  }

  .personal-quote{
    padding:30px 24px 24px 46px !important;
    font-size:1.06rem !important;
  }

  .personal-quote::before{
    left:12px;
    font-size:3.8rem;
  }
}


/* =========================================================
   V7.0.8 - final quote and Easter refinement
   ========================================================= */

/* Remove the green/gold bands and retain a calm cream quotation panel. */
.personal-quote,
.linotype-copy blockquote,
.fifth-generation-copy blockquote{
  border-left:0 !important;
  border-top:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  background:#f4efe5 !important;
}

/* Make all quotation wording read as a genuine spoken quotation. */
.personal-quote,
.personal-quote p,
.linotype-copy blockquote,
.fifth-generation-copy blockquote{
  font-family:"Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-style:italic !important;
  font-weight:400 !important;
}

/* Keep the typographic quotation marks without adding a coloured band. */
.personal-quote::before,
.personal-quote::after{
  color:#8d7747 !important;
}

/* Attribution remains clear and non-italic. */
.personal-quote footer{
  font-family:var(--sans) !important;
  font-style:normal !important;
  font-weight:700 !important;
}

/* Final treatment for the emotional centre of the Easter passage. */
.glyn-easter-emphasis{
  font-family:"Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-style:italic !important;
  font-weight:400 !important;
  font-size:clamp(2.2rem,4vw,3.8rem) !important;
  line-height:1.1 !important;
  text-align:center !important;
  color:var(--green) !important;
  margin:2.5rem 0 !important;
  letter-spacing:-.02em !important;
}


/* =========================================================
   V7.1 - final public proof refinements
   ========================================================= */

/* "Not for my Dad." sits naturally within the narrative, ranged left. */
.glyn-easter-tribute .glyn-easter-copy .glyn-easter-emphasis{
  display:block !important;
  width:100% !important;
  margin:2.25rem 0 !important;
  padding:0 !important;
  font-family:"Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-style:italic !important;
  font-weight:400 !important;
  font-size:clamp(2.2rem,4vw,3.8rem) !important;
  line-height:1.12 !important;
  letter-spacing:-.02em !important;
  text-align:left !important;
  color:var(--green) !important;
  background:transparent !important;
  border:0 !important;
}

/* Restore the differing quotation-panel colours that gave each quote character. */
.personal-quote.quote-panel-cream{
  background:#f4efe5 !important;
}

.personal-quote.quote-panel-stone{
  background:#e9e4da !important;
}

/* Genuine quotations: serif, italic and without a solid band beneath. */
blockquote.personal-quote,
blockquote.personal-quote p,
.fifth-generation-copy blockquote,
.fifth-generation-copy blockquote p,
.linotype-copy blockquote,
.linotype-copy blockquote p{
  font-family:"Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-style:italic !important;
  font-weight:400 !important;
}

blockquote.personal-quote{
  border:0 !important;
  border-left:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

blockquote.personal-quote::before,
blockquote.personal-quote::after{
  color:#8d7747 !important;
}

/* Attribution remains text only - no green block, strip or band. */
blockquote.personal-quote footer{
  display:block !important;
  width:auto !important;
  margin:20px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:var(--green) !important;
  font-family:var(--sans) !important;
  font-style:normal !important;
  font-weight:700 !important;
}

/* Neutralise any inherited decorative band below quotations. */
blockquote.personal-quote + *,
blockquote.personal-quote::marker{
  border-top-color:transparent;
}


/* =========================================================
   V7.3 - final Our Story section order and Easter spacing
   ========================================================= */

.glyn-easter-copy > p{
  margin:0 0 28px !important;
}

.glyn-easter-copy > p:last-child{
  margin-bottom:0 !important;
}

.glyn-easter-emphasis{
  margin:38px 0 34px !important;
  text-align:left !important;
  font-family:"Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-style:italic !important;
  font-weight:400 !important;
}

.story-final-dedication{
  margin-top:0 !important;
}


/* =========================================================
   V7.3.2 - desktop navigation single-line refinement
   ========================================================= */

@media(min-width:1001px){
  .nav-wrap{
    width:min(calc(100% - 28px),1480px) !important;
    gap:16px !important;
  }

  .nav-wrap nav{
    gap:14px !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
  }

  .nav-wrap nav a{
    font-size:.80rem !important;
    white-space:nowrap !important;
    letter-spacing:-.01em !important;
  }

  .header-cta{
    padding-left:17px !important;
    padding-right:17px !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   V7.3.3 - final desktop navigation width correction
   ========================================================= */

@media(min-width:1001px){
  .nav-wrap{
    width:min(calc(100% - 18px),1560px) !important;
    gap:10px !important;
  }

  .nav-wrap nav{
    gap:10px !important;
    flex:1 1 auto !important;
    justify-content:center !important;
    min-width:0 !important;
    white-space:nowrap !important;
  }

  .nav-wrap nav a{
    font-size:.74rem !important;
    line-height:1 !important;
    white-space:nowrap !important;
    letter-spacing:-.018em !important;
    flex:0 0 auto !important;
  }

  .header-cta{
    padding:12px 14px !important;
    font-size:.78rem !important;
    flex:0 0 auto !important;
  }
}


/* =========================================================
   V7.3.4 - definitive single-line desktop navigation
   ========================================================= */
@media(min-width:1001px){
  .site-header .nav-wrap{
    width:calc(100% - 8px) !important;
    max-width:1800px !important;
    gap:6px !important;
  }
  .site-header .nav-wrap nav{
    display:flex !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    gap:7px !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
  }
  .site-header .nav-wrap nav a{
    display:inline-flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
    font-size:.66rem !important;
    line-height:1 !important;
    letter-spacing:-.028em !important;
    padding:0 !important;
  }
  .site-header .header-cta{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    padding:10px 11px !important;
    font-size:.70rem !important;
  }
}


/* =========================================================
   V7.3.6 - readable desktop menu
   ========================================================= */
@media(min-width:1001px){
  .site-header .nav-wrap{
    width:calc(100% - 10px) !important;
    max-width:1800px !important;
    gap:7px !important;
  }

  .site-header .nav-wrap nav{
    display:flex !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    gap:9px !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
  }

  .site-header .nav-wrap nav a{
    display:inline-flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
    font-size:.76rem !important;
    line-height:1.1 !important;
    letter-spacing:-.018em !important;
    padding:0 !important;
  }

  .site-header .header-cta{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    padding:11px 13px !important;
    font-size:.76rem !important;
  }
}


/* =========================================================
   V7.3.7 - approved desktop menu sizing
   ========================================================= */
@media(min-width:1001px){
  .site-header .nav-wrap{
    width:calc(100% - 10px) !important;
    max-width:1800px !important;
    gap:7px !important;
  }

  .site-header .nav-wrap nav{
    display:flex !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    gap:9px !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
  }

  .site-header .nav-wrap nav a{
    display:inline-flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
    font-size:.76rem !important;
    line-height:1.1 !important;
    letter-spacing:-.018em !important;
    padding:0 !important;
  }

  .site-header .header-cta{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    padding:11px 13px !important;
    font-size:.76rem !important;
  }
}


/* =========================================================
   V7.4.0 - unified two-row site navigation and design rhythm
   ========================================================= */
.unified-site-header{
  background:rgba(255,255,255,.985) !important;
  border-bottom:1px solid rgba(6,61,43,.16) !important;
  box-shadow:0 5px 18px rgba(20,31,25,.06) !important;
}
.unified-nav-wrap{
  width:min(calc(100% - 32px),1480px) !important;
  height:94px !important;
  margin:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 0 !important;
}
.unified-main-nav{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:center !important;
  gap:5px !important;
}
.unified-main-nav .nav-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(16px,2.05vw,34px) !important;
  min-height:32px !important;
  white-space:nowrap !important;
}
.unified-main-nav .nav-row a:not(.header-cta){
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:28px !important;
  padding:2px 0 !important;
  font-family:var(--sans) !important;
  font-size:.88rem !important;
  font-weight:600 !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  color:var(--green) !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.unified-main-nav .nav-row a:not(.header-cta)::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease;
}
.unified-main-nav .nav-row a:not(.header-cta):hover::after,
.unified-main-nav .nav-row a[aria-current="page"]::after{
  transform:scaleX(1);
}
.unified-main-nav .nav-row a[aria-current="page"]{
  color:#0b583c !important;
}
.unified-header-cta{
  min-height:31px !important;
  padding:7px 15px !important;
  font-size:.82rem !important;
  line-height:1 !important;
  white-space:nowrap !important;
  border-radius:2px !important;
}

/* Shared visual language across sections. */
main h1, main h2, main h3{
  text-wrap:balance;
}
.btn,.header-cta,.resource-button{
  border-radius:2px !important;
}
.personal-quote,.resource-pressroom-note blockquote,.resource-pressroom-signoff blockquote{
  font-family:var(--serif) !important;
  font-style:italic !important;
}

@media(max-width:1000px){
  .unified-nav-wrap{
    height:82px !important;
    width:min(calc(100% - 40px),1400px) !important;
    justify-content:flex-end !important;
  }
  .unified-nav-wrap .menu-button{
    display:inline-flex !important;
  }
  .unified-main-nav{
    position:absolute !important;
    top:82px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    display:none !important;
    padding:18px 22px 24px !important;
    background:#fff !important;
    border-top:1px solid var(--line) !important;
    box-shadow:0 20px 35px rgba(20,31,25,.14) !important;
    gap:0 !important;
  }
  .unified-main-nav.open,
  .unified-main-nav.is-open,
  .menu-button[aria-expanded="true"] + .unified-main-nav{
    display:block !important;
  }
  .unified-main-nav .nav-row{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    min-height:0 !important;
  }
  .unified-main-nav .nav-row a:not(.header-cta){
    width:100% !important;
    min-height:44px !important;
    padding:11px 4px !important;
    font-size:1rem !important;
    border-bottom:1px solid #eee8dd !important;
  }
  .unified-main-nav .nav-row a:not(.header-cta)::after{display:none !important;}
  .unified-header-cta{
    width:100% !important;
    margin-top:14px !important;
    min-height:46px !important;
    font-size:1rem !important;
  }
}


/* =========================================================
   V7.4.1 - unified archive header and readable mobile menu
   ========================================================= */

/* The Archive header now follows the same white desktop treatment as every page. */
.glenside-archive-page .unified-site-header,
body.archive-page .unified-site-header,
.archive-page .unified-site-header{
  background:rgba(255,255,255,.985) !important;
  border-bottom:1px solid rgba(6,61,43,.16) !important;
}

.glenside-archive-page .unified-main-nav .nav-row a:not(.header-cta),
body.archive-page .unified-main-nav .nav-row a:not(.header-cta),
.archive-page .unified-main-nav .nav-row a:not(.header-cta){
  color:var(--green) !important;
}

.glenside-archive-page .unified-main-nav .nav-row a[aria-current="page"],
body.archive-page .unified-main-nav .nav-row a[aria-current="page"],
.archive-page .unified-main-nav .nav-row a[aria-current="page"]{
  color:var(--green2) !important;
}

/* Strong mobile contrast throughout the site. */
@media(max-width:1000px){
  .unified-nav-wrap .menu-button{
    color:var(--green) !important;
    background:#fff !important;
    border:1px solid rgba(6,61,43,.38) !important;
    font-weight:700 !important;
  }

  .unified-main-nav,
  .site-header .unified-main-nav,
  .archive-page .unified-main-nav{
    background:var(--green) !important;
    border-top:1px solid rgba(255,255,255,.18) !important;
  }

  .unified-main-nav .nav-row a:not(.header-cta),
  .site-header .unified-main-nav .nav-row a:not(.header-cta),
  .archive-page .unified-main-nav .nav-row a:not(.header-cta){
    color:#fff !important;
    background:transparent !important;
    border-bottom:1px solid rgba(255,255,255,.18) !important;
    font-weight:600 !important;
  }

  .unified-main-nav .nav-row a:not(.header-cta):hover,
  .unified-main-nav .nav-row a:not(.header-cta):focus-visible,
  .unified-main-nav .nav-row a[aria-current="page"]{
    color:#f2d889 !important;
    background:rgba(255,255,255,.06) !important;
  }

  .unified-main-nav .unified-header-cta{
    background:var(--gold) !important;
    color:#fff !important;
    border:1px solid var(--gold) !important;
  }
}


/* =========================================================
   V7.4.2 - Glenside Archive top-banner unity
   ========================================================= */

body .site-header.unified-site-header{
  background:rgba(255,255,255,.985) !important;
  border-bottom:1px solid rgba(6,61,43,.16) !important;
  box-shadow:0 5px 18px rgba(20,31,25,.06) !important;
}

body .site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta){
  color:var(--green) !important;
}

body .site-header.unified-site-header .unified-main-nav .nav-row a[aria-current="page"]{
  color:var(--green2) !important;
}

@media(max-width:1000px){
  body .site-header.unified-site-header .unified-main-nav{
    background:var(--green) !important;
  }

  body .site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta){
    color:#fff !important;
  }

  body .site-header.unified-site-header .unified-main-nav .nav-row a[aria-current="page"],
  body .site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta):hover,
  body .site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta):focus-visible{
    color:#f2d889 !important;
  }
}


/* =========================================================
   V7.4.3 - definitive global header unity
   Every page uses the same banner, type size and spacing.
   ========================================================= */

.site-header.unified-site-header{
  position:relative !important;
  z-index:1000 !important;
  width:100% !important;
  background:rgba(255,255,255,.985) !important;
  border-bottom:1px solid rgba(6,61,43,.16) !important;
  box-shadow:0 5px 18px rgba(20,31,25,.06) !important;
}

.site-header.unified-site-header .unified-nav-wrap{
  width:min(calc(100% - 28px),1560px) !important;
  min-height:104px !important;
  height:auto !important;
  margin:0 auto !important;
  padding:10px 0 !important;
  display:flex !important;
  align-items:center !important;
}

.site-header.unified-site-header .unified-main-nav{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
}

.site-header.unified-site-header .unified-main-nav .nav-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:clamp(18px,2.15vw,36px) !important;
  min-height:34px !important;
  white-space:nowrap !important;
}

.site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta){
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:30px !important;
  padding:3px 0 !important;
  color:var(--green) !important;
  background:transparent !important;
  font-family:var(--sans) !important;
  font-size:.94rem !important;
  font-weight:600 !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta)::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-1px !important;
  height:2px !important;
  background:var(--gold) !important;
  transform:scaleX(0) !important;
  transition:transform .2s ease !important;
}

.site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta):hover::after,
.site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta):focus-visible::after,
.site-header.unified-site-header .unified-main-nav .nav-row a[aria-current="page"]::after{
  transform:scaleX(1) !important;
}

.site-header.unified-site-header .unified-main-nav .nav-row a[aria-current="page"]{
  color:var(--green2) !important;
}

.site-header.unified-site-header .unified-header-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:8px 17px !important;
  border:1px solid var(--gold) !important;
  background:var(--gold) !important;
  color:#fff !important;
  font-size:.88rem !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}

@media(max-width:1180px) and (min-width:1001px){
  .site-header.unified-site-header .unified-main-nav .nav-row{
    gap:clamp(12px,1.4vw,20px) !important;
  }
  .site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta){
    font-size:.86rem !important;
  }
}

@media(max-width:1000px){
  .site-header.unified-site-header .unified-nav-wrap{
    width:min(calc(100% - 28px),var(--max)) !important;
    min-height:72px !important;
    padding:8px 0 !important;
  }

  .site-header.unified-site-header .menu-button{
    display:block !important;
    color:var(--green) !important;
    background:#fff !important;
    border:1px solid rgba(6,61,43,.38) !important;
    padding:10px 15px !important;
    font-size:.95rem !important;
    font-weight:700 !important;
  }

  .site-header.unified-site-header .unified-main-nav{
    display:none !important;
    position:absolute !important;
    top:72px !important;
    left:14px !important;
    right:14px !important;
    width:auto !important;
    padding:10px 18px 18px !important;
    background:var(--green) !important;
    box-shadow:var(--shadow) !important;
  }

  .site-header.unified-site-header .unified-main-nav.open{
    display:flex !important;
  }

  .site-header.unified-site-header .unified-main-nav .nav-row{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    min-height:0 !important;
  }

  .site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta){
    width:100% !important;
    min-height:46px !important;
    padding:13px 4px !important;
    border-bottom:1px solid rgba(255,255,255,.18) !important;
    color:#fff !important;
    font-size:1rem !important;
    font-weight:600 !important;
  }

  .site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta)::after{
    display:none !important;
  }

  .site-header.unified-site-header .unified-main-nav .nav-row a[aria-current="page"],
  .site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta):hover,
  .site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta):focus-visible{
    color:#f2d889 !important;
    background:rgba(255,255,255,.06) !important;
  }

  .site-header.unified-site-header .unified-header-cta{
    width:100% !important;
    margin-top:12px !important;
    min-height:46px !important;
    font-size:1rem !important;
  }
}


/* =========================================================
   V7.4.5 - contact-page latent Glenside logo unity
   ========================================================= */

/*
  Contact and funeral contact now use the same approved latent
  Glenside image as the homepage. It sits in the deliberate space
  between the gold overline and the main serif heading.
*/
.contact-page .contact-latent-home-match,
.funeral-contact-page .contact-latent-home-match{
  position:static !important;
  display:block !important;
  width:315px !important;
  max-width:42vw !important;
  height:auto !important;
  margin:20px 0 18px !important;
  opacity:.17 !important;
  filter:blur(.12px) !important;
  object-fit:contain !important;
  object-position:left center !important;
  pointer-events:none !important;
  user-select:none !important;
}

.contact-page .contact-hero .overline,
.funeral-contact-page .funeral-contact-hero .overline{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.contact-page .contact-hero h1,
.funeral-contact-page .funeral-contact-hero h1{
  margin-top:0 !important;
}

@media(max-width:1000px){
  .contact-page .contact-latent-home-match,
  .funeral-contact-page .contact-latent-home-match{
    width:275px !important;
    max-width:54vw !important;
    margin:18px 0 16px !important;
    opacity:.15 !important;
  }
}

@media(max-width:640px){
  .contact-page .contact-latent-home-match,
  .funeral-contact-page .contact-latent-home-match{
    width:225px !important;
    max-width:68vw !important;
    margin:16px 0 14px !important;
    opacity:.14 !important;
  }
}


/* =========================================================
   V7.4.6 - header rhythm and Digital Turning Point
   ========================================================= */
@media(min-width:1001px){
  .site-header.unified-site-header .unified-main-nav{
    gap:14px !important;
  }
  .site-header.unified-site-header .unified-main-nav .nav-row{
    gap:clamp(20px,2.2vw,38px) !important;
  }
  .site-header.unified-site-header .unified-main-nav .nav-row a:not(.header-cta){
    white-space:nowrap !important;
  }
}
@media(max-width:1180px) and (min-width:1001px){
  .site-header.unified-site-header .unified-main-nav{
    gap:11px !important;
  }
  .site-header.unified-site-header .unified-main-nav .nav-row{
    gap:clamp(13px,1.5vw,22px) !important;
  }
}

.digital-turning-point-frame{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:stretch;
  padding:20px;
  background:#f4f0e7;
  border:1px solid rgba(6,61,43,.15);
  box-shadow:0 24px 70px rgba(20,31,25,.12);
}
.digital-turning-point-frame figure{
  margin:0;
  min-height:390px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(6,61,43,.12);
  overflow:hidden;
}
.digital-turning-point-frame img{
  display:block;
  width:100%;
  height:100%;
  max-height:470px;
  object-fit:contain;
  padding:14px;
}
.digital-turning-point-caption{
  grid-column:1 / -1;
  margin:2px 0 0;
  text-align:center;
  color:var(--muted);
  font-family:var(--serif);
  font-style:italic;
  font-size:.94rem;
  line-height:1.6;
}
@media(max-width:760px){
  .digital-turning-point-frame{grid-template-columns:1fr;}
  .digital-turning-point-frame figure{min-height:300px;}
  .digital-turning-point-caption{grid-column:auto;}
}


/* =========================================================
   V7.4.7 - The Monotype Chapter
   ========================================================= */
.monotype-feature{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important;
  background:linear-gradient(145deg,#f7f2e8 0%,#eee4d2 100%);
  border:1px solid rgba(6,61,43,.14);
  box-shadow:0 28px 80px rgba(22,35,29,.11);
}

.monotype-media{
  align-self:stretch;
  background:#10251d;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px;
}

.monotype-video-wrap{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#000;
  box-shadow:0 18px 45px rgba(0,0,0,.25);
}

.monotype-video-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.monotype-video-caption{
  margin:14px 2px 0;
  color:rgba(255,255,255,.82);
  font-size:.89rem;
  line-height:1.55;
}

.monotype-video-caption strong,
.monotype-video-caption span{display:block;}
.monotype-video-caption strong{color:#d6b56e;font-family:var(--serif);font-size:1rem;}

.monotype-subtitle{
  margin:-5px 0 18px !important;
  color:var(--gold-dark,#8b6b2f);
  font-family:var(--serif);
  font-style:italic;
  font-size:1.18rem;
}

.monotype-fact{
  margin-top:24px;
  padding:18px 20px;
  background:rgba(255,255,255,.62);
  border-left:4px solid var(--gold,#b99a55);
}
.monotype-fact strong{
  display:block;
  margin-bottom:5px;
  color:var(--green,#063d2b);
  font-family:var(--serif);
  font-size:1.04rem;
}
.monotype-fact p{margin:0 !important;font-size:.94rem;}

.monotype-family-story{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);
  gap:clamp(28px,5vw,68px);
  align-items:center;
  padding:clamp(34px,5vw,64px);
  background:#fff;
  border-top:1px solid rgba(6,61,43,.12);
}

.monotype-family-copy h3{
  margin:.25rem 0 1rem;
  color:var(--green,#063d2b);
  font-family:var(--serif);
  font-size:clamp(1.7rem,3vw,2.5rem);
}

.monotype-invoice-frame{
  margin:0;
  transform:rotate(.35deg);
  box-shadow:0 22px 55px rgba(21,33,27,.17);
}
.monotype-invoice-frame img{
  width:100%;
  max-height:590px;
  object-fit:contain;
  background:#eee8dc;
}

.monotype-quote{
  grid-column:1/-1;
  margin:0;
  padding:clamp(36px,6vw,72px) clamp(28px,7vw,90px);
  text-align:left;
  background:var(--green,#063d2b);
  color:#fff;
  border:0;
}
.monotype-quote::before{
  content:"From the Pressroom";
  display:block;
  margin-bottom:17px;
  color:#d6b56e;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.monotype-quote p{
  max-width:920px;
  margin:0;
  color:#fff;
  font-family:var(--serif);
  font-size:clamp(1.35rem,2.6vw,2.05rem);
  font-style:italic;
  line-height:1.5;
}
.monotype-quote cite{
  display:block;
  margin-top:18px;
  color:#d6b56e;
  font-family:var(--serif);
  font-style:normal;
}

@media(max-width:900px){
  .monotype-feature{grid-template-columns:1fr !important;}
  .monotype-family-story{grid-template-columns:1fr;}
  .monotype-media{min-height:auto;}
}

@media(max-width:620px){
  .monotype-media{padding:10px;}
  .monotype-family-story{padding:30px 20px;}
  .monotype-quote{padding:38px 22px;}
}


/* =========================================================
   V7.5 - The Second Revolution
   ========================================================= */
.print-era-divider{grid-column:1/-1;margin:38px 0 0;padding:clamp(62px,8vw,112px) clamp(28px,8vw,110px);color:#fff;text-align:center;background:radial-gradient(circle at 78% 18%,rgba(207,177,105,.14),transparent 32%),linear-gradient(135deg,#102d22,#063d2b);border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.print-era-divider-inner{max-width:980px;margin:auto}.print-era-kicker{margin:0 0 10px;color:#d8ba72;font-size:.76rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.print-era-divider h2{margin:0;color:#fff;font-size:clamp(3rem,6vw,6rem);line-height:1.04}.print-era-subtitle{margin:12px 0 28px;color:#d8ba72;font:italic 400 clamp(1.35rem,2.5vw,2rem)/1.45 var(--serif)}
.print-era-divider-inner>p:not(.print-era-kicker):not(.print-era-subtitle){max-width:850px;margin:0 auto 15px;color:#dbe5df;font-size:1.03rem;line-height:1.78}
.printing-britain-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);gap:0;background:#f7f2e8;border:1px solid #d9cfbd;box-shadow:0 24px 64px rgba(20,31,25,.10)}
.printing-britain-copy{padding:clamp(38px,6vw,72px);align-self:center}.printing-britain-copy h2,.prepress-chapter-intro h2{margin:.12em 0 .55em;color:var(--green);font-size:clamp(2.4rem,4.5vw,4.3rem);line-height:1.08}.printing-britain-copy p{line-height:1.78}
.printing-britain-image{margin:0;background:#171b18;display:flex;flex-direction:column}.printing-britain-image img{width:100%;height:100%;min-height:620px;object-fit:cover;filter:grayscale(1) sepia(.08) contrast(1.04)}.printing-britain-image figcaption{padding:15px 18px;color:#dbe2de;background:#0c2d21;font-size:.82rem;line-height:1.5}
.historical-caveat{margin-top:24px!important;padding:14px 16px;color:#6c6559!important;background:#eee6d8;border-left:3px solid var(--gold);font-size:.86rem!important;line-height:1.55!important}
.childhood-memory{grid-column:1/-1;margin:0;padding:clamp(34px,5vw,60px) clamp(30px,7vw,86px);background:#fff;border:0;border-top:1px solid #d9cfbd;font-family:var(--serif);font-style:italic}.childhood-memory p{max-width:970px;margin:0 0 13px;color:#37443d;font:italic 400 1.08rem/1.75 var(--serif)}
.childhood-memory-label{color:var(--gold)!important;font-size:.79rem!important;font-style:normal!important;font-weight:700!important;letter-spacing:.16em;text-transform:uppercase}
.prepress-chapter-intro{grid-column:1/-1;padding:clamp(58px,8vw,100px) clamp(28px,8vw,100px);text-align:center;background:#fbf9f4;border:1px solid #e2d9ca}.prepress-chapter-intro p:not(.label){max-width:860px;margin:0 auto;color:var(--muted);font-size:1.05rem;line-height:1.78}
.artwork-bench-feature{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)!important}.artwork-bench-media{min-height:600px;background:#342d24}.artwork-bench-media img{width:100%;height:100%;min-height:600px;object-fit:cover;filter:sepia(.18) saturate(.8)}
.artwork-tool-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;margin:24px 0;padding:22px;background:#f4efe5;border-left:4px solid var(--gold)}.artwork-tool-list span{position:relative;padding-left:17px;color:#3f463f;font-size:.91rem;line-height:1.4}.artwork-tool-list span::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
@media(max-width:900px){.printing-britain-feature,.artwork-bench-feature{grid-template-columns:1fr!important}.printing-britain-image img,.artwork-bench-media img{min-height:0;height:auto}.printing-britain-image{order:-1}}
@media(max-width:620px){.print-era-divider{padding:62px 22px}.printing-britain-copy,.prepress-chapter-intro{padding:40px 22px}.childhood-memory{padding:34px 22px}.artwork-tool-list{grid-template-columns:1fr}}


/* =========================================================
   V7.5.1 - Second Revolution hero and illuminated artwork bench
   ========================================================= */

/* Full-width chapter opener matching the Our Story hero language. */
.second-revolution-hero{
  position:relative !important;
  isolation:isolate;
  grid-column:1 / -1;
  min-height:620px;
  margin:42px 0 0 !important;
  padding:0 !important;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  text-align:left !important;
  background:#073f2d;
  border:0 !important;
}

.second-revolution-hero-image{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  filter:sepia(.34) saturate(.72) contrast(1.04) brightness(.91);
  transform:scale(1.012);
}

.second-revolution-hero-shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(
      90deg,
      rgba(3,45,32,.96) 0%,
      rgba(3,45,32,.84) 34%,
      rgba(3,45,32,.48) 59%,
      rgba(3,45,32,.12) 100%
    ),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.30));
}

.second-revolution-hero .print-era-divider-inner{
  width:min(calc(100% - 40px),var(--max));
  max-width:none;
  margin:0 auto;
  padding:104px 0 76px;
}

.second-revolution-hero .print-era-kicker{
  margin:0 0 12px;
  color:#d7b96d;
  font-family:var(--sans);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.second-revolution-hero h2{
  max-width:760px;
  margin:0 0 12px !important;
  color:#fff;
  font-family:var(--serif) !important;
  font-size:clamp(3.5rem,7vw,6.7rem) !important;
  font-weight:400 !important;
  line-height:1.02 !important;
  letter-spacing:-.035em;
  text-wrap:balance;
  text-shadow:0 4px 20px rgba(0,0,0,.24);
}

.second-revolution-hero .print-era-subtitle{
  max-width:760px;
  margin:0 0 28px !important;
  color:#d7b96d;
  font:italic 400 clamp(1.45rem,2.7vw,2.25rem)/1.4 var(--serif) !important;
}

.second-revolution-hero .print-era-divider-inner > p:not(.print-era-kicker):not(.print-era-subtitle){
  max-width:690px;
  margin:0 0 13px !important;
  color:#edf2ef;
  font-family:var(--sans);
  font-size:1.03rem;
  line-height:1.76;
  text-shadow:0 2px 12px rgba(0,0,0,.24);
}

/* The artwork bench is shown as a softly illuminated light-box surface. */
.artwork-bench-media{
  position:relative;
  min-height:500px !important;
  padding:24px;
  background:
    radial-gradient(circle at 50% 44%,rgba(255,252,229,.94),rgba(229,220,190,.82) 52%,rgba(78,63,42,.38) 100%),
    #d8cfb4 !important;
}

.artwork-bench-media::after{
  content:"";
  position:absolute;
  inset:24px;
  pointer-events:none;
  box-shadow:
    inset 0 0 48px rgba(91,68,35,.18),
    0 14px 34px rgba(36,27,17,.15);
  border:1px solid rgba(112,87,49,.24);
}

.artwork-bench-media img{
  position:relative;
  z-index:1;
  display:block;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  filter:sepia(.12) saturate(.86) contrast(1.02) brightness(1.04) !important;
  background:#f4edd6;
}

@media(max-width:900px){
  .second-revolution-hero{
    min-height:580px;
  }
  .second-revolution-hero .print-era-divider-inner{
    padding:90px 0 62px;
  }
  .second-revolution-hero-image{
    object-position:62% center;
  }
  .artwork-bench-media{
    min-height:0 !important;
    padding:16px;
  }
  .artwork-bench-media::after{
    inset:16px;
  }
}

@media(max-width:620px){
  .second-revolution-hero{
    min-height:610px;
  }
  .second-revolution-hero-image{
    object-position:68% center;
  }
  .second-revolution-hero-shade{
    background:
      linear-gradient(90deg,rgba(3,45,32,.96),rgba(3,45,32,.76) 72%,rgba(3,45,32,.42)),
      linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.32));
  }
  .second-revolution-hero .print-era-divider-inner{
    width:min(calc(100% - 30px),var(--max));
    padding:82px 0 52px;
  }
  .second-revolution-hero h2{
    font-size:clamp(3rem,15vw,4.5rem) !important;
  }
}
