/* Priesman Funeral Services — see DESIGN.md */
:root{
  --pine:#1d3b26; --pine-2:#24482f; --leaf:#2f6b3a; --leaf-dk:#245530; --lamp:#a8322b;
  --paper:#f5f6f1; --stone:#e7e5dc; --line:#d3d2c6; --ink:#1f2620; --mute:#55605a; --white:#fff;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua","URW Palladio L",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--s9:112px;
  --wrap:1180px; --measure:68ch; --r:2px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.65 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--leaf);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--leaf-dk);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--lamp);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--pine);line-height:1.15;margin:0 0 var(--s4)}
h1{font-size:clamp(2.4rem,6vw,4.4rem);letter-spacing:-.01em}
h2{font-size:clamp(1.85rem,3.6vw,2.6rem)}
h3{font-size:1.45rem}
h4{font-size:1.15rem}
p{margin:0 0 var(--s4)}
ul,ol{padding-left:1.25em;margin:0 0 var(--s5)}
li{margin-bottom:var(--s2)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--s5)}
.skip{position:absolute;left:-999px;top:0;background:var(--white);padding:var(--s3);z-index:99}
.skip:focus{left:var(--s3)}
.label{font:600 .8rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:var(--s3);display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:var(--s2);min-height:48px;padding:var(--s3) var(--s5);border-radius:var(--r);border:1px solid var(--leaf);background:var(--leaf);color:var(--white);font:600 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--leaf-dk);border-color:var(--leaf-dk);color:var(--white)}
.btn.ghost{background:transparent;color:var(--leaf)}
.btn.ghost:hover{background:var(--leaf);color:var(--white)}
.btn.light{background:var(--white);color:var(--pine);border-color:var(--white)}
.btn.light:hover{background:var(--stone)}
.link-arrow{font-weight:600;text-decoration:none;white-space:nowrap}
.link-arrow::after{content:" →"}
.link-arrow:hover{text-decoration:underline}

/* header */
.site-head{background:var(--pine);color:var(--white);position:relative;z-index:20}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:84px}
.brand img{width:200px;height:auto}
.nav-toggle{display:inline-flex;align-items:center;gap:var(--s2);background:none;border:1px solid rgba(255,255,255,.5);color:var(--white);font:600 1rem var(--sans);padding:var(--s2) var(--s3);min-height:44px;border-radius:var(--r);cursor:pointer}
.nav-toggle span{display:block;width:18px;height:2px;background:currentColor;box-shadow:0 6px 0 currentColor,0 -6px 0 currentColor}
.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--pine);padding:var(--s3) var(--s5) var(--s5);border-top:1px solid rgba(255,255,255,.15)}
.site-nav.open{display:block}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav li{margin:0}
.site-nav a,.site-nav summary{display:block;color:var(--white);text-decoration:none;padding:var(--s3) 0;font:400 1.15rem var(--serif);cursor:pointer}
.site-nav a:hover,.site-nav summary:hover{color:#dfe8dc}
.site-nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--lamp)}
.site-nav details ul{padding:0 0 var(--s2) var(--s4)}
.site-nav details a{font:400 1rem var(--sans);padding:var(--s2) 0}
.site-nav summary::-webkit-details-marker{display:none}
.site-nav summary::after{content:" ▾";font-size:.8em}
.head-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s4)}
.head-actions .btn{min-height:44px;padding:var(--s2) var(--s4)}
.callbox{position:relative}
.callbox summary{list-style:none}
.callbox summary::-webkit-details-marker{display:none}
.callbox .btn{border-color:rgba(255,255,255,.6);background:transparent}
.callbox ul{list-style:none;margin:var(--s2) 0 0;padding:var(--s3) var(--s4);background:var(--white);border:1px solid var(--line);border-radius:var(--r);min-width:260px}
.callbox li{margin:0}
.callbox ul a{display:flex;justify-content:space-between;gap:var(--s4);color:var(--ink);padding:var(--s2) 0;font:400 1rem var(--sans);text-decoration:none;border-bottom:1px solid var(--stone)}
.callbox ul li:last-child a{border-bottom:0}
.callbox ul a strong{color:var(--leaf)}
.callbox ul a:hover strong{text-decoration:underline}
@media (min-width:1180px){
  .nav-toggle{display:none}
  .site-nav{display:flex!important;position:static;background:none;padding:0;border:0;align-items:center;gap:var(--s5)}
  .site-nav>ul{display:flex;gap:20px;align-items:center}
  .site-nav>ul>li{position:relative}
  .site-nav a,.site-nav summary{padding:var(--s2) 0;font-size:1.08rem}
  .site-nav details>ul{position:absolute;top:100%;left:-16px;background:var(--pine);min-width:250px;padding:var(--s3) var(--s4);border-top:2px solid var(--lamp)}
  .head-actions{margin:0;flex-wrap:nowrap}
  .callbox ul{position:absolute;right:0;top:100%}
  .brand img{width:210px}
}

/* opening (home) */
.opening{padding:var(--s7) 0 var(--s8)}
.opening-grid{display:grid;gap:var(--s7);align-items:center}
.opening h1{max-width:13ch;margin-bottom:var(--s5)}
.opening h1 em{font-style:italic;color:var(--leaf)}
.opening .lede{font-size:1.15rem;max-width:40ch;color:var(--ink)}
.opening .towns{color:var(--mute);max-width:46ch}
.actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}
.frame{background:var(--white);padding:var(--s2);border:1px solid var(--line);border-radius:var(--r)}
.frame img{border-radius:var(--r)}
.slides{position:relative;aspect-ratio:4/3;overflow:hidden}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.slides img.on{opacity:1}
.slide-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s2) var(--s1) 0;font-size:.95rem;color:var(--mute)}
.slide-bar button{background:none;border:1px solid var(--line);border-radius:var(--r);min-height:36px;min-width:36px;padding:var(--s1) var(--s3);font:600 .9rem var(--sans);color:var(--pine);cursor:pointer}
.slide-bar button:hover{border-color:var(--leaf)}
@media (min-width:900px){.opening-grid{grid-template-columns:1.1fr .9fr}.opening{padding:var(--s8) 0 var(--s9)}}

/* bands */
.band{padding:var(--s8) 0}
.band.white{background:var(--white)}
.band.stone{background:var(--stone)}
.band.pine{background:var(--pine);color:#e9efe7}
.band.pine h2,.band.pine h3{color:var(--white)}
.band.pine a{color:var(--white)}
.row-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--s3);margin-bottom:var(--s5)}
.row-head h2{margin:0}

/* obituaries */
.obits{--hp-ob-accent:#2f6b3a}
.notify{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--line);display:grid;gap:var(--s3)}
.notify p{margin:0;color:var(--mute)}
.notify form{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:flex-end}
.notify label{display:flex;flex-direction:column;font-size:.9rem;color:var(--mute);gap:var(--s1);flex:1 1 200px}
@media (min-width:900px){.notify{grid-template-columns:1fr 2fr;align-items:center}}

/* lineage */
.lineage-grid{display:grid;gap:var(--s7)}
.bigline{font:400 clamp(1.7rem,3.4vw,2.5rem)/1.25 var(--serif);color:var(--white);margin:0 0 var(--s5);max-width:22ch}
.timeline{list-style:none;padding:0;margin:var(--s5) 0 0;display:grid;gap:var(--s5)}
.timeline li{margin:0;padding-left:var(--s5);border-left:1px solid rgba(255,255,255,.3);position:relative}
.timeline li::before{content:"";position:absolute;left:-5px;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--lamp);box-shadow:0 0 0 3px var(--pine)}
.timeline b{display:block;font:400 1.6rem/1.1 var(--serif);color:var(--white);margin-bottom:var(--s1)}
.heritage{display:flex;flex-wrap:wrap;gap:var(--s5);align-items:center;margin-top:var(--s6)}
.heritage img{width:200px;opacity:.92}
@media (min-width:900px){
  .lineage-grid{grid-template-columns:1fr 1.15fr}
  .timeline{grid-template-columns:repeat(4,1fr);gap:var(--s4)}
  .timeline li{border-left:0;border-top:1px solid rgba(255,255,255,.3);padding:var(--s4) 0 0}
  .timeline li::before{left:0;top:-5px}
}

/* service index */
.svc-index{display:grid;gap:0;margin-top:var(--s5);border-top:1px solid var(--line)}
.svc-index a{display:grid;gap:var(--s1);padding:var(--s4) 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.svc-index a strong{font:400 1.35rem/1.2 var(--serif);color:var(--pine)}
.svc-index a span{color:var(--mute);font-size:1rem}
.svc-index a:hover strong{color:var(--leaf);text-decoration:underline;text-decoration-thickness:1px}
@media (min-width:760px){.svc-index{grid-template-columns:1fr 1fr;column-gap:var(--s7)}}
.svc-intro{display:grid;gap:var(--s4)}
@media (min-width:900px){.svc-intro{grid-template-columns:1fr 1fr;align-items:end}}

/* guide cta */
.guide{text-align:center;max-width:720px;margin:0 auto}
.guide h2{margin-bottom:var(--s4)}
.guide p{color:var(--mute)}

/* help + flowers */
.help-grid{display:grid;gap:var(--s7)}
.ruled{list-style:none;padding:0;margin:var(--s5) 0 0;border-top:1px solid var(--line)}
.ruled li{margin:0;border-bottom:1px solid var(--line)}
.ruled a{display:flex;justify-content:space-between;align-items:center;padding:var(--s4) 0;font:400 1.25rem var(--serif);text-decoration:none;color:var(--pine)}
.ruled a::after{content:"→";color:var(--leaf);font-family:var(--sans)}
.ruled a:hover{color:var(--leaf)}
.flowers figure{margin:0 0 var(--s4)}
.flowers figcaption{font-size:.9rem;color:var(--mute);padding-top:var(--s2)}
.flowers blockquote{margin:0 0 var(--s3);font:italic 400 1.5rem/1.3 var(--serif);color:var(--pine)}
@media (min-width:900px){.help-grid{grid-template-columns:1.2fr .8fr;align-items:start}}

/* inner pages */
.page-head{padding:var(--s7) 0 var(--s6);border-bottom:1px solid var(--line)}
.page-head .crumb{font-size:.95rem;color:var(--mute);margin-bottom:var(--s3)}
.page-head .crumb a{color:var(--mute)}
.page-head h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:var(--s4)}
.page-head .lede{font-size:1.15rem;max-width:60ch;color:var(--ink);margin:0}
.page-head.split .wrap{display:grid;gap:var(--s6);align-items:center}
@media (min-width:900px){.page-head.split .wrap{grid-template-columns:1.2fr .8fr}}
.page-head.dark{background:var(--pine);border:0}
.page-head.dark h1{color:var(--white)}
.page-head.dark .lede,.page-head.dark .crumb,.page-head.dark .crumb a{color:#dfe8dc}
.article{padding:var(--s7) 0 var(--s8)}
.article .body{max-width:var(--measure)}
.article h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-top:var(--s7)}
.article h2:first-child{margin-top:0}
.article h3{margin-top:var(--s5)}
.with-aside{display:grid;gap:var(--s7)}
@media (min-width:1000px){.with-aside{grid-template-columns:minmax(0,var(--measure)) 1fr}}
.aside{align-self:start;border-top:2px solid var(--pine);padding-top:var(--s4)}
.aside h2,.aside h3{font-size:1.3rem;margin-top:0}
.aside ul{list-style:none;padding:0}
.aside li{margin:0;border-bottom:1px solid var(--line)}
.aside li a{display:block;padding:var(--s3) 0;text-decoration:none}
.aside li a:hover{text-decoration:underline}
@media (min-width:1000px){.aside{position:sticky;top:var(--s5)}}
.pull{margin:var(--s6) 0;padding:0 0 0 var(--s5);border-left:3px solid var(--lamp);font:italic 400 1.55rem/1.35 var(--serif);color:var(--pine)}
.checks{list-style:none;padding:0}
.checks li{padding-left:1.6em;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:.45em;width:.8em;height:.8em;border:1.5px solid var(--leaf);border-radius:var(--r)}
.defs dt{font:400 1.25rem/1.3 var(--serif);color:var(--pine);margin-top:var(--s5)}
.defs dd{margin:var(--s2) 0 0}
.note{background:var(--stone);padding:var(--s5);border-radius:var(--r);margin:var(--s6) 0}
.note h2,.note h3{margin-top:0}
.two-col{display:grid;gap:var(--s5)}
@media (min-width:760px){.two-col{grid-template-columns:1fr 1fr;column-gap:var(--s7)}}

/* faqs */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:var(--s4) var(--s6) var(--s4) 0;position:relative;font:400 1.25rem/1.35 var(--serif);color:var(--pine)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:var(--s2);top:var(--s4);font:400 1.5rem/1 var(--sans);color:var(--leaf)}
.faq details[open] summary::after{content:"–"}
.faq details>div{padding:0 0 var(--s4)}

/* staff */
.directors{display:grid;gap:var(--s7);margin-top:var(--s5)}
.director{display:grid;gap:var(--s5);scroll-margin-top:var(--s5)}
.director img{width:100%;max-width:300px;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.director .role{color:var(--mute);margin-bottom:var(--s3);font-size:1rem}
.director h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:var(--s1)}
@media (min-width:760px){.director{grid-template-columns:260px 1fr}.director:nth-child(even){grid-template-columns:1fr 260px}.director:nth-child(even) .frame{order:2}}
.associates{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s5) var(--s4);list-style:none;padding:0;margin-top:var(--s5)}
.associates li{margin:0}
.associates img{aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;width:100%}
.associates b{display:block;font:400 1.15rem/1.25 var(--serif);color:var(--pine);margin-top:var(--s2)}
.associates span{font-size:.95rem;color:var(--mute)}
@media (min-width:640px){.associates{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.associates{grid-template-columns:repeat(5,1fr)}}

/* chapels */
.chapel-list{display:grid;gap:var(--s7)}
.chapel{display:grid;gap:var(--s5);align-items:start}
.chapel .frame img{width:100%;aspect-ratio:300/175;object-fit:cover}
.chapel h2{margin-bottom:var(--s2)}
.chapel .serves{color:var(--mute);font-style:italic;font-family:var(--serif);font-size:1.1rem}
.chapel address{font-style:normal;margin-bottom:var(--s3)}
.chapel iframe{width:100%;height:260px;border:1px solid var(--line);border-radius:var(--r)}
@media (min-width:900px){.chapel{grid-template-columns:320px 1fr 1fr}}

/* forms */
.form{display:grid;gap:var(--s4);max-width:640px}
.form .pair{display:grid;gap:var(--s4)}
@media (min-width:600px){.form .pair{grid-template-columns:1fr 1fr}}
.form label{display:grid;gap:var(--s1);font-weight:600;font-size:1rem;color:var(--ink)}
.form label small{font-weight:400;color:var(--mute)}
input,textarea,select{font:400 1rem/1.4 var(--sans);color:var(--ink);background:var(--white);border:1px solid #9aa39b;border-radius:var(--r);padding:var(--s3);min-height:48px;width:100%}
textarea{min-height:150px;resize:vertical}
input:focus,textarea:focus{outline:3px solid var(--lamp);outline-offset:1px;border-color:var(--pine)}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:var(--s6) var(--s5)}
.form-card h2{margin-top:0}

/* video */
.video{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--r);overflow:hidden;margin:var(--s5) 0}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pdfs{list-style:none;padding:0}
.pdfs a{font-weight:600}

/* footer: the shoreline */
.site-foot{background:var(--pine);color:#dfe8dc;padding:var(--s8) 0 var(--s7);font-size:1rem}
.site-foot a{color:var(--white)}
.foot-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--s3);margin-bottom:var(--s5)}
.foot-title h2{color:var(--white);font-size:1.7rem;margin:0}
.foot-title span{font-size:.95rem;color:#b9c8b6}
.shore{list-style:none;padding:0;margin:0;display:grid;gap:var(--s6);position:relative}
.shore li{margin:0;padding-left:var(--s5);border-left:1px solid rgba(255,255,255,.35);position:relative}
.shore li::before{content:"";position:absolute;left:-6px;top:.5em;width:11px;height:11px;border-radius:50%;background:var(--lamp);box-shadow:0 0 0 4px var(--pine)}
.shore h3{color:var(--white);font-size:1.3rem;margin-bottom:var(--s1)}
.shore .serves{font:italic 400 1rem var(--serif);color:#b9c8b6;margin-bottom:var(--s2)}
.shore address{font-style:normal;margin-bottom:var(--s2)}
.shore .tel{font:400 1.25rem var(--serif);text-decoration:none}
.shore .tel:hover{text-decoration:underline}
.shore .dir{display:inline-block;font-size:.95rem;margin-top:var(--s1);color:#dfe8dc}
.ends{display:flex;justify-content:space-between;font:italic .95rem var(--serif);color:#b9c8b6;margin-bottom:var(--s3)}
@media (min-width:900px){
  .shore{grid-template-columns:repeat(4,1fr);gap:var(--s5)}
  .shore li{border-left:0;padding:var(--s5) 0 0;border-top:1px solid rgba(255,255,255,.35)}
  .shore li::before{left:0;top:-6px}
}
.foot-low{display:grid;gap:var(--s5);margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.18)}
.foot-low img{width:190px}
.foot-low ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}
.foot-low li{margin:0}
.foot-low a{display:inline-block;padding:var(--s1) 0}
.foot-low p{margin:0 0 var(--s2)}
.foot-legal{font-size:.9rem;color:#b9c8b6;margin-top:var(--s5);padding-bottom:var(--s5)}
.foot-legal a{color:#dfe8dc}
@media (min-width:900px){.foot-low{grid-template-columns:auto 1fr 1fr}}

/* 404 */
.lost{padding:var(--s9) 0;text-align:left}
.lost h1{max-width:16ch}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
