/* Portfolio-preview layout refinements (content/design unchanged) */
html,body{overflow-x:hidden}
img,video{max-width:100%}
@media (max-width:767.98px){
  .pp-unjustify{text-align:left!important}
  section,.section{scroll-margin-top:70px}
  .btn{min-height:44px}
  input,select,textarea{font-size:16px!important} /* stops iOS zoom on focus */
}
.pp-notice{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;z-index:99999;
  width:min(92vw,420px);box-sizing:border-box;background:#33331f;color:#f7f2e6;padding:16px 20px;border-left:4px solid #e0bb75;
  font-family:inherit;font-size:15px;line-height:1.45;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:all .3s ease;pointer-events:none}
.pp-notice.show{opacity:1;transform:translate(-50%,0)}
.pp-notice strong{display:block;margin-bottom:2px;color:#e0bb75}
/* Original desktop composition; proportional sections also work inside the portfolio window. */
:root{--preview-header-height:100px;--preview-section-space:64px;--preview-wide-space:96px}
section[id]{scroll-margin-top:calc(var(--preview-header-height) + 16px)}
.header{left:0}
main p,main li{overflow-wrap:break-word}
.newsSec_card_cnt,.waySec_box_cnt,.supportSec_left,.supportSec_right{min-width:0}
@media (min-width:768px){
  .py-80{padding-block:var(--preview-section-space)}
  .py-140{padding-block:var(--preview-wide-space)}
  .commonBannerSec:not(.commonBannerSec-sm){min-height:760px;padding-bottom:80px}
  .aboutPage .commonBannerSec{min-height:780px}
  .buildingDedicationsPage .commonBannerSec{min-height:690px}
  .visitorSec{min-height:700px;padding-bottom:70px}
  .helpSec{min-height:440px}
  .homePage .theMountSec_left{padding-block:70px}
  .aboutPage .aboutSec_item-bg{margin-block:32px;padding-block:32px}
  .aboutPage .aboutSec_button{margin-top:32px}
  .aboutPage .ourMissionSec_cnt{margin-left:70%;max-width:none;width:27%;padding-block:64px}
  .buildingDedicationsPage .familyPartSec_accordion .accordion-item:not(:last-child){margin-bottom:48px}
  .buildingDedicationsPage .familyPartSec_contact{margin-top:64px}
  .homePage .newsSec{padding-block:64px}
  .homePage .newsSec_bottom_left{width:56%;max-width:none}
  .homePage .newsSec_bottom_right{width:44%;min-width:0}
  .homePage .newsSec_card_img{width:44%;margin-right:20px}
  .homePage .newsSec_email_right{width:42%;min-width:0}
}
@media (min-width:1200px){
  .homePage .bannerSec{display:flex;flex-direction:column;justify-content:center;min-height:720px;padding:120px 0 72px}
  .homePage .bannerSec_inner{display:flex;flex-direction:column;justify-content:space-between;flex:1}
  .homePage .bannerSec_inner_top h1{font-size:144px;transform:translateX(-35px)}
  .homePage .bannerSec_inner_top h1 span{font-size:56px;margin-right:30px}
  .homePage .bannerSec_inner_bottom{padding-top:20px}
  .homePage .bannerSec_inner_bottom p{font-size:32px}
  .homePage .bannerSec_inner_bottom_right a{margin-bottom:26px}
}
@media (min-width:1600px){
  :root{--preview-section-space:80px;--preview-wide-space:110px}
  .homePage .bannerSec{min-height:832px;padding:115px 0 85px}
  .homePage .bannerSec_inner_top h1{font-size:162px;transform:translateX(-70px)}
  .homePage .bannerSec_inner_top h1 span{font-size:62px}
  .homePage .bannerSec_inner_bottom p{font-size:40px}
  .commonBannerSec:not(.commonBannerSec-sm){min-height:1040px;padding-bottom:110px}
  .aboutPage .commonBannerSec{min-height:1100px}
  .buildingDedicationsPage .commonBannerSec{min-height:960px}
  .visitorSec{min-height:950px;padding-bottom:110px}
  .homePage .theMountSec_left{padding-block:100px}
  .helpSec{min-height:590px}
}
@media (min-width:768px) and (max-width:1199.98px){
  :root{--preview-section-space:48px;--preview-wide-space:64px}
  .commonBannerSec:not(.commonBannerSec-sm),.aboutPage .commonBannerSec{min-height:620px;padding-bottom:56px}
  .buildingDedicationsPage .commonBannerSec{min-height:560px}
  .visitorSec{min-height:580px;padding-bottom:48px}
  .aboutPage .ourMissionSec_bg{width:58%}
  .aboutPage .ourMissionSec_cnt{margin-left:62%;width:35%;padding-block:48px}
  .homePage .theMountSec_left{padding-block:48px}
}
@media (max-width:767.98px){
  :root{--preview-section-space:40px;--preview-wide-space:48px}
  .py-80{padding-block:var(--preview-section-space)}
  .py-140{padding-block:var(--preview-wide-space)}
  .navbar-toggler,.dropdown-toggle-btn{min-width:44px;min-height:44px}
  .navbar-collapse{max-height:calc(100dvh - var(--preview-header-height));overflow-y:auto;overscroll-behavior:contain}
  main p,main li{text-align:start!important}
  .homePage .bannerSec{padding-block:56px 40px}
  .homePage .bannerSec_inner_bottom{gap:24px}
  .homePage .bannerSec_inner_bottom_left,.homePage .bannerSec_inner_bottom_right{min-width:0}
  .homePage .countSec_inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .homePage .countSec_box{width:auto}
  .homePage .theMountSec_left{padding-block:40px}
  .homePage .theMountSec_img,.aboutPage .aboutSec_bg,.aboutPage .ourMissionSec_bg{display:block;position:relative;width:100%;height:300px}
  .homePage .theMountSec_img img,.aboutPage .aboutSec_bg img,.aboutPage .ourMissionSec_bg img{object-fit:cover}
  .aboutPage .ourMissionSec_cnt{margin-left:0;width:100%;max-width:none;padding:40px 20px}
  .aboutPage .aboutSec{padding-bottom:0}
  .homePage .newsSec{padding-block:40px}
  .homePage .newsSec_title{gap:20px;align-items:flex-start!important}
  .homePage .newsSec_title_link{flex-shrink:0}
  .homePage .newsSec_bottom{gap:32px}
  .homePage .newsSec_card_img{width:34%;margin-right:16px}
  .homePage .newsSec_card_title{-webkit-line-clamp:unset;overflow:visible}
  .buildingDedicationsPage .familyPartSec_contact{margin-top:40px}
  .familyPartSec_card_price{overflow-wrap:anywhere}
  .footer_bottom_form{min-width:0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}
/* Homepage: match the 'new home 3' design export (1920px canvas) */
@media (min-width:1600px){
  .homePage .countSec{padding-block:56px}
  .homePage .theMountSec_left{padding-block:150px 180px}
  .homePage .reviewSec{padding-block:101px}
  .homePage .whySec{padding-block:94px}
  .homePage .newsSec{padding-block:122px}
  .homePage .waySec{padding-block:113px}
}
/* About page: match About design export */
@media (min-width:1200px){
  .aboutPage .ourMissionSec_bg{width:64.12%}
  .aboutPage .ourMissionSec_cnt{margin-left:69.79%;width:17.71%;max-width:340px;padding-block:80px}
  .aboutPage .aboutSec_item-bg{margin-block:50px;padding-block:45px}
  .aboutPage .aboutSec_button{margin-top:60px}
}
@media (min-width:1600px){
  .aboutPage .commonBannerSec{min-height:1230px;padding-bottom:230px}
  .aboutPage .aboutSec{min-height:1654px;padding-block:140px 116px}
  .aboutPage .aboutSec_bg{width:37.14%}
  .aboutPage .aboutSec_item-bg{margin-block:65px;padding-block:60px}
  .aboutPage .aboutSec_item h3{line-height:1.275}
  .aboutPage .aboutSec_item p{line-height:1.7}
  .aboutPage .aboutSec_button{margin-top:80px}
  .aboutPage .accomplisSec{min-height:748px;padding-block:110px 150px}
  .aboutPage .accomplisSec_cnt{max-width:1046px}
  .aboutPage .accomplisSec_item{padding:40px 49px}
  .aboutPage .accomplisSec_item:nth-child(odd){flex-basis:45.9%;max-width:45.9%}
  .aboutPage .accomplisSec_item:nth-child(even){flex-basis:54.1%;max-width:54.1%}
  .aboutPage .ourMissionSec{min-height:949px}
  .aboutPage .ourMissionSec_cnt{padding-block:110px}
  .aboutPage .endorsementsSec{min-height:1758px;padding-block:200px}
  .aboutPage .endorsementsSec>.container{max-width:1566px}
  .aboutPage .endorsementsSec_cnt{margin-top:90px!important}
  .aboutPage .endorsementsSec_col{flex:0 0 calc((100% - 160px)/3);max-width:calc((100% - 160px)/3)}
  .aboutPage .endorsementsSec_item_cnt{line-height:1.55;min-height:270px}
  .aboutPage .visitorSec{min-height:1134px;padding-bottom:140px}
  .aboutPage .visitorSec>.container{max-width:1540px}
  .aboutPage .meetingSec{min-height:748px;padding-block:96px 136px}
  .aboutPage .meetingSec>.container{max-width:1746px}
  .aboutPage .meetingSec_bottom .meetingSec_box:nth-child(odd){flex-basis:51.2%;max-width:51.2%}
  .aboutPage .meetingSec_bottom .meetingSec_box:nth-child(even){flex-basis:48.8%;max-width:48.8%}
  .aboutPage .helpSec>.container{max-width:none;padding-left:11.2%;padding-right:3.85%}
  .aboutPage .helpSec_cnt h2{max-width:820px}
  .aboutPage .helpSec_cnt_bottom{flex-wrap:nowrap;justify-content:space-between}
  .aboutPage .helpSec_cnt_bottom p{flex:0 1 780px}
  .aboutPage .helpSec_cnt_bottom>a{flex-shrink:0}
}

/* Remember + FAQ: match Remember.../FAQs design exports */
@media (min-width:1200px){
  .rememberPage .rememberCardSec_item_left,
  .rememberPage .rememberCardSec_item_content{min-width:0}
}
@media (min-width:1600px){
  .rememberPage .commonBannerSec{min-height:1230px;padding-bottom:210px}
  .rememberPage .rememberCardSec{padding-block:140px}
  .rememberPage .rememberCardSec>.container{max-width:1534px}
  .rememberPage .rememberCardSec_item_left{gap:32px}
  .faqPage .contentSec{padding-block:140px}
  .faqPage .contentSec_inner{max-width:1004px;position:relative;left:-19px}
  .faqPage .contentSec_inner>.commonHead{margin-bottom:125px!important}
  .faqPage .contentSec .accordion{gap:12px}
  .faqPage .contentSec .accordion .accordion-button{padding-block:23.5px}
}

/* Restore a Grave + Wall of Life: match their design exports */
@media (min-width:1200px){
  /* :has(.restoreGraveSec) excludes register-a-grave.html, which shares .restoreGravePage */
  .restoreGravePage:has(.restoreGraveSec) .commonBannerSec,
  .wallOfLifePage .commonBannerSec{min-height:760px}
}
@media (min-width:1600px){
  .restoreGravePage:has(.restoreGraveSec) .commonBannerSec,
  .wallOfLifePage .commonBannerSec{min-height:1235px;padding-bottom:220px}
  .restoreGravePage .restoreGraveSec{padding-block:140px 105px}
  .restoreGravePage .restoreGraveSec_top{padding-bottom:130px}
  .restoreGravePage .restoreGraveSec_center{padding-bottom:128px}
  .restoreGravePage .restoreGraveSec_center_inner .col-lg-7{transform:translateX(55px)}
  .restoreGravePage .restoreGraveSec_card{width:calc(100% + 164px);margin-inline:-82px;padding:65px 60px 85px}
  .restoreGravePage .restoreGraveSec_card_sponsor .row{--bs-gutter-x:12px}
  .restoreGravePage .restoreGraveSec_card_sponsor_box{padding-block:33px}
  .restoreGravePage .restoreGraveSec_card_project{margin-top:40px}
  .restoreGravePage .restoreGraveSec_card_project>.row>.col-xl-10{flex:0 0 auto;width:86%}
  .restoreGravePage .restoreGraveSec_card_project .row.g-2{--bs-gutter-x:24px}
  .restoreGravePage .restoreGraveSec_card_project_box{padding-block:33px}
  .restoreGravePage .restoreGraveSec_card_donate{max-width:1140px;margin-inline:auto 40px}
  .wallOfLifePage .wallOfLifeSec{padding-block:210px 140px}
}

/* Visit + Register a Grave: match their design exports */
@media (min-width:1200px){
  /* Register-only guard: excludes restore-a-grave.html */
  .restoreGravePage:has(> .restoreFormSec)>.commonBannerSec-sm .commonBannerSec_cnt{transform:translateY(35px)}
  .visitPage .reqTourSec_cards{--bs-gutter-x:24px}
}
@media (min-width:1600px){
  .visitPage .commonBannerSec{min-height:1230px;padding-bottom:150px}
  .visitPage .graveRegistrySec_item-leftImg{min-height:925px;align-items:stretch}
  .visitPage .graveRegistrySec_item-leftImg .graveRegistrySec_img{height:925px;min-height:925px}
  .visitPage .graveRegistrySec_item-leftImg .graveRegistrySec_img img{width:100%;height:100%;object-fit:cover;object-position:center}
  .visitPage .graveRegistrySec_item-leftImg .graveRegistrySec_cnt_box{padding-top:45px;transform:translateX(30px)}
  .visitPage .reqTourSec_cnt{padding-bottom:155px}
  .restoreGravePage>.restoreFormSec{padding-block:140px}
  .restoreGravePage>.restoreFormSec .restoreFormSec_card_top{padding:42px 40px 43px}
  .restoreGravePage>.restoreFormSec .restoreFormSec_card_bottom{padding:40px}
  .restoreGravePage>.restoreFormSec textarea.form-control{height:110px;min-height:110px}
}
/* General Donations + Building Dedications: match their design exports */
@media (min-width:1200px){
  .buildingDedicationsPage .familyPartSec_accordion .accordion-item:not(:last-child){margin-bottom:80px}
}
@media (min-width:1600px){
  /* Export header ends at y169; local header is 163px tall */
  .generalDonationsPage,.buildingDedicationsPage{margin-top:6px}
  .generalDonationsPage .commonBannerSec{min-height:1230px;padding-bottom:160px}
  .generalDonationsPage .commonBannerSec_cnt{max-width:1318px}
  .generalDonationsPage .historySec{padding-block:27px}
  .generalDonationsPage .supportSec{padding-block:145px}
  .generalDonationsPage .supportSec_right{min-height:681px}
  .generalDonationsPage .elevateSec{padding-block:78px}
  .generalDonationsPage .elevateSec_right{width:822px}
  .buildingDedicationsPage .commonBannerSec{min-height:1082px}
  .buildingDedicationsPage .familyPartSec{padding-top:120px;padding-bottom:180px}
  .buildingDedicationsPage .familyPartSec_top{margin-bottom:120px!important}
  .buildingDedicationsPage .familyPartSec_accordion{width:1440px;margin-left:-20px}
  .buildingDedicationsPage .familyPartSec_accordion .accordion-button{min-height:60px}
  .buildingDedicationsPage .familyPartSec_card{min-height:180px}
  .buildingDedicationsPage .familyPartSec_accordion .accordion-item:last-child .familyPartSec_card{height:180px;min-height:180px}
  .buildingDedicationsPage .familyPartSec_contact{margin-top:120px}
  .generalDonationsPage .visitorSec,.buildingDedicationsPage .visitorSec{min-height:1130px;padding-bottom:140px}
  .generalDonationsPage .visitorSec>.container,.buildingDedicationsPage .visitorSec>.container{max-width:1560px}
  .generalDonationsPage .meetingSec,.buildingDedicationsPage .meetingSec{padding-block:112px 111px}
  .generalDonationsPage .meetingSec>.container,.buildingDedicationsPage .meetingSec>.container{max-width:1760px}
  .generalDonationsPage .helpSec>.container,.buildingDedicationsPage .helpSec>.container{max-width:1530px}
  .generalDonationsPage .helpSec_cnt h2,.buildingDedicationsPage .helpSec_cnt h2{max-width:850px}
  .generalDonationsPage .helpSec_cnt p,.buildingDedicationsPage .helpSec_cnt p{max-width:820px}
}

/* News, Gallery, Contact: match their design exports */
@media (min-width:1200px){
  /* :has(> .gallerySec) excludes gallery-details.html */
  .newsPage .commonBannerSec,
  .galleryPage:has(> .gallerySec)> .commonBannerSec{min-height:980px;padding-bottom:120px}
  .newsPage .newsListSec{padding-block:80px}
  .galleryPage .gallerySec{padding-block:100px}
  .galleryPage .gallerySec .bannerImgSec ul li{margin-right:10px}
  .galleryPage .gallerySec .celebrate>.container>.py-80{padding-top:100px}
  .galleryPage .gallerySec .celebrateGrid{--bs-gutter-x:32px;--bs-gutter-y:32px}
  .contactPage .contactSec .formSec{padding:30px}
  .contactPage .contactSec .formSec input.form-control{height:50px;padding-block:12px}
  .contactPage .contactSec .formSec textarea.form-control{height:96px;min-height:96px}
  .contactPage .contactSec_right{padding-left:80px}
}
@media (min-width:1600px){
  .newsPage .commonBannerSec,
  .galleryPage:has(> .gallerySec)> .commonBannerSec{min-height:1230px;padding-bottom:150px}
  .newsPage .newsListSec{padding-block:96px}
  .newsPage .newsListSec>.container,
  .galleryPage .gallerySec .celebrate>.container{position:relative;left:-18px}
  .galleryPage .gallerySec{padding-block:128px}
  .galleryPage .gallerySec .celebrate .galleryTab .nav-link{min-height:96px}
  .galleryPage .gallerySec .celebrate .celebrateGrid .celebrateCard{min-height:620px}
  .galleryPage .gallerySec .celebrate .celebrateGrid .celebrateCard_cnt p{margin-bottom:32px}
  .contactPage .commonBannerSec-sm{min-height:509px}
  .contactPage .contactSec{padding-block:120px}
  .contactPage .contactSec>.container{position:relative;left:-24px}
  .contactPage .contactSec_map{margin-left:-10px}
  .contactPage .contactSec_map iframe{display:block;height:500px}
}
