:root {
  --ink: #4a4a4a;
  --blue: #5e9ab4;
  --rule: #77aabd;
  --paper: #ffffff;
  --soft: #f7fafb;
  --max: 980px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.55;
}

a { color: #467f98; text-underline-offset: 3px; }
a:hover { color: #2d657d; }

.site-shell {
  width: min(calc(100% - 36px), var(--max));
  margin: 0 auto;
}

.collection-nav {
  padding: 28px 0 16px;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .78rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.collection-nav a { text-decoration: none; margin: 0 .8rem; }

.masthead {
  text-align: center;
  padding: 18px 0 22px;
}
.masthead .collection-title {
  margin: 0;
  color: var(--blue);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  letter-spacing: .045em;
}
.masthead h1 {
  margin: .22rem 0 0;
  color: var(--blue);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: clamp(1.03rem, 2.25vw, 1.35rem);
}

.hero {
  max-width: 860px;
  margin: 0 auto;
}
.hero img,
.gallery img {
  display: block;
  width: 100%;
  height: auto;
}

/* PDF-derived presentation images already include Andrew's original
   white edge, drop shadow and subtly lifted photo-book treatment. */
.hero img.pdf-mounted,
.gallery img.pdf-mounted {
  border: 0;
  box-shadow: none;
}

.rule {
  border: 0;
  border-top: 1px solid var(--rule);
  margin: 30px 0 40px;
}

.content {
  max-width: 820px;
  margin: 0 auto;
}
.section-title {
  text-align: center;
  margin: 0 0 24px;
  color: #a9c3cf;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(1.2rem, 2.8vw, 1.75rem);
  font-style: italic;
  font-weight: 300;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.content p { margin: 0 0 1.15rem; }

.media-list {
  margin: 1.3rem 0 0;
  padding: 0;
  list-style: none;
  columns: 2;
  column-gap: 38px;
  font-size: .96rem;
}
.media-list li { break-inside: avoid; margin: 0 0 .55rem; }
.media-list a { text-decoration-thickness: 1px; }

.gallery {
  display: flex;
  flex-direction: column;
  gap: 42px;
  margin: 48px auto;
  max-width: 900px;
}
.gallery img {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}
.gallery .wide { max-width: 900px; width: 100%; margin: 0 auto; }

.inquiry-block {
  margin: 54px auto 70px;
  padding: 36px clamp(22px, 5vw, 52px) 40px;
  max-width: 760px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  background: linear-gradient(180deg, #fff, var(--soft));
}
.inquiry-block h2 {
  margin: 0 0 .35rem;
  text-align: center;
  color: var(--blue);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 600;
  font-size: 1.2rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.inquiry-block .intro { text-align: center; margin: 0 auto 1.6rem; max-width: 590px; }

.inquiry-form label {
  display: block;
  margin: 0 0 .4rem;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .82rem;
  letter-spacing: .03em;
}
.inquiry-form input,
.inquiry-form textarea {
  width: 100%;
  padding: 12px 13px;
  margin: 0 0 16px;
  border: 1px solid #b9c8ce;
  border-radius: 2px;
  background: #fff;
  color: #333;
  font: 1rem Georgia, "Times New Roman", serif;
}
.inquiry-form textarea { min-height: 150px; resize: vertical; }
.inquiry-form input:focus,
.inquiry-form textarea:focus { outline: 2px solid rgba(94,154,180,.22); border-color: var(--blue); }

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

.submit-row { text-align: center; margin-top: 6px; }
button.inquire-button,
a.inquire-button {
  display: inline-block;
  padding: 11px 29px;
  border: 1px solid var(--blue);
  border-radius: 2px;
  background: transparent;
  color: #467f98;
  cursor: pointer;
  font: 600 .83rem Arial, Helvetica, sans-serif;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}
button.inquire-button:hover,
a.inquire-button:hover { background: #edf5f8; }

.privacy-note { margin: 1rem 0 0; text-align: center; font-size: .84rem; color: #777; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.footer {
  padding: 0 0 45px;
  text-align: center;
  font: .75rem Arial, Helvetica, sans-serif;
  color: #888;
}

/* Simple collection index */
.index-intro { text-align:center; max-width:720px; margin:0 auto 32px; }
.index-card { max-width:760px; margin:0 auto 60px; text-align:center; }
.index-card img { width:100%; height:auto; border:1px solid #d7d7d7; box-shadow:0 2px 5px rgba(0,0,0,.12); }
.index-card h2 { font: 400 1.1rem Arial,Helvetica,sans-serif; color:var(--blue); }

@media (max-width: 700px) {
  .site-shell { width: min(calc(100% - 24px), var(--max)); }
  .collection-nav { line-height: 2; }
  .collection-nav a { margin: 0 .45rem; }
  .media-list { columns: 1; }
  .gallery { gap: 28px; margin-top: 36px; margin-bottom: 40px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .masthead { padding-top: 10px; }
}

/* Shared zoom/lightbox */
.zoom-link { display:block; text-decoration:none; }
.zoomable { display:block; cursor:zoom-in; }
.lightbox { position:fixed; inset:0; display:block; overflow:auto; -webkit-overflow-scrolling:touch; padding:56px 28px 40px; background:rgba(0,0,0,.88); opacity:0; visibility:hidden; transition:opacity .18s ease,visibility .18s ease; z-index:2000; text-align:center; }
.lightbox.open { opacity:1; visibility:visible; }
.lightbox img { display:inline-block; width:auto; height:auto; max-width:none; max-height:none; box-shadow:0 5px 28px rgba(0,0,0,.45); cursor:zoom-in; transform-origin:top center; vertical-align:top; }
.lightbox img.zoomed { cursor:zoom-out; }
.lightbox-close { position:fixed; top:16px; right:19px; width:42px; height:42px; border:0; background:transparent; color:#fff; font:32px/1 Arial,Helvetica,sans-serif; cursor:pointer; z-index:2001; }
body.lightbox-open { overflow:hidden; }
.scroll-top { position:fixed; left:22px; bottom:22px; padding:11px 18px; border:0; border-radius:6px; background:#4a4a4a; color:#fff; font:16px/1.2 Arial,Helvetica,sans-serif; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .2s ease; z-index:1000; }
.scroll-top.visible { opacity:1; visibility:visible; transform:translateY(0); }
.scroll-top:hover { background:#3f3f3f; }
.detail-list { margin:1rem 0 1.7rem 1.2rem; padding:0; }
.detail-list li { margin:.35rem 0; }
.content h3 { margin:2rem 0 .65rem; color:#5e9ab4; font-family:Arial,Helvetica,sans-serif; font-size:1rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.index-hero { max-width:960px; margin:0 auto 40px; }
.index-hero img { display:block; width:100%; height:auto; }
.collection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 34px; margin:42px auto 70px; max-width:900px; }
.collection-grid a { display:block; padding:18px 16px; border-top:1px solid var(--rule); text-decoration:none; text-align:center; }
.collection-grid strong { display:block; color:var(--blue); font-family:Arial,Helvetica,sans-serif; font-weight:500; }
.collection-grid span { display:block; margin-top:.35rem; color:#777; font-size:.88rem; }
@media (max-width:700px){ .collection-grid{grid-template-columns:1fr;gap:12px}.lightbox{padding:52px 12px 30px}.lightbox-close{top:8px;right:8px}.scroll-top{left:14px;bottom:14px;padding:10px 15px;font-size:15px} }
