:root{
  --interior-max:1120px;
  --interior-section-gap:clamp(22px,2.25vw,30px);
  --interior-lead-gap:clamp(26px,2.8vw,38px);
  --interior-copy-gap:14px;
}
.page-shell{min-height:100vh}
.interior-main{padding-bottom:0}
.interior-lead{
  padding-top:var(--interior-lead-gap);
  padding-bottom:var(--interior-section-gap);
}
.interior-lead-grid{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);align-items:end;
  border-bottom:1px solid var(--line);padding-bottom:var(--interior-section-gap);
}
.interior-heading{grid-column:1/span 5;align-self:end}
.eyebrow{
  display:flex;align-items:center;gap:11px;margin-bottom:12px;
  font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#756444;
}
.eyebrow:before{content:"";display:block;width:34px;height:1px;background:var(--brass)}
.interior-heading h1{
  margin:0;font-size:clamp(32px,4.1vw,52px);line-height:1.03;letter-spacing:-.03em;font-weight:500;
}
.interior-heading .deck{
  margin:18px 0 0;max-width:480px;color:var(--copy);font-size:15px;line-height:1.68;
}
.interior-visual{grid-column:7/span 6;margin:0}
.interior-visual img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.interior-visual figcaption,.figure-wide figcaption,.figure-pair figcaption{
  padding-top:8px;font-size:8.5px;letter-spacing:.11em;text-transform:uppercase;color:#74746f;
}

.content-section{padding-top:var(--interior-section-gap);padding-bottom:var(--interior-section-gap);border-bottom:1px solid var(--line)}
.content-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);align-items:start}
.content-copy{grid-column:1/span 7;max-width:680px}
.content-copy.wide{grid-column:1/span 9;max-width:860px}
.content-copy.centered{grid-column:2/span 8;max-width:760px}
.content-copy p,.body-copy p{margin:0 0 16px;color:var(--copy);font-size:14px;line-height:1.74}
.content-copy p:last-child,.body-copy p:last-child{margin-bottom:0}
.content-copy h2,.body-copy h2{
  margin:0 0 16px;font-size:clamp(23px,2.4vw,31px);line-height:1.18;font-weight:500;letter-spacing:-.016em;
}
.content-copy h3,.body-copy h3{margin:28px 0 9px;font-size:16px;line-height:1.25;font-weight:650;letter-spacing:.005em}
.content-copy a,.body-copy a{color:inherit;text-decoration-color:var(--brass);text-underline-offset:3px}
.side-facts{grid-column:9/span 4;margin:0;border-top:1px solid var(--line)}
.side-facts div{padding:11px 0;border-bottom:1px solid var(--line)}
.side-facts dt{margin:0 0 4px;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:#756444;font-weight:700}
.side-facts dd{margin:0;font-size:12.5px;line-height:1.5;color:#3f4547}
.side-facts a{text-decoration:none}

.section-label{display:flex;align-items:center;gap:16px;margin-bottom:var(--block-gap)}
.section-label span{font-size:9px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:#686c68}
.section-label:after{content:"";height:1px;background:var(--line);flex:1}

.service-lines{grid-column:1/-1;border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);padding:17px 0;border-bottom:1px solid var(--line);align-items:start}
.service-row h3{grid-column:1/span 3;margin:0;font-size:18px;font-weight:600}
.service-row .service-text{grid-column:4/span 7;color:var(--copy);font-size:13.5px;line-height:1.68}
.service-row .service-note{grid-column:11/span 2;text-align:right;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#756444}

.figure-wide{margin:0;padding-top:var(--interior-section-gap);padding-bottom:var(--interior-section-gap);border-bottom:1px solid var(--line)}
.figure-wide img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.figure-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap);padding-top:var(--interior-section-gap);padding-bottom:var(--interior-section-gap);border-bottom:1px solid var(--line)}
.figure-pair figure{margin:0}.figure-pair img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}

.fact-callout{grid-column:8/span 5;padding:24px 25px;background:var(--navy-soft);color:#e9e7e1}
.fact-callout .fact-title{display:block;margin-bottom:10px;font-size:8.5px;letter-spacing:.16em;font-weight:700;color:#d0b77f;text-transform:uppercase}
.fact-callout p{margin:0;color:#d5d6d2;font-size:12.5px;line-height:1.68}
.fact-callout a{color:#fff;text-underline-offset:3px}

.quote-list{grid-column:1/span 10;max-width:900px}
.quote-item{padding:20px 0;border-top:1px solid var(--line)}
.quote-item:first-child{border-top:2px solid var(--ink)}
.quote-item blockquote{margin:0;max-width:800px;color:#303638;font-size:clamp(17px,1.8vw,21px);line-height:1.55;font-weight:400}
.quote-item cite{display:block;margin-top:13px;font-style:normal;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:#756444}

.link-grid,.sitemap-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--grid-gap);border-top:1px solid var(--line)}
.link-grid a,.sitemap-grid a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:12px;letter-spacing:.02em}
.link-grid a:after,.sitemap-grid a:after{content:"↗";color:#8f774c}
.sitemap-grid a:after{content:"→"}

.urn-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.urn-grid figure{margin:0;background:#ded8ce;padding:22px}
.urn-grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#f0ede7}
.urn-grid figcaption{padding-top:12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#696d69}

.contact-card{grid-column:1/span 6;border-top:2px solid var(--ink);padding-top:18px}
.contact-card h2{margin:0 0 18px;font-size:26px;font-weight:500}
.contact-card p{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--copy)}
.contact-card .phone{display:inline-block;margin:12px 0 4px;text-decoration:none;font-size:25px;font-weight:500}
.contact-card .email{display:block;text-decoration-color:var(--brass);text-underline-offset:3px}
.contact-note{grid-column:8/span 5;padding-top:18px;border-top:1px solid var(--line)}
.contact-note p{font-size:13px;line-height:1.7;color:var(--copy);margin:0}

.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap)}
.gallery-item{margin:0 0 4px;grid-column:span 6}
.gallery-item.wide{grid-column:1/-1}
.gallery-item img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.gallery-item figcaption{padding-top:8px;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:#72736e}

.download-link{display:inline-block;margin-top:10px;padding-bottom:3px;border-bottom:1px solid var(--brass);text-decoration:none;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.notice{padding:15px 18px;border-left:2px solid var(--brass);background:rgba(179,149,91,.08);font-size:12.5px;line-height:1.65;color:#4a4f4f}

@media(max-width:900px){
 .interior-heading{grid-column:1/span 6}.interior-visual{grid-column:7/span 6}
 .content-copy{grid-column:1/span 7}.side-facts{grid-column:8/span 5}
 .fact-callout{grid-column:8/span 5}
 .service-row h3{grid-column:1/span 4}.service-row .service-text{grid-column:5/span 6}.service-row .service-note{grid-column:11/span 2}
 .quote-list{grid-column:1/-1}
}
@media(max-width:700px){
 .interior-lead{padding-top:28px}
 .interior-lead-grid{display:flex;flex-direction:column;align-items:stretch}
 .interior-heading,.interior-visual{width:100%}
 .interior-heading h1{font-size:34px}
 .content-grid{display:block}.content-copy,.content-copy.wide,.content-copy.centered,.side-facts,.fact-callout,.contact-card,.contact-note{max-width:none;width:100%}
 .side-facts,.fact-callout,.contact-note{margin-top:var(--block-gap)}
 .service-row{display:block}.service-row h3{margin-bottom:9px}.service-row .service-note{margin-top:10px;text-align:left}
 .figure-pair{grid-template-columns:1fr}
 .link-grid,.sitemap-grid{grid-template-columns:1fr}
 .urn-grid{grid-template-columns:1fr}
 .gallery-grid{display:block}.gallery-item{margin-bottom:var(--section-gap)}
}


/* v12: denser interior rhythm + image/text integration */
.interior-lead.overlay-lead{padding-top:var(--interior-lead-gap);padding-bottom:var(--interior-section-gap)}
.overlay-lead .interior-lead-grid{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  min-height:0;
  border-bottom:0;
  padding-bottom:0;
  overflow:hidden;
  background:var(--navy-soft);
}
.overlay-lead .interior-visual,
.overlay-lead .interior-heading{grid-column:1;grid-row:1}
.overlay-lead .interior-visual{position:relative;margin:0;z-index:0}
.overlay-lead .interior-visual:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,15,23,.76) 0%,rgba(7,15,23,.48) 38%,rgba(7,15,23,.14) 66%,rgba(7,15,23,.02) 100%);
  pointer-events:none;
}
.overlay-lead .interior-visual img{aspect-ratio:16/9;object-fit:cover}
.overlay-lead .interior-visual figcaption{display:none}
.overlay-lead .interior-heading{
  position:relative;z-index:2;align-self:end;
  width:min(620px,66%);
  padding:clamp(24px,4vw,52px);
  color:#fff;
}
.overlay-lead .eyebrow{color:#d2b575;margin-bottom:10px}
.overlay-lead .eyebrow:before{background:var(--brass)}
.overlay-lead .interior-heading h1{color:#fff;font-size:clamp(30px,4vw,48px);text-shadow:0 2px 16px rgba(0,0,0,.28)}
.overlay-lead .interior-heading .deck{margin-top:14px;color:#e4e1da;max-width:520px;font-size:14px;line-height:1.6}

.interior-lead.text-lead{padding-top:var(--interior-lead-gap);padding-bottom:var(--interior-section-gap)}
.text-lead .interior-lead-grid{display:block;border-bottom:1px solid var(--line);padding-bottom:var(--interior-section-gap)}
.text-lead .interior-heading{max-width:760px}
.text-lead .interior-heading h1{font-size:clamp(30px,3.5vw,45px)}
.text-lead .interior-heading .deck{max-width:650px;margin-top:14px}

.content-section.compact{padding-top:18px;padding-bottom:18px}
.figure-wide.overlay-figure{position:relative;overflow:hidden;padding-top:0;padding-bottom:0;border-bottom:0;margin-bottom:var(--interior-section-gap)}
.figure-wide.overlay-figure img{aspect-ratio:16/9}
.figure-wide.overlay-figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,15,23,.60),rgba(7,15,23,.12) 58%,transparent);pointer-events:none}
.figure-wide.overlay-figure figcaption{position:absolute;left:clamp(22px,4vw,48px);bottom:clamp(18px,3vw,34px);z-index:2;padding:0;color:#fff;font-size:10px;letter-spacing:.14em}

@media(max-width:700px){
  .overlay-lead .interior-heading{width:100%;padding:20px}
  .overlay-lead .interior-heading h1{font-size:29px}
  .overlay-lead .interior-heading .deck{font-size:13px;line-height:1.55}
  .overlay-lead .interior-visual img{min-height:330px;aspect-ratio:auto}
  .overlay-lead .interior-visual:after{background:linear-gradient(to top,rgba(7,15,23,.82),rgba(7,15,23,.30) 62%,rgba(7,15,23,.06))}
}

.figure-pair.single-figure{grid-template-columns:minmax(0,1fr)}
.figure-pair.single-figure figure{max-width:760px}

/* v12.1 pricing restored from original site */
.price-note{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.price-note strong{font-size:18px;line-height:1;font-weight:600;letter-spacing:.01em;color:var(--ink)}
.price-note span{font-size:8px;line-height:1.35;letter-spacing:.11em;text-transform:uppercase;color:#756444}
.pricing-summary strong{font-weight:600;color:var(--ink)}
@media(max-width:700px){.price-note{align-items:flex-start;margin-top:10px}.price-note strong{font-size:20px}}

/* v12.2 — interior photography is deliberately quieter than the homepage */
@media (min-width:701px){
  /* Overlay leads remain cinematic, but no longer span the full interior rail. */
  .overlay-lead .interior-lead-grid{
    width:min(880px,84%);
    margin-left:auto;
    margin-right:auto;
  }

  /* Standalone documentary plates are inset as well. Because figure-wide also
     carries the site-rail padding, the visible image resolves to a quieter
     editorial width rather than a banner. */
  .figure-wide{
    width:min(100%,1040px);
    margin-left:auto;
    margin-right:auto;
  }

  /* Gallery remains a two-column documentary grid; no single image is promoted
     to a full-width banner on interior pages. */
  .gallery-item.wide{
    grid-column:span 6;
  }
}

@media (max-width:700px){
  /* Small screens use the available width for legibility; desktop 'banner'
     scale is what is being intentionally removed. */
  .overlay-lead .interior-lead-grid,
  .figure-wide{width:100%;}
}

/* v12.3 — interior pages are text-led; photography is supporting material */
@media (min-width:701px){
  /* Lead image/title compositions are compact editorial plates, never mini-heroes. */
  .overlay-lead .interior-lead-grid{
    width:min(720px,68%);
    margin-left:0;
    margin-right:auto;
  }
  .overlay-lead .interior-heading{
    width:min(500px,76%);
    padding:clamp(20px,2.7vw,34px);
  }
  .overlay-lead .interior-heading h1{
    font-size:clamp(27px,3vw,38px);
  }
  .overlay-lead .interior-heading .deck{
    max-width:430px;
    font-size:13px;
    line-height:1.55;
  }

  /* Single documentary photographs are deliberately modest.  Figure-wide
     includes the normal page rail padding, so the visible plate is ~620-650px. */
  .figure-wide{
    width:min(820px,76%);
    margin-left:0;
    margin-right:auto;
  }
  .figure-wide.overlay-figure figcaption{
    left:calc(var(--rail) + 18px);
    bottom:22px;
  }

  /* A one-off image should be smaller than a paired documentary spread. */
  .figure-pair.single-figure{
    grid-template-columns:minmax(0,620px);
    justify-content:start;
  }
  .figure-pair.single-figure figure{max-width:620px}

  /* Regular lead layouts retain a useful image, but make copy the visual anchor. */
  .interior-heading{grid-column:1/span 6}
  .interior-visual{grid-column:8/span 5}
  .interior-heading h1{font-size:clamp(30px,3.2vw,42px)}
}

@media (max-width:700px){
  /* On phones the image still needs the available width to remain legible. */
  .overlay-lead .interior-lead-grid,
  .figure-wide,
  .figure-pair.single-figure{width:100%;max-width:none}
}


/* v12.5 — universal interior opening language and image/form composition */
.unified-lead{
  padding-top:var(--interior-lead-gap);
  padding-bottom:var(--interior-section-gap);
}
.unified-lead .interior-lead-top{
  border-bottom:1px solid var(--line);
  padding-bottom:18px;
  margin-bottom:20px;
}
.unified-lead .interior-heading{
  width:auto;
  max-width:760px;
}
.unified-lead .interior-heading h1{
  margin:0;
  font-size:clamp(30px,3.2vw,42px);
  line-height:1.05;
  letter-spacing:-.025em;
  font-weight:500;
  color:var(--ink);
  text-shadow:none;
}
.unified-lead .interior-heading .deck{
  margin:12px 0 0;
  max-width:650px;
  color:var(--copy);
  font-size:14px;
  line-height:1.62;
}
.unified-lead .eyebrow{
  color:#756444;
  margin-bottom:10px;
}
.unified-lead .interior-lead-media{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(260px,4fr);
  gap:var(--grid-gap);
  align-items:stretch;
}
.unified-lead .interior-lead-media.single-media{
  grid-template-columns:minmax(0,720px);
}
.unified-lead .interior-visual{
  margin:0;
  width:100%;
  max-width:none;
  grid-column:auto;
  position:relative;
}
.unified-lead .interior-visual:after{display:none!important}
.unified-lead .interior-visual img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  min-height:0!important;
  object-fit:cover;
  filter:none;
}
/* Match signature photography to the unchanged quick-inquiry form height.
   The form establishes the grid row; the image fills that exact row and crops
   proportionally rather than changing the form dimensions. */
.unified-lead .interior-lead-media:not(.single-media) .interior-visual{
  height:100%;
  align-self:stretch;
  overflow:hidden;
}
.unified-lead .interior-lead-media:not(.single-media) .interior-visual img{
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
}
.unified-lead .interior-visual figcaption{
  display:block;
  position:static;
  padding-top:8px;
  color:#74746f;
  font-size:8.5px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.quick-inquiry{
  border-top:2px solid var(--ink);
  padding-top:14px;
  align-self:start;
}
.quick-inquiry-label{
  display:block;
  margin-bottom:8px;
  color:#756444;
  font-size:8.5px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.quick-inquiry h2{
  margin:0 0 7px;
  font-size:20px;
  line-height:1.2;
  font-weight:500;
  letter-spacing:-.01em;
}
.quick-inquiry-intro{
  margin:0 0 13px;
  color:var(--copy);
  font-size:11.5px;
  line-height:1.5;
}

.contact-page-form{grid-column:auto;min-width:0}

/* No overlay treatment on large interior photography. */
.overlay-lead .interior-visual:after,
.figure-wide.overlay-figure:after{display:none!important}
.figure-wide.overlay-figure figcaption{
  position:static!important;
  color:#74746f!important;
  padding-top:8px!important;
  font-size:8.5px!important;
}

@media(max-width:900px){
  .unified-lead .interior-lead-media{grid-template-columns:minmax(0,3fr) minmax(230px,2fr)}
}
@media(max-width:700px){
  .unified-lead .interior-lead-top{margin-bottom:16px;padding-bottom:16px}
  .unified-lead .interior-heading h1{font-size:32px}
  .unified-lead .interior-lead-media,
  .unified-lead .interior-lead-media.single-media{display:block}
  .unified-lead .interior-lead-media:not(.single-media) .interior-visual{height:auto;overflow:visible}
  .unified-lead .interior-lead-media:not(.single-media) .interior-visual img{height:auto;aspect-ratio:16/9}
  .quick-inquiry{margin-top:20px}
  .contact-page-form{width:100%;margin-top:22px}
}


/* v12.8 — testimonials return to a quieter reading scale with original right rail */
.quote-list{
  grid-column:1 / span 8;
  max-width:720px;
}
.quote-item{
  padding:16px 0 17px;
}
.quote-item blockquote{
  max-width:680px;
  font-size:14px;
  line-height:1.68;
  font-weight:400;
  color:#3d4344;
}
.quote-item cite{
  margin-top:9px;
  font-size:8px;
}
.testimonial-rail{
  grid-column:10 / span 3;
  display:flex;
  flex-direction:column;
  gap:20px;
  align-self:start;
}
.testimonial-rail figure{
  margin:0;
  padding:0;
}
.testimonial-rail img{
  display:block;
  width:100%;
  height:auto;
  border:0;
}
@media(max-width:900px){
  .quote-list{grid-column:1 / span 8;max-width:none}
  .testimonial-rail{grid-column:9 / span 4;gap:16px}
}
@media(max-width:700px){
  .quote-list{width:100%}
  .quote-item blockquote{font-size:13.5px;line-height:1.65}
  .testimonial-rail{
    width:100%;
    margin-top:22px;
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .testimonial-rail figure{
    width:100%;
    max-width:none;
  }
  .testimonial-rail figure:last-child{
    max-width:none;
  }
}

/* v12.9 contact / policy refinements */
.before-service .section-heading{margin-bottom:16px}
.before-service-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);align-items:start}
.before-service-copy:first-child{grid-column:1/span 7}
.before-service-copy:last-child{grid-column:9/span 4}
.before-service-copy p{margin:0 0 12px;color:var(--copy);font-size:12.5px;line-height:1.68}
.policy-subhead{margin-top:30px!important;padding-top:22px;border-top:1px solid var(--line)}
@media(max-width:700px){.before-service-grid{display:block}.before-service-copy:last-child{margin-top:16px}}


/* v12.13 — dedicated Veterans Burial at Sea page */
.service-row h3 a{color:inherit;text-decoration:none}
.service-row h3 a:hover{text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:4px}
.service-row .service-note a{color:inherit;text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:2px}
.veteran-paths .service-row{align-items:start}
.veteran-paths .service-row .service-text{font-size:12.5px;line-height:1.68}
.veteran-benefits .content-copy{grid-column:1/span 7}
.benefit-amounts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 14px}
.benefit-card{border-top:2px solid var(--ink);padding-top:13px}
.benefit-card strong{display:block;margin-bottom:7px;font-size:27px;line-height:1;font-weight:500;color:var(--ink)}
.benefit-card span{display:block;font-size:10px;line-height:1.5;letter-spacing:.025em;color:var(--copy)}
.benefit-note{font-size:11px!important;color:#696d69!important}
.document-list{margin:14px 0 17px;padding-left:19px;color:var(--copy);font-size:12.5px;line-height:1.72}
.document-list li{margin-bottom:5px}
.official-veteran-links{margin-bottom:18px}
.official-veteran-links a{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.official-veteran-links a span{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#756444;font-weight:700}
.official-veteran-links a strong{font-size:14px;line-height:1.3;font-weight:500;color:var(--ink)}
.official-veteran-links a small{font-size:10px;line-height:1.5;color:var(--copy)}
.veteran-source-note{margin-top:18px;max-width:880px}
@media(max-width:900px){.veteran-benefits .content-copy{grid-column:1/span 7}}
@media(max-width:700px){.benefit-amounts{grid-template-columns:1fr}.veteran-benefits .content-copy{width:100%}}
/* v12.17: stacked contextual callouts on Hindu / Sikh page */
.fact-callout-stack{grid-column:8/span 5;display:grid;grid-auto-rows:1fr;gap:14px;align-self:start}
.fact-callout-stack .fact-callout{grid-column:auto;display:flex;flex-direction:column;justify-content:flex-start}
@media(max-width:900px){.fact-callout-stack{grid-column:8/span 5}}
@media(max-width:700px){.fact-callout-stack{width:100%;margin-top:var(--block-gap);gap:12px}}

/* v12.21 — About page closing section mirrors the two-column facts section above. */
.about-closing .content-grid{align-items:start}
.about-closing-image{
  grid-column:9/span 4;
  margin:0;
  width:100%;
  align-self:start;
}
.about-closing-image img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
@media(max-width:900px){
  .about-closing-image{grid-column:8/span 5}
}
@media(max-width:700px){
  .about-closing-image{width:100%;margin-top:var(--block-gap)}
}


/* v12.22 — Services closing composition */
.services-closing .content-copy{grid-column:1/span 6;max-width:560px}
.services-closing-figure{grid-column:8/span 5;margin:0;align-self:end}
.services-closing-figure img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.service-note a{color:inherit;text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:2px}
@media(max-width:700px){
  .services-closing .content-copy{max-width:none}
  .services-closing-figure{margin-top:20px}
}


/* v12.25 — mobile reading order: inquiry follows page content.
   Contact remains the intentional exception and keeps its form in the lead. */
.mobile-inquiry-section{display:none}
@media(max-width:700px){
  .unified-lead .quick-inquiry:not(.contact-page-form){display:none}
  .mobile-inquiry-section{display:block;margin-top:6px;margin-bottom:var(--interior-section-gap)}
  .mobile-inquiry-section .mobile-bottom-inquiry{display:block;margin-top:0;width:100%}
}

/* v12.26 — Veterans title-row service seals. Positioned within the existing
   lead-top box so the image never changes that row's vertical height. */
@media(min-width:701px){
  .veterans-lead-top{position:relative;overflow:hidden}
  .veterans-lead-top .interior-heading{max-width:66%;position:relative;z-index:1}
  .veterans-service-seals{
    position:absolute;
    right:0;
    top:0;
    bottom:18px;
    width:30%;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    pointer-events:none;
  }
  .veterans-service-seals img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:right center;
  }
}
@media(max-width:700px){
  .veterans-service-seals{display:none}
}


/* v12.28 — Hindu / Sikh title-row medallion grouping. Mirrors the Veterans
   title-row treatment and remains inside the existing lead-top height. */
@media(min-width:701px){
  .hindu-lead-top{position:relative;overflow:hidden}
  .hindu-lead-top .interior-heading{max-width:66%;position:relative;z-index:1}
  .hindu-medallion-group{
    position:absolute;
    right:0;
    top:0;
    bottom:18px;
    width:30%;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    pointer-events:none;
  }
  .hindu-medallion-group img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:right center;
  }
}
@media(max-width:700px){
  .hindu-medallion-group{display:none}
}


/* v12.29 — Shipping title-row medallion grouping. Mirrors Veterans and
   Hindu / Sikh treatment and remains inside the existing lead-top height. */
@media(min-width:701px){
  .shipping-lead-top{position:relative;overflow:hidden}
  .shipping-lead-top .interior-heading{max-width:66%;position:relative;z-index:1}
  .shipping-medallion-group{
    position:absolute;
    right:0;
    top:0;
    bottom:18px;
    width:30%;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    pointer-events:none;
  }
  .shipping-medallion-group img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:right center;
  }
}
@media(max-width:700px){
  .shipping-medallion-group{display:none}
}


/* v12.30 — About title-row medallion grouping. Mirrors Veterans, Hindu / Sikh,
   and Shipping treatment and remains inside the existing lead-top height. */
@media(min-width:701px){
  .about-lead-top{position:relative;overflow:hidden}
  .about-lead-top .interior-heading{max-width:66%;position:relative;z-index:1}
  .about-medallion-group{
    position:absolute;
    right:0;
    top:0;
    bottom:18px;
    width:30%;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    pointer-events:none;
  }
  .about-medallion-group img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:right center;
  }
}
@media(max-width:700px){
  .about-medallion-group{display:none}
}


/* v12.31 — Services title-row medallion grouping. Mirrors About, Veterans,
   Hindu / Sikh and Shipping while preserving the existing title-row height. */
@media(min-width:701px){
  .services-lead-top{position:relative;overflow:hidden}
  .services-lead-top .interior-heading{max-width:66%;position:relative;z-index:1}
  .services-medallion-group{
    position:absolute;
    right:0;
    top:0;
    bottom:18px;
    width:30%;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    pointer-events:none;
  }
  .services-medallion-group img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:right center;
  }
}
@media(max-width:700px){
  .services-medallion-group{display:none}
}


/* v12.32 — Testimonials title-row medallion grouping. Mirrors About, Services,
   Veterans, Hindu / Sikh and Shipping while preserving the existing row height. */
@media(min-width:701px){
  .testimonials-lead-top{position:relative;overflow:hidden}
  .testimonials-lead-top .interior-heading{max-width:66%;position:relative;z-index:1}
  .testimonials-medallion-group{
    position:absolute;
    right:0;
    top:0;
    bottom:18px;
    width:30%;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    pointer-events:none;
  }
  .testimonials-medallion-group img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:right center;
  }
}
@media(max-width:700px){
  .testimonials-medallion-group{display:none}
}


/* v12.33 — Media / Gallery title-row medallion grouping. Mirrors About, Services,
   Veterans, Hindu / Sikh, Shipping and Testimonials while preserving row height. */
@media(min-width:701px){
  .media-lead-top{position:relative;overflow:hidden}
  .media-lead-top .interior-heading{max-width:66%;position:relative;z-index:1}
  .media-medallion-group{
    position:absolute;
    right:0;
    top:0;
    bottom:18px;
    width:30%;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    pointer-events:none;
  }
  .media-medallion-group img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:right center;
  }
}
@media(max-width:700px){
  .media-medallion-group{display:none}
}


/* v12.38 — canonical medallion system.
   Every interior grouping uses one fixed visible scale and one fixed rail position. */
@media(min-width:701px){
  .unified-lead .interior-lead-top.has-medallions{
    position:relative!important;
    overflow:hidden!important;
    min-height:156px!important;
    padding-bottom:18px!important;
    margin-bottom:20px!important;
  }
  .unified-lead .interior-lead-top.has-medallions .interior-heading{
    width:auto!important;
    max-width:calc(100% - 260px)!important;
    position:relative!important;
    z-index:1!important;
  }
  .unified-lead .lead-medallion-group,
  .unified-lead .veterans-service-seals,
  .unified-lead .hindu-medallion-group,
  .unified-lead .shipping-medallion-group,
  .unified-lead .about-medallion-group,
  .unified-lead .services-medallion-group,
  .unified-lead .testimonials-medallion-group,
  .unified-lead .media-medallion-group{
    position:absolute!important;
    right:0!important;
    left:auto!important;
    top:50%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    width:220px!important;
    height:124px!important;
    max-width:220px!important;
    max-height:124px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    pointer-events:none!important;
  }
  .unified-lead .lead-medallion-group img,
  .unified-lead .veterans-service-seals img,
  .unified-lead .hindu-medallion-group img,
  .unified-lead .shipping-medallion-group img,
  .unified-lead .about-medallion-group img,
  .unified-lead .services-medallion-group img,
  .unified-lead .testimonials-medallion-group img,
  .unified-lead .media-medallion-group img{
    display:block!important;
    width:auto!important;
    height:124px!important;
    max-width:220px!important;
    max-height:124px!important;
    object-fit:contain!important;
    object-position:right center!important;
    margin:0 0 0 auto!important;
    padding:0!important;
  }
}
@media(max-width:700px){
  .unified-lead .lead-medallion-group,
  .unified-lead .veterans-service-seals,
  .unified-lead .hindu-medallion-group,
  .unified-lead .shipping-medallion-group,
  .unified-lead .about-medallion-group,
  .unified-lead .services-medallion-group,
  .unified-lead .testimonials-medallion-group,
  .unified-lead .media-medallion-group{display:none!important}
}


/* v12.40 — Shipping page lower-right documentary image to fill the negative space
   beneath the side facts while preserving the existing two-column rhythm. */
.shipping-content-image{
  grid-column:9/span 4;
  margin:6px 0 0;
  width:100%;
  align-self:start;
}
.shipping-content-image img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
@media(max-width:900px){
  .shipping-content-image{grid-column:8/span 5}
}
@media(max-width:700px){
  .shipping-content-image{width:100%;margin-top:var(--block-gap)}
}


/* v12.41 — Shipping side column: keep the shoreline image directly beneath
   the facts panel so the right rail closes cleanly without a large gap. */
.shipping-side-column{
  grid-column:9/span 4;
  display:flex;
  flex-direction:column;
  align-self:start;
}
.shipping-side-column .side-facts{
  grid-column:auto;
  width:100%;
}
.shipping-side-column .shipping-content-image{
  grid-column:auto;
  width:100%;
  margin:20px 0 0;
}
.shipping-side-column .shipping-content-image img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
@media(max-width:900px){
  .shipping-side-column{grid-column:8/span 5}
}
@media(max-width:700px){
  .shipping-side-column{width:100%;margin-top:var(--block-gap)}
  .shipping-side-column .shipping-content-image{margin-top:18px}
}


/* v12.42 — Shipping bottom section mirrors the About-page closing composition. */
.shipping-before .content-grid{align-items:center}
.shipping-before .content-copy{grid-column:1/span 7;max-width:680px}
.shipping-before-image{
  grid-column:9/span 4;
  margin:0;
  width:100%;
  align-self:center;
}
.shipping-before-image img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
@media(max-width:900px){
  .shipping-before-image{grid-column:8/span 5}
}
@media(max-width:700px){
  .shipping-before .content-copy{max-width:none}
  .shipping-before-image{width:100%;margin-top:var(--block-gap)}
}

/* v12.43 — vertically center packing image against the full Before Shipping copy block. */
@media(max-width:700px){
  .shipping-before .content-grid{align-items:start}
  .shipping-before-image{align-self:start}
}


/* v12.54 — Richard Zampella editorial service portrait */
.richard-military-copy::after{content:"";display:block;clear:both}
.richard-service-portrait{
  float:left;
  width:150px;
  height:auto;
  margin:4px 20px 10px 0;
  border:1px solid rgba(117,100,68,.22);
}
@media(max-width:700px){
  .richard-service-portrait{
    width:118px;
    margin:3px 16px 8px 0;
  }
}

/* v12.55 — Richard Zampella documentary closing composition.
   Mirrors the restrained text/image balance used by other interior-page endings. */
.richard-documentary .content-grid{align-items:center}
.richard-documentary .content-copy{grid-column:1/span 6;max-width:560px}
.richard-documentary-image{
  grid-column:8/span 5;
  margin:0;
  width:100%;
  align-self:center;
}
.richard-documentary-image img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
@media(max-width:900px){
  .richard-documentary .content-copy{grid-column:1/span 7;max-width:620px}
  .richard-documentary-image{grid-column:8/span 5}
}
@media(max-width:700px){
  .richard-documentary .content-grid{align-items:start}
  .richard-documentary .content-copy{max-width:none}
  .richard-documentary-image{width:100%;margin-top:var(--block-gap)}
}

/* v12.43 — Policies: use the previously empty reading rail for documentary
   photography and the inquiry form, rather than expanding the lead area. */
.policy-content .content-copy.wide{
  grid-column:1/span 8;
  max-width:760px;
}
.policy-rail{
  grid-column:9/span 4;
  display:flex;
  flex-direction:column;
  gap:22px;
  align-self:start;
}
.policy-rail-image{
  margin:0;
  width:100%;
}
.policy-rail-image img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center center;
}
.policy-rail-image figcaption{
  margin-top:8px;
  color:#74746f;
  font-size:8.5px;
  line-height:1.45;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.policy-rail-form{width:100%;}
@media(max-width:900px){
  .policy-content .content-copy.wide{grid-column:1/span 7;max-width:none}
  .policy-rail{grid-column:8/span 5}
}
@media(max-width:700px){
  .policy-content .content-copy.wide,
  .policy-rail{width:100%;max-width:none}
  .policy-rail{margin-top:var(--block-gap);gap:20px}
  .policy-rail-image img{aspect-ratio:16/9}
  .policy-rail-form{order:99}
}


/* Production lead-image stability + load reveal.
   On desktop the form establishes the grid-row height and the image fills
   that row. The photograph stays hidden until the remote form has rendered,
   so its final crop appears once rather than visibly snapping into place. */
.unified-lead .interior-lead-media > .interior-visual{
  min-height:0!important;
  overflow:hidden!important;
  background:#d9d3c9;
}

/* Paired desktop lead: match the final inquiry-form height. */
@media(min-width:701px){
  .unified-lead .interior-lead-media:not(.single-media) > .interior-visual{
    aspect-ratio:auto!important;
    height:100%!important;
    align-self:stretch!important;
  }

  .unified-lead .interior-lead-media:not(.single-media) > .interior-visual > img{
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:none;
    aspect-ratio:auto!important;
    object-fit:cover;
  }

  /* Single-media pages retain their authored 16:9 lead. */
  .unified-lead .interior-lead-media.single-media > .interior-visual{
    aspect-ratio:16/9;
    height:auto!important;
    align-self:start!important;
  }

  .unified-lead .interior-lead-media.single-media > .interior-visual > img{
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:none;
    aspect-ratio:auto!important;
    object-fit:cover;
  }
}

/* Mobile is deliberately 16:9; the inquiry moves below the page content
   (except on Contact) and should not control the photograph's height. */
@media(max-width:700px){
  .unified-lead .interior-lead-media > .interior-visual{
    aspect-ratio:16/9;
    height:auto!important;
    align-self:start!important;
  }

  .unified-lead .interior-lead-media > .interior-visual > img{
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:none;
    aspect-ratio:auto!important;
    object-fit:cover;
  }
}

/* Hide only when JS is available; no-JS visitors still see the image. */
.js-lead-reveal .lead-image-reveal{
  opacity:0;
  transform:translateY(16px);
  transition:
    opacity 900ms cubic-bezier(.22,.61,.36,1),
    transform 900ms cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}

.js-lead-reveal .lead-image-reveal.lead-image-visible{
  opacity:1;
  transform:translateY(0);
}

@media(prefers-reduced-motion:reduce){
  .js-lead-reveal .lead-image-reveal,
  .js-lead-reveal .lead-image-reveal.lead-image-visible{
    opacity:1;
    transform:none;
    transition:none;
  }
}
