.home-page #main{overflow:clip}
.home-panel{position:relative;isolation:isolate;min-height:calc(100svh - 98px);display:grid;align-items:center;overflow:hidden}
.home-panel-inner{position:relative;z-index:2;width:min(1180px,calc(100% - 12vw));margin-inline:auto}
.home-panel .eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}
.home-panel h1,.home-panel h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;line-height:.98;margin:0}
.home-action{display:inline-flex;align-items:center;gap:22px;padding:15px 19px;background:#e4d1b8;color:#30352c;text-decoration:none;font-size:11px;letter-spacing:.025em;transition:background .2s,transform .2s}
.home-action:hover{background:#f0dfc8;transform:translateY(-2px)}
.home-action span{font-size:16px}
.home-hero{min-height:calc(100svh - 120px);color:#fffaf1;background:#303a31}
.home-memorial-sequence{position:absolute;z-index:0;inset:0;overflow:hidden;background:#273229}
.home-memorial-sequence::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#19231bed 0%,#1d2918cf 34%,#19221b36 77%),linear-gradient(0deg,#162018ad,transparent 58%)}
.home-memorial-sequence img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.68) brightness(.8);opacity:0;transform:scale(1.07);animation:home-memorial-crossfade 24s linear infinite;will-change:opacity}
.home-memorial-sequence img:nth-child(1){object-position:50% 58%;animation-delay:0s,0s}
.home-memorial-sequence img:nth-child(2){object-position:50% 50%;animation-delay:-16s,-16s}
.home-memorial-sequence img:nth-child(3){object-position:50% 62%;animation-delay:-8s,-8s}
@keyframes home-memorial-crossfade{0%,28%{opacity:1}33.333%,94.667%{opacity:0}100%{opacity:1}}
.home-hero-copy{padding-block:42px 76px}
.home-hero-copy .eyebrow{color:#dedcc8}
.home-hero h1{max-width:8.4ch;font-size:clamp(66px,8.1vw,108px)}
.home-hero h1 em{color:#d8d7bd;font-style:italic}
.home-lede{max-width:44ch;margin:25px 0 22px;color:#f0eee1;font-size:15px;line-height:1.75}
.home-image-note{position:absolute;z-index:2;right:clamp(22px,4vw,56px);bottom:52px;color:#fff8ec;font-size:9px;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 9px #000}
.home-scroll-cue{position:absolute;z-index:2;bottom:24px;left:max(6vw,24px);display:flex;align-items:center;gap:13px;color:#e5e5d8;text-decoration:none;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.home-scroll-cue span{font-size:15px}
.home-process{background:#f2f0e8;color:#30362f}
.home-process-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,7vw,100px);align-items:center;padding-block:52px}
.home-process h2{max-width:8ch;font-size:clamp(48px,6vw,76px)}
.home-intro{max-width:42ch;margin:22px 0 0;color:#5e665a;font-size:14px;line-height:1.75}
.home-step-list{border-top:1px solid #c9cbbf}
.home-step{display:grid;grid-template-columns:42px 1fr;gap:12px;border-bottom:1px solid #c9cbbf;padding:18px 0}
.home-step>b{padding-top:5px;color:#76816d;font-size:11px;font-weight:500;letter-spacing:.12em}
.home-step h3{margin:0 0 6px;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:400;line-height:1.1}
.home-step p{max-width:46ch;margin:0;color:#64695f;font-size:11px;line-height:1.6}
.home-craft{background:#dfe3d8;color:#2d332d}
.home-craft-inner{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,6vw,82px);align-items:center;padding-block:44px}
.home-craft-copy h2{max-width:8ch;font-size:clamp(52px,6.2vw,82px)}
.home-craft-copy>p:not(.eyebrow){max-width:40ch;margin:20px 0 23px;color:#586157;font-size:14px;line-height:1.75}
.home-craft-photo{position:relative;margin:0;min-width:0;padding:10px;background:#f4f1e9;box-shadow:0 18px 36px #222a201f}
.home-craft-photo img{display:block;width:100%;height:min(52vh,440px);min-height:280px;object-fit:cover;transform:rotate(var(--photo-level));}
.home-family{min-height:min(calc(100svh - 98px),660px);display:block;align-content:center;background:#d6c5ad;color:#2d2c25}
.home-family::before{position:absolute;z-index:1;inset:0 0 0 39%;content:"";pointer-events:none;background:linear-gradient(90deg,#d6c5ad66 0%,#d6c5ad25 17%,#d6c5ad00 36%)}
.home-family-film{position:absolute;z-index:0;top:50%;right:clamp(96px,11.3vw,180px);width:min(42vw,640px);aspect-ratio:1056/544;margin:0;padding:10px;background:#f4f1e9;box-shadow:0 18px 36px #222a201f;transform:translateY(-50%)}
.home-family-film video{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72)}
.home-family-copy{padding-block:45px 68px}
.home-family-copy h2{max-width:10.5ch;font-size:clamp(52px,5.6vw,74px)}
.home-family-copy>p:not(.eyebrow){max-width:38ch;margin:18px 0 0;color:#4c4b40;font-size:14px;line-height:1.7}
.home-contact-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}
.home-phone{color:#302e27;font-size:13px;font-weight:600;text-decoration:none}
.home-story-link{display:inline-block;margin-top:17px;color:#6b6254;font-size:9px;letter-spacing:.09em;text-decoration:none;text-transform:uppercase}
@media(max-width:760px){
  .home-panel{min-height:calc(100svh - 78px)}
  .home-panel-inner{width:calc(100% - 44px)}
  .home-panel .eyebrow{font-size:9px;margin-bottom:14px}
  .home-hero{min-height:calc(100svh - 100px)}
  .home-memorial-sequence{inset:0}
  .home-memorial-sequence::after{background:linear-gradient(90deg,#19231bd1,#1d291851),linear-gradient(0deg,#162018c2,transparent 75%)}
  .home-hero-copy{padding-block:26px 75px}
  .home-hero h1{max-width:8.1ch;font-size:clamp(56px,13vw,80px)}
  .home-lede{max-width:36ch;margin:18px 0;font-size:13px}
  .home-action{gap:15px;padding:13px 15px;font-size:10px}
  .home-image-note{right:13px;bottom:53px;max-width:17ch;text-align:right;font-size:7px}
  .home-scroll-cue{bottom:18px;left:22px;font-size:8px}
  .home-process-inner,.home-craft-inner{grid-template-columns:1fr;gap:22px;padding-block:42px}
  .home-process h2,.home-craft-copy h2{max-width:10ch;font-size:clamp(45px,11vw,58px)}
  .home-intro{margin-top:15px;font-size:12px}
  .home-step{grid-template-columns:30px 1fr;padding:12px 0}
  .home-step h3{font-size:20px}
  .home-step p{font-size:10px}
  .home-craft-copy>p:not(.eyebrow){margin:14px 0 17px;font-size:12px}
  .home-craft-photo{padding:7px}
  .home-craft-photo img{height:220px;min-height:0}
  .home-family{display:flex;flex-direction:column-reverse;justify-content:space-between;gap:18px;min-height:max(calc(100svh - 110px),620px);padding:40px 0 0}
  .home-family::before{inset:auto 0 0;height:38%;background:linear-gradient(90deg,#d6c5ad88 0%,#d6c5ad30 18%,#d6c5ad00 36%)}
  .home-family-film{position:relative;top:auto;right:auto;flex:none;width:calc(100% - 44px);height:auto;aspect-ratio:1056/544;margin:0 auto;padding:7px;transform:none}
  .home-family-film video{object-fit:cover}
  .home-family-copy{width:calc(100% - 44px);padding:0;margin-inline:auto}
  .home-family-copy h2{max-width:14ch;font-size:clamp(34px,9vw,40px);line-height:1.02;letter-spacing:-.035em}
  .home-family-copy>p:not(.eyebrow){max-width:32ch;margin-top:9px;font-size:11px}
  .home-contact-row{gap:14px;margin-top:15px}
  .home-phone{font-size:10px}
  .home-story-link{margin-top:12px;font-size:8px}
}
@media(max-width:380px){.home-family{min-height:700px}.home-family-copy h2{font-size:34px}.home-contact-row{gap:10px}}
@media(prefers-reduced-motion:reduce){.home-action{transition:none}.home-memorial-sequence img{animation:none;will-change:auto}.home-memorial-sequence img:nth-child(1){opacity:1}.home-memorial-sequence img:nth-child(n+2){opacity:0}}

/* A composed stone folio: one working family, three real memorial views. */
.home-hero{
  min-height:min(810px,calc(100svh - 88px));
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  grid-template-rows:1fr;
  align-items:center;
  gap:clamp(1.5rem,5vw,5.5rem);
  padding:clamp(3.5rem,7vw,6.5rem) max(6vw,24px);
  background:var(--paper);
  color:var(--ink);
}
.home-hero-copy{
  grid-column:1;
  grid-row:1;
  width:auto;
  max-width:540px;
  margin:0;
  padding:0;
}
.home-hero-copy .eyebrow{color:var(--olive);max-width:30ch}
.home-hero h1{max-width:7.6ch;font-size:clamp(58px,7.2vw,102px);line-height:.94;letter-spacing:-.035em}
.home-hero h1 em{color:var(--olive)}
.home-lede{max-width:40ch;margin:24px 0;color:var(--muted);font-size:16px;line-height:1.75}
.home-action{background:var(--olive);color:var(--paper-light);padding:16px 19px;font-size:12px;transition:background .22s ease,transform .22s ease}
.home-action:hover{background:#334638;transform:translateY(-2px)}
.home-memorial-sequence{
  position:relative;
  inset:auto;
  grid-column:2;
  grid-row:1;
  justify-self:end;
  width:100%;
  max-width:750px;
  height:clamp(390px,42vw,600px);
  overflow:visible;
  background:none;
}
.home-memorial-sequence::after{display:none}
.home-memorial-sequence img{
  opacity:1;
  filter:none;
  object-fit:cover;
  transform:none;
  animation:none;
  border:8px solid var(--paper-light);
  outline:1px solid var(--line);
  box-shadow:0 16px 42px #2629231c;
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.home-memorial-sequence img:nth-child(1){left:15%;top:17%;width:74%;height:65%;object-position:50% 58%;z-index:1}
.home-memorial-sequence img:nth-child(2){left:0;top:0;width:36%;height:35%;object-position:center;z-index:2}
.home-memorial-sequence img:nth-child(3){right:0;bottom:0;left:auto;top:auto;width:35%;height:31%;object-position:50% 62%;z-index:2}
.home-memorial-sequence:hover img:nth-child(1){transform:translateY(-3px)}
.home-image-note{right:6vw;bottom:25px;color:var(--muted);font-size:9px;text-shadow:none}
.home-scroll-cue{color:var(--muted)}
.home-scroll-cue span{color:var(--olive)}
.home-process{min-height:auto;background:#eeeadf;color:var(--ink);padding:clamp(4.5rem,9vw,8.5rem) 0}
.home-process-inner{width:min(1180px,calc(100% - 12vw));padding:0}
.home-process h2,.home-craft-copy h2,.home-family-copy h2{letter-spacing:-.035em}
.home-process h2{max-width:9ch;font-size:clamp(50px,6vw,80px)}
.home-intro,.home-step p,.home-craft-copy>p:not(.eyebrow){color:var(--muted)}
.home-step-list{border-color:var(--line)}
.home-step{border-color:var(--line);grid-template-columns:48px 1fr;padding:20px 0}
.home-step>b{color:var(--olive);font-variant-numeric:tabular-nums}
.home-step h3{font-size:clamp(23px,2.2vw,29px);letter-spacing:-.02em}
.home-step p{font-size:13px;line-height:1.65}
.home-craft{min-height:auto;background:var(--paper);color:var(--ink);padding:clamp(4.5rem,9vw,8rem) 0}
.home-craft-inner{width:min(1180px,calc(100% - 12vw));padding:0;gap:clamp(2.5rem,7vw,7rem)}
.home-craft-copy h2{max-width:9ch;font-size:clamp(48px,5.8vw,78px)}
.home-craft-copy>p:not(.eyebrow){font-size:15px;line-height:1.75}
.home-craft-photo{padding:8px;background:var(--paper-light);border:1px solid var(--line);box-shadow:0 14px 34px #26292312}
.home-craft-photo img{height:min(52vh,500px);min-height:320px;transform:none;object-position:center}
.home-family{min-height:620px;display:block;background:var(--olive);color:var(--paper-light);padding-block:clamp(4rem,8vw,7rem)}
.home-family::before{inset:0 0 0 40%;background:linear-gradient(90deg,var(--olive),#40544455 42%,transparent 78%)}
.home-family-film{right:clamp(5vw,10vw,160px);width:min(43vw,650px);padding:8px;background:var(--paper-light);border:1px solid #ffffff66;box-shadow:0 16px 42px #1b241e33}
.home-family-copy{width:min(1180px,calc(100% - 12vw));padding-block:40px 65px}
.home-family-copy .eyebrow,.home-family-copy>p:not(.eyebrow),.home-story-link,.home-phone{color:#f5f2e9}
.home-family-copy h2{max-width:9ch;font-size:clamp(50px,5.6vw,76px)}
.home-family-history{max-width:40ch;margin-top:22px!important;padding-top:16px;border-top:1px solid #f5f2e97a;font-size:13px!important;line-height:1.65!important}
.home-phone{text-underline-offset:4px}
.home-story-link{border-bottom:1px solid #f5f2e97a;padding-bottom:4px}
@media(max-width:760px){
  .home-hero{min-height:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:1.4rem;padding:42px 22px 66px}
  .home-hero-copy{grid-column:1;grid-row:1;max-width:none;padding:0}
  .home-hero h1{max-width:9ch;font-size:clamp(49px,12vw,76px)}
  .home-lede{max-width:38ch;margin:16px 0 18px;font-size:14px}
  .home-memorial-sequence{grid-column:1;grid-row:2;width:100%;height:clamp(270px,78vw,380px);margin:0}
  .home-memorial-sequence img{border-width:6px}
  .home-memorial-sequence img:nth-child(1){left:15%;top:17%;width:76%;height:66%}
  .home-memorial-sequence img:nth-child(2){width:36%;height:37%}
  .home-memorial-sequence img:nth-child(3){width:36%;height:31%}
  .home-image-note{position:static;grid-column:1;grid-row:3;margin:0;max-width:none;text-align:left;color:var(--muted);font-size:8px}
  .home-scroll-cue{bottom:20px;left:22px;font-size:8px}
  .home-process,.home-craft{padding-block:56px}
  .home-process-inner,.home-craft-inner{width:calc(100% - 44px);gap:26px;padding:0}
  .home-process h2,.home-craft-copy h2{max-width:11ch;font-size:clamp(42px,10.5vw,58px)}
  .home-step{grid-template-columns:34px 1fr;padding:16px 0}
  .home-step h3{font-size:22px}
  .home-step p{font-size:12px}
  .home-craft-photo{padding:6px}
  .home-craft-photo img{height:auto;aspect-ratio:1.15;min-height:0}
  .home-family{display:grid;grid-template-columns:minmax(0,1fr);min-height:auto;gap:24px;padding:52px 0 42px}
  .home-family::before{display:none}
  .home-family-film{position:relative;grid-column:1;grid-row:2;top:auto;right:auto;width:calc(100% - 44px);height:auto;aspect-ratio:1056/544;margin:0 auto;padding:6px;transform:none}
  .home-family-copy{grid-column:1;grid-row:1;width:calc(100% - 44px);padding:0;margin-inline:auto}
  .home-family-copy h2{max-width:11ch;font-size:clamp(39px,10vw,52px)}
  .home-family-copy>p:not(.eyebrow){max-width:40ch;font-size:13px}
  .home-family-history{margin-top:16px!important;padding-top:12px;font-size:12px!important}
  .home-contact-row{gap:14px;margin-top:18px}
  .home-phone{font-size:12px}
  .home-story-link{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .home-memorial-sequence img{animation:none!important;transition:none!important}
  .home-action{transition:none!important}
}
