/* Memory Keepers Publications - inherits the main frontend design system */
.publications-body{background:#f8f3ea;color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.55}
.publications-header{background:#061019;color:#fff;position:relative;z-index:50}
.publications-header .topbar{max-width:1720px;padding:28px 7vw;margin:0 auto;border-bottom:1px solid rgba(255,255,255,.12)}
.publications-header .navlinks a.active{color:var(--gold2)}
.pub-shell,.article-shell{max-width:1720px;margin:0 auto;padding:48px 7vw 84px}
.pub-hero{background:linear-gradient(135deg,#fff9ee,#efe3d0);border:1px solid #ead9bf;border-radius:16px;padding:42px;display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:end}
.pub-hero>div>span,.pub-category{color:#8b5c14;font-weight:900;text-transform:uppercase;letter-spacing:1.3px;font-size:12px}
.pub-hero h1,.pub-list-head h1,.article h1{font-family:Georgia,serif;color:var(--ink);line-height:1.05;margin:10px 0 14px}
.pub-hero h1{font-size:clamp(42px,5vw,70px)}
.pub-hero p,.pub-list-head p{font-size:18px;color:#5d554b;max-width:760px}
.pub-hero form,.pub-list-head form{display:flex;background:#fff;border:1px solid #e6dac8;border-radius:10px;padding:6px;box-shadow:0 12px 25px rgba(20,12,4,.05)}
.pub-hero input,.pub-list-head input{border:0;min-width:0;flex:1;padding:13px;font-size:16px;background:transparent;color:var(--ink);outline:none}
.pub-hero button,.pub-list-head button{border:0;background:linear-gradient(135deg,var(--gold2),#d3a149);color:#13100b;padding:13px 18px;border-radius:8px;font-weight:800;cursor:pointer}
.pub-categories{margin:48px 0}.pub-categories>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pub-categories a{background:#fff;border:1px solid #e6dac8;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:7px;box-shadow:0 12px 25px rgba(20,12,4,.04)}.pub-categories a:hover{transform:translateY(-1px);border-color:var(--gold)}.pub-categories span{color:#5d554b;font-size:14px}.pub-categories h2,.pub-section-title h2{font:700 34px Georgia,serif;color:var(--ink)}
.pub-section-title{display:flex;justify-content:space-between;align-items:end;margin:44px 0 18px}
.publication-list-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:32px;align-items:start}
.pub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pub-card{background:#fff;border:1px solid #e6dac8;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 25px rgba(20,12,4,.05)}.pub-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#e8e1d5}.pub-card-image img{width:100%;height:100%;object-fit:cover;display:block}.pub-card>div{padding:20px;display:flex;flex:1;flex-direction:column}.pub-card h2{font:700 24px/1.17 Georgia,serif;margin:8px 0}.pub-card p{color:#5d554b}.pub-card footer{background:transparent;color:#6f665b;padding:16px 0 0;display:flex;justify-content:space-between;font-size:13px;margin-top:auto}
.pub-list-head{max-width:920px;margin-bottom:30px}.pub-list-head h1{font-size:clamp(38px,5vw,62px)}
.publication-contact-sidebar{position:sticky;top:24px;display:grid;gap:14px;min-width:0}.publication-contact-box{width:100%;min-width:0}.publication-order{width:100%;text-align:center}.publication-contact-box .contact-phone{font-size:25px!important}
.article{width:100%;max-width:none;margin:0}.article-head{max-width:none;margin:0 0 30px;text-align:left}.article-head .breadcrumbs{margin:0 0 14px}.article-head h1{font-size:clamp(36px,4.5vw,62px);max-width:1080px;margin:6px 0 10px}.article-lead{max-width:980px;margin:0 0 12px;color:#5d554b;font-size:18px}.article-meta{display:flex;flex-wrap:wrap;gap:9px 20px;color:#6f665b;font-size:14px;margin-bottom:18px}.article-hero{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;display:block;margin:0}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:#6f665b;font-size:14px}.breadcrumbs a:hover{color:#8b5c14}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:34px;align-items:start}.article-main{min-width:0;width:100%}.article-content{width:100%;max-width:none;font-size:18px;line-height:1.75}.article-content h2{font:700 36px/1.15 Georgia,serif;margin:44px 0 16px;color:var(--ink)}.article-content h3{font:700 27px/1.2 Georgia,serif;margin:32px 0 12px;color:var(--ink)}.article-content p,.article-content ul,.article-content ol,.article-content table{max-width:none}.article-content img{max-width:100%;height:auto;border-radius:12px;display:block}.article-content figure{margin:30px 0}.article-content figcaption{margin-top:8px;color:#6f665b;font-size:14px}.article-content blockquote,.article-content .article-note{border-left:4px solid var(--gold);background:#fff;padding:18px 22px;margin:26px 0;border-radius:0 10px 10px 0}.article-content .article-cta,.article-service{background:#061019;color:#fff;padding:26px;border-radius:12px;margin:34px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.article-content .article-cta h3,.article-service h2{color:#fff;margin:0;font-size:27px}.article-content .article-cta a,.article-service a{display:inline-flex;padding:12px 18px;border-radius:8px;background:linear-gradient(135deg,var(--gold2),#d3a149);color:#15100a;font-weight:800}.toc{position:static;background:#fff;border:1px solid #e6dac8;border-radius:12px;padding:18px 20px;margin:0 0 28px}.toc ol{padding-left:20px;color:#5d554b;font-size:14px;margin-bottom:0}.pub-empty{padding:40px;background:#fff;border:1px solid #e6dac8;border-radius:12px;text-align:center;color:#5d554b}
.publications-body>footer{content-visibility:visible;contain-intrinsic-size:auto}
@media(max-width:1200px){.pub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-list-layout,.article-layout{grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:900px){.publications-header .topbar{padding:20px 22px}.pub-shell,.article-shell{padding:34px 22px 68px}.pub-hero{grid-template-columns:1fr;padding:30px 24px}.pub-categories>div,.pub-grid{grid-template-columns:1fr}.publication-list-layout,.article-layout{grid-template-columns:1fr}.publication-contact-sidebar{position:static;top:auto}.article-head h1{font-size:40px}.article-content{font-size:17px}.article-content .article-cta,.article-service{align-items:flex-start;flex-direction:column}.publication-contact-box .contact-phone{font-size:24px!important}}
@media(max-width:560px){.pub-shell,.article-shell{padding-inline:18px}.pub-hero{padding:26px 20px}.pub-hero form,.pub-list-head form{flex-direction:column}.pub-hero button,.pub-list-head button{width:100%}.article-head h1{font-size:34px}.article-meta{gap:7px 14px}.pub-card h2{font-size:22px}}

.publications-header{background:#061019;color:#fff;position:relative;z-index:50}
.publications-header .topbar{max-width:1320px;margin:0 auto;padding:24px 36px;border-bottom:1px solid rgba(255,255,255,.12)}
.publications-header .brand,.publications-header .navlinks,.publications-header .actions,.publications-header .lang-dropdown{flex-shrink:0}
.publications-header .navlinks{min-width:0}
.publications-header .navlinks a.active{color:var(--gold2)}

/* The article header is compact; the image belongs to the readable column. */
.article-head{margin-bottom:20px}
.article-head .breadcrumbs{margin-bottom:10px}
.article-head h1{margin-top:5px;margin-bottom:8px}
.article-lead{margin-bottom:8px}
.article-meta{margin-bottom:0}
.article-main>.article-hero{width:100%;max-width:none;aspect-ratio:16/9;object-fit:cover;border-radius:14px;display:block;margin:0 0 26px}
.article-main>.toc{margin-top:0}
.article-content{width:100%;max-width:none}
.article-content> :first-child{margin-top:0}
.article-service{display:none!important}

/* More compact publications landing hero. */
.pub-hero{padding:26px 30px;gap:26px;min-height:0}
.pub-hero h1{font-size:clamp(38px,4.2vw,58px);margin:6px 0 9px}
.pub-hero p{font-size:16px;line-height:1.55;margin:0;max-width:690px}
.pub-hero form{align-self:center}

/* Sticky contact panel uses the same frontend contact classes. */
.publication-contact-sidebar{position:sticky;top:24px;align-self:start}
.publication-contact-sidebar .contact-box-minimal{margin:0}
.publication-contact-sidebar .publication-order{display:flex;min-height:48px;align-items:center;justify-content:center}

@media(max-width:900px){
  .publications-header .topbar{padding:18px 20px}
  .publications-header .navlinks{top:82px;left:20px;right:20px}
  .article-layout,.publication-list-layout{grid-template-columns:1fr}
  .publication-contact-sidebar{position:static;top:auto}
  .article-main>.article-hero{border-radius:12px;margin-bottom:22px}
  .pub-hero{padding:23px 22px;gap:18px}
  .pub-hero h1{font-size:38px}
}
@media(max-width:560px){
  .pub-hero{padding:20px 18px}
  .pub-hero h1{font-size:34px}
  .article-head{margin-bottom:16px}
}
.publications-header{
  position:relative;
  z-index:50;
  background:#061019;
  color:#fff;
}
/* Do not redefine .topbar, .brand, .navlinks, .actions or footer here.
   They intentionally inherit the main frontend CSS one-for-one. */
.publications-header .navlinks a{color:inherit}
.publications-header .navlinks a:hover{color:var(--gold2)}
.publications-body>footer{content-visibility:visible;contain-intrinsic-size:auto}

@media (min-width:1201px){
  .publications-header .menu-toggle{display:none}
  .publications-header .navlinks{display:flex}
}
@media (max-width:1200px) and (min-width:901px){
  .publications-header .menu-toggle{display:block}
  .publications-header .navlinks{display:none}
  .publications-header.menu-open .navlinks{display:flex}
}
@media (max-width:900px){
  .publications-header .navlinks{display:none}
  .publications-header.menu-open .navlinks{display:flex}
}

.toc a{color:inherit;text-decoration:none}.toc a:hover{text-decoration:underline}.toc .toc-h3{margin-left:14px}
.article-content .article-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#061019;color:#fff;padding:22px 24px;border-radius:12px;margin:34px 0}
.article-content .article-cta-title{font:700 24px/1.2 Georgia,serif;color:#fff}
.article-content .article-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:8px;background:linear-gradient(135deg,var(--gold2),#d3a149);color:#15100a;font-weight:800;text-decoration:none;white-space:nowrap}
@media(max-width:700px){.article-content .article-cta{align-items:flex-start;flex-direction:column}.article-content .article-cta a{width:100%}}
.monument-list-head{width:100%;max-width:none}.monument-list-head>p{width:100%;max-width:none}.monument-list-head form{width:100%;max-width:none}.monument-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.monument-card{display:flex;flex-direction:column}.monument-card>div{display:flex;flex:1;flex-direction:column}.monument-card footer{margin-top:auto}.monument-card footer strong{color:#c89b52;font-size:20px}.monument-price{font-size:18px;margin:0 0 22px}.monument-price strong{font-size:30px;color:#b1833f}.monument-gallery{margin:0 0 32px}.monument-gallery-stage{position:relative}.monument-gallery-main{display:block;width:100%;aspect-ratio:16/9;border:1px solid #e6dac8;border-radius:14px;overflow:hidden;background:#fff;cursor:zoom-in}.monument-gallery-main:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.monument-gallery-main img{display:block;width:100%;height:100%;object-fit:contain}.monument-gallery-arrow{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:50%;background:rgba(10,14,20,.72);color:#fff;font-size:36px;line-height:1;cursor:pointer}.monument-gallery-arrow:hover{background:rgba(10,14,20,.92)}.monument-gallery-arrow.prev{left:14px}.monument-gallery-arrow.next{right:14px}.monument-gallery-counter{position:absolute;right:14px;bottom:14px;padding:6px 10px;border-radius:20px;background:rgba(10,14,20,.72);color:#fff;font-weight:700}.monument-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scroll-snap-type:x mandatory}.monument-thumbs button{flex:0 0 84px;padding:3px;border:2px solid transparent;border-radius:10px;background:#fff;cursor:pointer;aspect-ratio:1/1;overflow:hidden;scroll-snap-align:start}.monument-thumbs button.active{border-color:var(--gold)}.monument-thumbs img{display:block;width:100%;height:100%;object-fit:contain}.monument-specs{display:grid;gap:0;margin:30px 0;border:1px solid #dfe3e7;border-radius:12px;overflow:hidden}.monument-specs div{display:grid;grid-template-columns:1fr 1fr;padding:12px 16px;border-bottom:1px solid #e7eaed}.monument-specs div:last-child{border:0}.monument-specs dt{font-weight:700}.monument-specs dd{margin:0}
body.monument-lightbox-open{overflow:hidden}.monument-lightbox[hidden],.monument-lightbox [hidden]{display:none!important}.monument-lightbox{position:fixed;inset:0;z-index:10000;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:70px 24px 28px;background:rgba(4,8,13,.94);color:#fff}.monument-lightbox-figure{display:grid;place-items:center;gap:12px;width:100%;height:100%;min-width:0;margin:0}.monument-lightbox-image{display:block;max-width:100%;max-height:calc(100vh - 125px);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 20px 70px rgba(0,0,0,.45)}.monument-lightbox-close{position:absolute;top:16px;right:20px;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(10,14,20,.75);color:#fff;font-size:34px;line-height:1;cursor:pointer}.monument-lightbox-arrow{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(10,14,20,.75);color:#fff;font-size:42px;line-height:1;cursor:pointer}.monument-lightbox-close:hover,.monument-lightbox-arrow:hover{background:#b1833f}.monument-lightbox-close:focus-visible,.monument-lightbox-arrow:focus-visible{outline:3px solid #fff;outline-offset:3px}.monument-lightbox-counter{min-height:24px;padding:5px 12px;border-radius:18px;background:rgba(10,14,20,.8);font-weight:700}
@media(max-width:1100px){.monument-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.monument-grid{grid-template-columns:1fr}.monument-gallery-arrow{width:42px;height:42px}.monument-thumbs button{flex-basis:68px}.monument-lightbox{grid-template-columns:1fr;padding:62px 10px 18px}.monument-lightbox-figure{grid-area:1/1}.monument-lightbox-arrow{position:absolute;z-index:2;width:46px;height:46px;font-size:36px}.monument-lightbox-arrow.prev{left:12px}.monument-lightbox-arrow.next{right:12px}.monument-lightbox-image{max-height:calc(100vh - 100px)}.monument-lightbox-close{top:8px;right:10px}}
