/* North Shore Hideaway: home page layouts. Loaded on the front page only. */
.hd-front{overflow:hidden}
.hh-sec{padding:clamp(72px,10vw,150px) 0}
.hh-h2{max-width:16em;margin-bottom:.45em}
.hh-h2 em,.hd-front h3 em{font-style:italic;font-weight:500;color:var(--hd-coral-d)}
.hd-sec--green .hh-h2 em,.hd-sec--green h3 em{color:var(--hd-sand)}
.hh-linkrow{margin-top:1.6rem}
.hd-front img{max-width:100%;height:auto}

/* Hero */
.hh-hero{min-height:min(96vh,1040px)}
.hh-hero .hd-display{margin-bottom:.28em}
.hh-hero .hd-lead{margin-bottom:1.8rem}
.hh-hero__btns{margin:0}
.hh-hero__cap{position:absolute;left:var(--hd-gut);bottom:calc(clamp(28px,5vw,70px) + 14px);z-index:2;margin:0;font:700 .68rem/1 var(--hd-sans);letter-spacing:.18em;text-transform:uppercase;color:rgba(247,243,233,.8)}
.hh-hero .hd-hero__in{padding-bottom:36px}

/* Intro */
.hh-intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,3vw,44px);align-items:start}
.hh-intro__text{grid-column:1 / span 5}
.hh-intro__imgs{grid-column:7 / span 6;position:relative;padding-bottom:24%}
.hh-i1{width:90%;margin-left:auto!important}
.hh-i1 img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hh-i2{position:absolute;left:0;bottom:0;width:46%;background:var(--hd-paper);padding:10px 10px 0;box-shadow:0 18px 40px rgba(18,63,61,.18);transform:rotate(-2deg)}
.hh-i2 img{width:100%;aspect-ratio:3/4;object-fit:cover}
.hd-sec--green .hh-pimg figcaption{color:#cfdcd3}
.hh-intro figcaption,.hh-pimg figcaption{margin:.6rem 0 0;font-size:.78rem;line-height:1.4;color:var(--hd-muted);letter-spacing:.04em}
.hh-intro .hh-i2 figcaption{padding-bottom:10px}
.hh-intro__text .hd-hand{margin-top:2rem}

/* Accommodations: four different compositions */
.hh-label{margin:0 0 .9rem;font:700 .74rem/1 var(--hd-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--hd-coral-d)}
.hh-label span{display:inline-grid;place-items:center;width:1.9em;height:1.9em;margin-right:.7em;border:1px solid currentColor;border-radius:50%;font:italic 500 .95rem/1 var(--hd-serif);letter-spacing:0}
.hd-sec--green .hh-label{color:var(--hd-sand)}
.hh-pcard h3{margin-bottom:.5em}
.hh-pcard p{margin-bottom:1em}
.hh-price{font-weight:700;color:var(--hd-green);padding-top:.9em;border-top:1px solid rgba(38,43,40,.2)}
.hh-pcard--dark .hh-price,.hd-sec--green .hh-price{color:var(--hd-paper);border-top-color:rgba(247,243,233,.25)}
.hh-pcard .wp-block-buttons{margin-top:1.4rem}
.hh-pimg img{width:100%;object-fit:cover}
.hh-panel{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,3vw,44px);align-items:start}
.hh-panel+.hh-panel{margin-top:clamp(64px,9vw,140px)}
.hh-acc .hh-panel--a .hh-pimg{grid-column:1 / span 7;grid-row:1}
.hh-acc .hh-panel--a .hh-pimg img{aspect-ratio:4/3}
.hh-acc .hh-panel--a .hh-pcard{grid-column:7 / span 6;grid-row:1;margin:clamp(40px,8vw,120px) 0 0 -6%;padding:clamp(24px,3vw,44px);background:var(--hd-sand);position:relative;z-index:2}
.hh-acc .hh-panel--b .hh-pcard{grid-column:1 / span 5;grid-row:1;padding-top:clamp(0px,4vw,60px)}
.hh-acc .hh-panel--b .hh-pimg{grid-column:6 / span 7;grid-row:1;margin-top:clamp(0px,5vw,70px)}
.hh-acc .hh-panel--b .hh-pimg img{aspect-ratio:3/4;max-height:760px}
.hh-panel--c{align-items:center}
.hh-panel--c .hh-pcard{grid-column:1 / span 5;grid-row:1;position:relative;z-index:2;padding-right:clamp(0px,2vw,24px)}
.hh-panel--c .hh-pimg{grid-column:6 / span 7;grid-row:1}
.hh-panel--c .hh-pimg img{aspect-ratio:3/2}
.hh-panel--c .hh-pimg{box-shadow:18px 18px 0 rgba(209,108,69,.9)}
.hh-panel--d .hh-pimg{grid-column:1 / -1;grid-row:1}
.hh-panel--d .hh-pimg img{aspect-ratio:21/9}
.hh-panel--d .hh-pcard{grid-column:6 / span 7;grid-row:2;margin-top:clamp(-120px,-8vw,-40px);padding:clamp(24px,3vw,44px);background:var(--hd-paper);position:relative;z-index:2;box-shadow:0 24px 60px rgba(18,63,61,.2)}
.hh-village{padding-top:clamp(40px,6vw,90px)}
.hh-beach{padding-bottom:clamp(90px,11vw,170px)}

/* Which one fits */
.hh-fit{margin-top:2.4rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,5vw,72px)}
.hh-fit__row{padding:1.6rem 0;border-top:1px solid rgba(38,43,40,.28)}
.hh-fit__row h4{margin:0 0 .7em}
.hh-fit__row p{margin:0 0 .8em}

/* Activities */
.hh-actlist{margin-top:clamp(28px,4vw,56px);border-top:1px solid rgba(232,217,187,.3)}
.hh-act{display:grid;grid-template-columns:3.2rem 92px minmax(0,1.1fr) minmax(0,1.6fr);align-items:center;gap:clamp(12px,2vw,28px);padding:1.25rem 0;border-bottom:1px solid rgba(232,217,187,.3);position:relative;transition:background .25s,padding .25s var(--hd-ease)}
.hh-act:hover{background:rgba(247,243,233,.05);padding-left:12px}
.hh-act__n{margin:0;font:italic 500 1.4rem/1 var(--hd-serif);color:var(--hd-coral)}
.hh-act__img img{width:92px;height:92px;object-fit:cover}
.hh-act__t{margin:0;font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.05}
.hh-act__t a{color:var(--hd-paper);text-decoration:none}
.hh-act__t a::after{content:"";position:absolute;inset:0}
.hh-act:hover .hh-act__t a{color:var(--hd-sand)}
.hh-act__d{margin:0;color:#dfe8e1;font-size:.98rem;line-height:1.55}

/* A day at Backpackers */
.hh-moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,56px);margin:2rem 0 clamp(36px,5vw,64px)}
.hh-moment p:last-child{margin:0;color:var(--hd-muted)}
.hh-moment .hd-eyebrow{margin-bottom:.6rem}
.hh-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(90px,11vw,170px);gap:clamp(8px,1.4vw,18px)}
.hh-mosaic figure{position:relative;overflow:hidden;background:var(--hd-sand)}
.hh-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--hd-ease)}
.hh-mosaic figure:hover img{transform:scale(1.04)}
.hh-m1{grid-column:1 / span 5;grid-row:1 / span 3}
.hh-m2{grid-column:6 / span 7;grid-row:1 / span 2}
.hh-m3{grid-column:6 / span 3;grid-row:3 / span 2}
.hh-m4{grid-column:9 / span 4;grid-row:3 / span 2}
.hh-m5{grid-column:1 / span 3;grid-row:4 / span 2}
.hh-m6{grid-column:4 / span 2;grid-row:4 / span 2}
.hh-mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 9px;font-size:.74rem;letter-spacing:.06em;color:#fff;background:linear-gradient(transparent,rgba(9,30,29,.7))}

/* Find us */
.hh-cta{position:relative;padding:clamp(90px,11vw,170px) 0}
.hh-cta__photo{position:absolute;inset:0;margin:0}
.hh-cta__photo img{width:100%;height:100%;object-fit:cover}
.hh-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,44,42,.94) 8%,rgba(18,63,61,.78) 55%,rgba(18,63,61,.6))}
.hh-cta__in{position:relative;z-index:3;display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,6vw,90px);align-items:end}
.hh-addr{font:600 clamp(1.3rem,2.4vw,1.9rem)/1.25 var(--hd-serif);color:var(--hd-sand);margin-bottom:1rem!important}
.hh-note{margin-bottom:1.2rem!important;color:#e9efe9}
.hh-cta__btns{flex-direction:column;align-items:stretch}
.hh-cta__btns .wp-block-button,.hh-cta__btns .wp-block-button__link{width:100%}
.hh-cta .hd-w::before{display:none}

/* Tablet and phone */
@media (max-width:980px){
	.hh-intro,.hh-panel{grid-template-columns:1fr}
	.hh-intro__text,.hh-intro__imgs,.hh-acc .hh-panel--a .hh-pimg,.hh-acc .hh-panel--a .hh-pcard,.hh-acc .hh-panel--b .hh-pcard,.hh-acc .hh-panel--b .hh-pimg,.hh-panel--c .hh-pcard,.hh-panel--c .hh-pimg,.hh-panel--d .hh-pimg,.hh-panel--d .hh-pcard{grid-column:1;grid-row:auto;margin-left:0;margin-top:0}
	.hh-intro__imgs{margin-top:2.4rem}
	.hh-acc .hh-panel--a .hh-pcard,.hh-panel--d .hh-pcard{margin-top:18px;margin-inline:0;position:relative}
	.hh-acc .hh-panel--b .hh-pimg{margin-top:1.6rem}
	.hh-acc .hh-panel--b .hh-pimg img{aspect-ratio:4/3}
	.hh-panel--c .hh-pimg{margin-top:2rem;box-shadow:10px 10px 0 rgba(209,108,69,.9);margin-right:10px}
	.hh-panel--d .hh-pimg img{aspect-ratio:4/3}
	.hh-fit,.hh-moments,.hh-cta__in{grid-template-columns:1fr}
	.hh-act{grid-template-columns:2.4rem 72px minmax(0,1fr)}
	.hh-act__img img{width:72px;height:72px}
	.hh-act__d{grid-column:2 / -1}
	.hh-mosaic{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(80px,22vw,150px)}
	.hh-m1{grid-column:1 / span 6;grid-row:1 / span 2}.hh-m2{grid-column:1 / span 6;grid-row:3 / span 2}
	.hh-m3{grid-column:1 / span 3;grid-row:5 / span 2}.hh-m4{grid-column:4 / span 3;grid-row:5 / span 2}
	.hh-m5{grid-column:1 / span 3;grid-row:7 / span 2}.hh-m6{grid-column:4 / span 3;grid-row:7 / span 2}
	.hh-cta::after{background:linear-gradient(180deg,rgba(12,44,42,.9),rgba(18,63,61,.8))}
}
@media (max-width:560px){.hh-hero .hd-display{font-size:clamp(3rem,15vw,4.2rem)}.hh-hero__btns .wp-block-button,.hh-hero__btns .wp-block-button__link{width:100%}}
@media (prefers-reduced-motion:reduce){.hh-mosaic img,.hh-act{transition:none}}

/* ===== Inner pages (accommodations, reservations) ===== */
.hh-sec--tight{padding:clamp(56px,7vw,104px) 0}
.hd-sections .hh-h2{max-width:18em}
/* Split hero: text on green, photo in a frame */
.hh-phero{position:relative;padding:calc(var(--hd-hh) + clamp(36px,6vw,88px)) 0 clamp(80px,9vw,140px)}
.hh-phero__in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,3vw,44px);align-items:center}
.hh-phero__text{grid-column:1 / span 6}
.hh-phero__t{font-size:clamp(2.7rem,6.4vw,5.6rem);line-height:.95;letter-spacing:-.03em;margin:.1em 0 .3em;color:var(--hd-paper)}
.hh-phero__t em{color:var(--hd-sand)}
.hh-phero .hd-lead{margin-bottom:1.6rem}
.hh-phero__photo{grid-column:8 / span 5;position:relative;margin:0}
.hh-phero__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:16px 16px 0 var(--hd-coral)}
/* Facts strip */
.hh-facts-sec{padding:clamp(48px,6vw,80px) 0 clamp(8px,2vw,24px)}
.hh-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.hh-fact{padding:0 clamp(12px,2vw,28px) 0 0;border-left:0}
.hh-fact+.hh-fact{padding-left:clamp(12px,2vw,28px);border-left:1px solid rgba(38,43,40,.22)}
.hh-fact__l{margin:0 0 .5rem;font:700 .72rem/1 var(--hd-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--hd-coral-d)}
.hh-fact__v{margin:0;font:500 clamp(1.05rem,1.7vw,1.35rem)/1.3 var(--hd-serif);color:var(--hd-green)}
/* Text + photo split */
.hh-split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,3vw,44px);align-items:start}
.hh-split__text{grid-column:1 / span 7}
.hh-split__text p{margin-bottom:1em}
.hh-split__side{grid-column:9 / span 4;padding-top:clamp(0px,4vw,60px)}
.hh-split__img img{width:100%;aspect-ratio:4/5;object-fit:cover;transform:rotate(1.5deg);box-shadow:0 18px 40px rgba(18,63,61,.18)}
.hh-split__img figcaption{margin-top:.8rem;font-size:.78rem;color:var(--hd-muted);letter-spacing:.04em}
.hh-ticks{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.6rem}
.hh-ticks li{position:relative;padding-left:1.6em;line-height:1.45}
.hh-ticks li::before{content:"";position:absolute;left:0;top:.6em;width:.9em;height:.4em;border-bottom:2px solid var(--hd-coral);border-radius:0 0 60% 60%/0 0 100% 100%}
/* Rooms / units */
.hh-units{margin-top:clamp(28px,4vw,56px)}
.hh-unit{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,3vw,44px);align-items:center}
.hh-unit+.hh-unit{margin-top:clamp(48px,7vw,104px)}
.hh-unit__img,.hh-unit__numbox{grid-column:1 / span 6;grid-row:1}
.hh-unit__text{grid-column:8 / span 5;grid-row:1}
.hh-unit--flip .hh-unit__img,.hh-unit--flip .hh-unit__numbox{grid-column:7 / span 6}
.hh-unit--flip .hh-unit__text{grid-column:1 / span 5}
.hh-unit__img img{width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:12px 12px 0 var(--hd-paper)}
.hh-unit__numbox{display:grid;place-items:center;aspect-ratio:4/3;background:var(--hd-green);box-shadow:12px 12px 0 var(--hd-paper)}
.hh-unit__num{margin:0;font:italic 500 clamp(7rem,16vw,13rem)/1 var(--hd-serif);color:var(--hd-sand)}
.hh-label--plain{margin:0 0 .7rem}
.hh-unit__text h3{margin-bottom:.45em}
.hh-unit__text>p{margin-bottom:1em}
.hh-unit__text .hh-ticks{grid-template-columns:1fr;margin:0 0 1.1rem}
.hh-note-s{font-size:.9rem;color:var(--hd-muted);line-height:1.5}
.hd-sec--green .hh-note-s{color:#d6e2da}
.hh-unit .hh-price{margin-top:.2em}
.hh-unit .wp-block-buttons{margin-top:1.2rem}
/* Gallery */
.hh-gal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(120px,15vw,220px);gap:clamp(8px,1.4vw,18px);margin-top:clamp(24px,3vw,40px)}
.hh-g{margin:0;overflow:hidden;background:var(--hd-sand)}
.hh-g img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--hd-ease)}
.hh-g:hover img{transform:scale(1.04)}
.hh-g{grid-column:span 4;grid-row:span 1}
.hh-gal>.hh-g:nth-child(7n+1){grid-column:span 7;grid-row:span 2}
.hh-gal>.hh-g:nth-child(7n+2){grid-column:span 5;grid-row:span 2}
.hh-gal>.hh-g:nth-child(7n+6){grid-column:span 5;grid-row:span 2}
.hh-gal>.hh-g:nth-child(7n+7){grid-column:span 7;grid-row:span 2}
.hh-gal--even>.hh-g{grid-column:span 6!important;grid-row:span 2!important}
.hh-gal--three>.hh-g{grid-column:span 4!important;grid-row:span 2!important}
/* Good to know */
.hh-know{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,5vw,72px);margin-top:2rem}
.hh-know__row{padding:1.4rem 0;border-top:1px solid rgba(38,43,40,.25)}
.hh-know__row h4{margin:0 0 .5em;font-size:1.15rem}
.hh-know__row p{margin:0;color:var(--hd-ink)}
/* Reserve + form slot */
.hh-reserve{padding-bottom:clamp(90px,10vw,150px)}
.hh-reserve__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
.hh-reserve__text .hh-note{margin-top:1.4rem;color:#e9efe9}
.hh-reserve a{color:var(--hd-sand);text-decoration-thickness:1px;text-underline-offset:.2em}
.hd-form-slot{border:2px dashed rgba(232,217,187,.7);padding:clamp(22px,3vw,40px);background:rgba(247,243,233,.06)}
.hd-form-slot h3{margin:.3em 0 .5em;color:var(--hd-paper)}
.hd-form-slot p:last-child{margin:0;color:#e1eae3}
/* Other buildings */
.hh-others{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,40px);margin-top:2rem}
.hh-other__img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.hh-other h4{margin:.9rem 0 .2rem;font-size:1.3rem}
.hh-other h4 a{color:var(--hd-green);text-decoration:none;background:linear-gradient(var(--hd-coral),var(--hd-coral)) 0 100%/0 2px no-repeat;transition:background-size .3s}
.hh-other h4 a:hover{background-size:100% 2px}
.hh-other__p{margin:0;color:var(--hd-muted)}
/* At a glance table */
.hh-table{margin-top:2rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
.hh-table table{width:100%;min-width:820px;border-collapse:collapse;table-layout:auto;font-size:.96rem}
.hh-table th{padding:.7rem .9rem .7rem 0;text-align:left;font:700 .7rem/1.2 var(--hd-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--hd-coral-d);border-bottom:2px solid var(--hd-green)}
.hh-table td{padding:.85rem .9rem .85rem 0;border-bottom:1px solid rgba(38,43,40,.2);vertical-align:top}
.hh-table td:first-child{font-weight:700;color:var(--hd-green)}
.hh-table td:last-child{font-weight:700}
.hh-cta2{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(24px,5vw,72px);align-items:center}
.hh-cta2 .wp-block-buttons{flex-direction:column;align-items:stretch}
.hh-cta2 .wp-block-button,.hh-cta2 .wp-block-button__link{width:100%}
.hh-fits[id]{scroll-margin-top:calc(var(--hd-hh) + var(--hd-top,0px) + 12px)}
#reserve{scroll-margin-top:calc(var(--hd-hh) + var(--hd-top,0px) + 12px)}

@media (max-width:980px){
	.hh-phero__in,.hh-split,.hh-unit,.hh-reserve__in,.hh-cta2{grid-template-columns:1fr}
	.hh-phero__text,.hh-phero__photo,.hh-split__text,.hh-split__side,.hh-unit__img,.hh-unit__numbox,.hh-unit__text,.hh-unit--flip .hh-unit__img,.hh-unit--flip .hh-unit__numbox,.hh-unit--flip .hh-unit__text{grid-column:1;grid-row:auto}
	.hh-phero__photo{margin:2rem 14px 0 0}
	.hh-phero__photo img{aspect-ratio:4/3;box-shadow:10px 10px 0 var(--hd-coral)}
	.hh-split__side{padding-top:2rem}
	.hh-split__img img{aspect-ratio:4/3;transform:none}
	.hh-unit__text{margin-top:1.6rem}
	.hh-unit__img img,.hh-unit__numbox{box-shadow:8px 8px 0 var(--hd-paper);margin-right:8px}
	.hh-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.6rem}
	.hh-fact:nth-child(odd){padding-left:0;border-left:0}
	.hh-ticks,.hh-know,.hh-others{grid-template-columns:1fr}
	.hh-gal{grid-auto-rows:clamp(110px,28vw,200px);grid-template-columns:repeat(6,minmax(0,1fr))}
	.hh-gal>.hh-g,.hh-gal>.hh-g:nth-child(n){grid-column:span 3!important;grid-row:span 1!important}
	.hh-gal>.hh-g:nth-child(3n+1){grid-column:span 6!important;grid-row:span 2!important}
}
@media (max-width:560px){.hh-phero__t{font-size:clamp(2.5rem,12vw,3.4rem)}.hh-phero .wp-block-buttons,.hh-phero .wp-block-button,.hh-phero .wp-block-button__link{width:100%}}

/* ===== Stage 5: directions, contact, memorial, gallery, blog ===== */
.hh-ticks--one{grid-template-columns:1fr;max-width:46em}
.hh-ticks a{color:var(--hd-green);font-weight:500}
.hh-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px);margin-top:2rem}
.hh-way{padding-top:1.4rem;border-top:2px solid var(--hd-green)}
.hh-way h3{margin:.1em 0 .5em}
.hh-way p{margin:0 0 .9em}
.hh-steps{margin:1.4rem 0 0;padding:0;list-style:none;counter-reset:st}
.hh-steps li{counter-increment:st;position:relative;padding:0 0 1.1rem 3rem;line-height:1.55}
.hh-steps li::before{content:counter(st);position:absolute;left:0;top:-.1em;width:2.1rem;height:2.1rem;display:grid;place-items:center;border:1px solid var(--hd-coral-d);border-radius:50%;font:italic 500 1.05rem/1 var(--hd-serif);color:var(--hd-coral-d)}
.hh-addrcard{background:var(--hd-paper);padding:clamp(22px,3vw,40px)!important;box-shadow:0 18px 40px rgba(18,63,61,.12);border-top:4px solid var(--hd-coral)}
.hd-sec--paper .hh-addrcard{background:var(--hd-sand)}
.hh-addr2{margin:.4rem 0 1rem;font:500 clamp(1.15rem,1.8vw,1.45rem)/1.35 var(--hd-serif);color:var(--hd-green)}
.hh-addr3{margin:0 0 1rem;line-height:1.8}
.hh-addrcard a{color:var(--hd-green);font-weight:600}
.hh-addrcard .wp-block-buttons{margin-top:1rem}
.hh-map iframe{display:block;width:100%;height:clamp(320px,42vw,520px);border:0;margin-top:1.6rem;box-shadow:12px 12px 0 var(--hd-sand)}
.hh-map{max-width:100%}
/* Memorial */
.hh-quote{margin:2rem 0 0;padding:.2em 0 .2em 1.4rem;border-left:4px solid var(--hd-coral);font:italic 500 clamp(1.3rem,2.2vw,1.8rem)/1.35 var(--hd-serif);color:var(--hd-green)}
.hh-quote p{margin:0}
.hh-memories{columns:2;column-gap:clamp(20px,3vw,44px);margin-top:2rem}
.hh-memory{break-inside:avoid;margin:0 0 clamp(16px,2vw,28px);padding:clamp(20px,2.4vw,32px);background:var(--hd-sand)}
.hh-memory h3{margin:0 0 .6em;font-size:1.35rem}
.hh-memory p{margin:0 0 .9em;font-size:.97rem;line-height:1.6}
.hh-memory p:last-child{margin-bottom:0}
.hh-memory .wp-block-verse{margin:0;font:italic 500 1.1rem/1.7 var(--hd-serif);white-space:pre-wrap;background:none;border:0;padding:0;color:var(--hd-green)}
/* Lightbox */
.hd-lightbox .hh-g img{cursor:zoom-in}
.hd-lb{border:0;padding:0;background:rgba(9,30,29,.96);color:#fff;max-width:100vw;max-height:100vh;width:100vw;height:100vh}
.hd-lb::backdrop{background:rgba(9,30,29,.96)}
.hd-lb__in{display:grid;grid-template-rows:1fr auto;height:100%;padding:clamp(12px,3vw,32px)}
.hd-lb img{max-width:100%;max-height:calc(100vh - 140px);margin:auto;object-fit:contain}
.hd-lb__cap{margin:.8rem 0 0;text-align:center;font-size:.92rem;color:#d6e2da}
.hd-lb button{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(247,243,233,.5);border-radius:50%;background:rgba(18,63,61,.85);color:#fff;font:600 1.4rem/1 var(--hd-sans);cursor:pointer}
.hd-lb button:hover,.hd-lb button:focus-visible{background:var(--hd-coral-d);outline:2px solid var(--hd-sand);outline-offset:2px}
.hd-lb__x{top:16px;right:16px}.hd-lb__p{left:16px;top:50%}.hd-lb__n{right:16px;top:50%}
/* Contact form */
.hd-contact{margin-top:1.6rem;max-width:34rem}
.hd-contact input[type=text],.hd-contact input[type=email],.hd-contact input[type=tel],.hd-contact textarea{width:100%;padding:.85em 1em;border:1.5px solid rgba(38,43,40,.5);border-radius:0;background:#fff;font:inherit;color:var(--hd-ink)}
.hd-contact input:focus,.hd-contact textarea:focus{outline:3px solid var(--hd-coral);outline-offset:1px;border-color:var(--hd-green)}
.hd-contact__trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.hd-contact__err{margin:0 0 1.2rem;padding:.9em 1.1em;border-left:4px solid #a32d1b;background:#fbeae6;color:#6b1a10;font-weight:600}
.hd-contact__note{font-size:.88rem;color:var(--hd-muted)}
@media (max-width:980px){
	.hh-ways{grid-template-columns:1fr}
	.hh-memories{columns:1}
	.hd-lb__p,.hd-lb__n{top:auto;bottom:16px}
}
