/* Visual direction agreed on 29 October: photographs, clear type, no decorative rules. */
:root { --surface:var(--wp--preset--color--charcoal-soft); --cream:var(--surface); --serif:var(--wp--preset--font-family--lora); --sans:var(--wp--preset--font-family--manrope); }
.contact-layout.contact-no-photo { display:block; }
.contact-no-photo .contact-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.contact-no-photo .contact-call h2 { font-size:32px; margin:0 0 24px; }
.contact-no-photo .contact-extra { margin:0; padding:32px; background:var(--surface); border:0; gap:28px; }
.contact-no-photo .contact-call > p { font-size:18px; line-height:1.7; }
@media(max-width:900px) { .contact-no-photo .contact-main { grid-template-columns:1fr; gap:28px; } }
@media(max-width:600px) { .contact-no-photo .contact-extra { padding:24px; grid-template-columns:1fr; } }
h1,h2,h3 { font-weight:400; }
h1 { line-height:1.16; letter-spacing:-.03em; text-wrap:balance; }
h2,h3 { line-height:1.25; text-wrap:balance; }
.header,.header-phone,
.service-grid,.service-index-item,.office,.guide-step,.subhero,.service-related,
.service-article .service-source,.service-extras,.steps,.steps li,.steps>.strup-step,
.footer-bottom,.cemetery-card,.cemetery-jumps .strup-inline-link a,
.service-navigation .strup-inline-link a,.header nav a { border:0; }
.service { border:0!important; }
.service-grid { gap:24px; }
.service { padding-inline:0!important; }
.service-index-item>.strup-link-card { padding-block:24px; }
.steps { padding-left:0; }
.service-related { gap:16px 28px; padding-top:16px; }
.service-article .service-source { padding-top:0; }
.subhero { padding-bottom:44px; }
.cemetery-card { background:transparent; }
.strup-motion-media,.service-feature-media { overflow:hidden; }
@media(max-width:680px) {
 .subhero h1 { font-size:clamp(36px,10vw,46px); }
 .service-grid { gap:28px; }
}

.subhero h1 { font-weight:400; line-height:1.16; }
.contact-number,.big-phone,.footer-tel { font-family:var(--sans); font-variant-numeric:lining-nums tabular-nums; }
.service-feature { display:grid; grid-template-columns:1.1fr .9fr; gap:72px; align-items:center; padding-block:56px; }
.service-feature-copy>h2 { font-size:clamp(32px,3.2vw,44px); margin-bottom:32px; }
.service-feature-entry { margin-block:24px; position:relative; }
.service-feature-entry p { max-width:50ch; margin-block:8px 0; color:var(--muted); }
.service-feature-title { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.service-feature-title h3 { margin:0; font-size:26px; }
.service-feature-title .icon { color:var(--gold); width:20px; height:20px; }
.service-feature-media { width:100%; margin:0; }
.service-feature-media img { width:100%; display:block; }
.service-feature-reverse { grid-template-columns:.9fr 1.1fr; }
.service-feature-reverse .service-feature-media { grid-column:1; grid-row:1; }
.service-feature-reverse .service-feature-copy { grid-column:2; grid-row:1; }
.service-feature-wide { display:block; padding-block:64px; }
.service-feature-wide .service-feature-copy { display:grid; grid-template-columns:.9fr 1.1fr; gap:0 72px; }
.service-feature-wide .service-feature-copy>h2 { grid-row:1 / span 3; }
.service-feature-wide .service-feature-entry { grid-column:2; margin-block:0 28px; }
.service-home-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:24px 64px; align-items:center; }
.service-home-intro { grid-column:1; grid-row:1; display:block; }
.service-home-intro h2 { font-size:clamp(32px,3.4vw,44px); margin-bottom:24px; }
.service-home-intro p { margin-bottom:20px; }
.service-home-photo { grid-column:2; grid-row:1 / span 2; width:100%; margin:0; }
.service-home-photo img { display:block; width:100%; }
.service-home-links { grid-column:1; grid-row:2; grid-template-columns:1fr 1fr; gap:30px; }
.service-home-links .service { padding:0!important; }
.service-home-links .service>h3 { font-size:24px; margin-block:12px 10px; }
.service-home-links .service p { margin:0; font-size:16px; }
.first-help-inner { grid-template-columns:1fr 1.1fr; gap:80px; }
.first-help .steps>.strup-step { display:block; padding-block:18px; }
.first-help .steps :is(h3,.step-title) { font-size:26px; }
.first-help .steps p { margin:0; }
.flower-section { --flower-offset:60px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:center; isolation:isolate; }
.flower-section>.wp-block-group:first-child { grid-column:1; grid-row:1; padding:0; align-self:center; }
.flower-section>.wp-block-image:nth-child(2),.flower-section>.wp-block-image:nth-child(3) {
 display:block; grid-column:2; grid-row:1; justify-self:center; align-self:center;
 width:min(70%,340px); margin:0; box-shadow:0 18px 32px #0003; transform-origin:center;
}
.flower-section>.wp-block-image:nth-child(2) { z-index:1; transform:translate(calc(-1 * var(--flower-offset)),calc(-.5 * var(--flower-offset))) rotate(-3deg); }
.flower-section>.wp-block-image:nth-child(3) { z-index:2; transform:translate(var(--flower-offset),calc(.5 * var(--flower-offset))) rotate(3deg); }
.flower-section>.wp-block-image img { display:block; width:100%; height:auto; margin:0; object-position:center; }
.history-archive { padding-block:24px 64px; }
.history-archive>h2 { font-size:36px; margin-bottom:28px; }
.history-archive .wp-block-gallery { gap:var(--wp--style--unstable-gallery-gap,24px); }
.guide-step { display:block; }
.guide-step>.wp-block-group { width:100%; }
@media(max-width:900px) {
 .service-feature,.service-feature-reverse,.service-home-layout { grid-template-columns:1fr; gap:28px; padding-block:36px; }
 .service-feature-reverse .service-feature-media,.service-feature-reverse .service-feature-copy,
 .service-home-intro,.service-home-photo,.service-home-links { grid-column:auto; grid-row:auto; }
 .service-feature-media { max-width:600px; }
 .service-feature-wide .service-feature-copy { display:block; }
 .service-feature-title h3 { font-size:25px; }
 .service-home-photo { max-width:600px; }
 .first-help-inner { grid-template-columns:1fr; gap:28px; }
 .flower-section { --flower-offset:48px; grid-template-columns:minmax(0,1fr); gap:64px; }
 .flower-section>.wp-block-group:first-child { grid-column:1; grid-row:1; max-width:60ch; }
 .flower-section>.wp-block-image:nth-child(2),.flower-section>.wp-block-image:nth-child(3) { grid-column:1; grid-row:2; width:min(60%,340px); }
 .history-archive .wp-block-gallery { --wp--style--unstable-gallery-gap:12px; }
}
@media(max-width:680px) {
 .service-home-links { grid-template-columns:1fr; gap:26px; }
 .flower-section { --flower-offset:36px; gap:52px; }
 .service-feature-copy>h2 { margin-bottom:24px; }
 .history-archive .wp-block-gallery { --wp--style--unstable-gallery-gap:12px; }
}

/* Selective separators and contrasting surfaces give the sections a clear rhythm. */
.header { border-bottom:1px solid var(--line); }
.header-phone { border-left:1px solid var(--line); }
.footer-bottom,.service-related { border-top:1px solid var(--line); }
.first-help,.service-feature-wide,.service-contact {
 background:var(--surface); color:var(--ink);
}
.first-help :is(h2,.first-help-lead),.first-help :is(h3,.step-title),.service-contact h2 { color:var(--ink); }
.first-help p,.service-contact p,.service-contact small { color:var(--muted); }
.first-help .steps>.strup-step+.strup-step { border-top:1px solid var(--line); }
.service-feature-wide,.flower-section { width:100%; max-width:none; padding-inline:max(56px,calc((100% - 1240px)/2)); }
.flower-section { background:var(--surface); padding-block:96px; }
.service-contact .text-link { color:var(--ink); }
.contact-band { background:var(--surface); }
@media(max-width:900px){.service-feature-wide,.flower-section{padding-inline:28px}}
@media(max-width:680px){.service-feature-wide,.flower-section{padding-inline:20px}}

/* Comfortable reading, including secondary text and responsive navigation. */
body { font-size:18px; line-height:1.75; }
main .wp-block-paragraph, main .wp-block-list li,
main .wp-block-details>.wp-block-paragraph, main .wp-block-details>summary { font-size:18px; line-height:1.75; }
main .service-home-links .service p { font-size:18px; }
main .breadcrumb .wp-block-paragraph, .breadcrumb,
main .service-article .service-source { font-size:14px; line-height:1.7; }
.header nav a { font-size:15px; line-height:1.5; }
.wp-block-button.utility-phone>a, .utility p { font-size:14px; }
.wp-block-button.header-phone>a { font-size:14px; }
.wp-block-button.header-phone strong { font-size:18px; }
.wp-block-button.button>a, .text-link,
.section-top .text-link, .service-related .text-link { font-size:16px; line-height:1.5; }
.contact-extra a, .footer-grid p, .footer-grid .strup-inline-link a { font-size:16px; }
.service-contact small, .contact-extra small { font-size:16px; line-height:1.6; }
.hero-caption>p:first-child { font-size:14px; letter-spacing:.08em; }
.contact-band::after { content:none; }
.service-feature-copy,.service-home-intro,.service-home-links,.flower-section>.wp-block-group { min-width:0; }
main p, main li { overflow-wrap:break-word; }
@media(max-width:1100px) { .header nav a { font-size:18px; line-height:1.6; } }
@media(max-width:680px) {
 .service-feature-title h3,.first-help .steps :is(h3,.step-title) { font-size:24px; }
 .mobile-call-wrap .wp-block-button.mobile-call>a { font-size:17px; }
}

/* Real client photographs remain native, replaceable image and gallery blocks. */
.service-feature-panorama { margin:40px 0 0; width:100%; }
.service-feature-panorama img { width:100%; display:block; }
.client-flower-gallery { display:block; }
.client-flower-gallery .flower-note { margin-top:40px; max-width:68ch; }
.client-flower-collection.wp-block-gallery {
 --flower-columns:3; display:grid; grid-template-columns:repeat(var(--flower-columns),minmax(0,1fr));
 gap:var(--wp--style--unstable-gallery-gap,24px); align-items:start;
}
.client-flower-collection.columns-1 { --flower-columns:1; }
.client-flower-collection.columns-2 { --flower-columns:2; }
.client-flower-collection.columns-3 { --flower-columns:3; }
.client-flower-collection.columns-4 { --flower-columns:4; }
.client-flower-collection.columns-5 { --flower-columns:5; }
.client-flower-collection.columns-6 { --flower-columns:6; }
.client-flower-collection.columns-7 { --flower-columns:7; }
.client-flower-collection.columns-8 { --flower-columns:8; }
.client-flower-collection.wp-block-gallery.has-nested-images>figure.wp-block-image:not(#individual-image) {
 display:block; width:auto; min-width:0; max-width:100%; margin:0; flex-grow:0;
}
.client-flower-collection.wp-block-gallery.has-nested-images>figure.wp-block-image:not(#individual-image) img {
 display:block; width:100%; height:auto;
}
.client-flower-collection .lightbox-trigger { min-width:44px; min-height:44px; width:44px; height:44px; padding:10px; }
@media(max-width:900px){.client-flower-collection.wp-block-gallery:not(.columns-1){--flower-columns:2}}
@media(max-width:680px){.client-flower-collection.wp-block-gallery{--wp--style--unstable-gallery-gap:12px}}

/* Core paragraphs do not always include a wp-block-paragraph class. */
main .wp-block-group p { font-size:18px; line-height:1.75; }
main .breadcrumb p { font-size:14px; line-height:1.7; }
main .service-article .service-source { font-size:14px; line-height:1.7; }
@media(max-width:680px) {
 .big-phone,.contact-number { font-size:clamp(28px,8vw,43px); }
}

@media(max-width:680px){.flower-section{padding-block:64px}}
@media(max-width:360px){.flower-section{--flower-offset:28px}}

/* Homepage opening: the client's photograph fills the stage, the wreath and an arch frame it. */
.home-hero { position:relative; isolation:isolate; overflow:clip; background:var(--paper); color:var(--ink); --hero-gold:#c2a171; --hero-line:#c2a17199; }
.home-hero .home-hero-inner { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-height:clamp(560px,calc(100svh - 136px),860px); padding-block:64px 132px; }
.home-hero .home-hero-inner::before {
 content:""; position:absolute; z-index:-1; left:clamp(-260px,-14vw,-80px); top:50%; width:clamp(420px,46vw,660px); aspect-ratio:1;
 translate:0 -54%; background:url('wieniec-logo-v1.svg') center/contain no-repeat; opacity:.13; pointer-events:none;
}
.home-hero::after {
 content:""; position:absolute; z-index:3; inset:clamp(12px,1.8vw,28px); pointer-events:none; --l:clamp(28px,4vw,64px);
 background:
  linear-gradient(var(--hero-line) 0 0) top left/var(--l) 1px, linear-gradient(var(--hero-line) 0 0) top left/1px var(--l),
  linear-gradient(var(--hero-line) 0 0) top right/var(--l) 1px, linear-gradient(var(--hero-line) 0 0) top right/1px var(--l),
  linear-gradient(var(--hero-line) 0 0) bottom left/var(--l) 1px, linear-gradient(var(--hero-line) 0 0) bottom left/1px var(--l),
  linear-gradient(var(--hero-line) 0 0) bottom right/var(--l) 1px, linear-gradient(var(--hero-line) 0 0) bottom right/1px var(--l);
 background-repeat:no-repeat;
}
.home-hero .hero-photo {
 position:absolute; z-index:0; inset:0 0 0 max(18%,calc(100% - 1200px)); width:auto; height:auto; margin:0;
 mask-image:linear-gradient(90deg,transparent,#000 32%);
}
.home-hero .hero-photo img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.74) contrast(1.06) brightness(.9); }
.home-hero .hero-photo::before {
 content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
 background:
  radial-gradient(38% 46% at 66% 14%,#c2a17133,transparent 70%),
  linear-gradient(0deg,var(--paper) 0%,#15202800 34%),
  linear-gradient(180deg,#15202899 0%,#15202800 22%),
  linear-gradient(90deg,#152028f2 0%,#152028a6 34%,#15202826 62%,transparent 82%);
}
.home-hero .hero-photo::after {
 content:""; position:absolute; z-index:2; left:63%; top:9%; bottom:-14px; width:clamp(220px,27vw,400px); translate:-50% 0;
 border:1px solid #c2a171bf; border-bottom:0; border-radius:999px 999px 0 0; outline:1px solid #c2a1714d; outline-offset:12px; pointer-events:none;
}
.home-hero h1 { margin:0; color:var(--hero-gold); font:600 clamp(13px,1.05vw,15px)/1.5 var(--sans); letter-spacing:.24em; text-transform:uppercase; text-wrap:initial; }
.home-hero h1 :is(strong,em) { display:block; text-transform:none; letter-spacing:-.02em; }
.home-hero h1 strong { margin-top:.32em; color:var(--ink); font:400 clamp(42px,8.4vw,128px)/.98 var(--serif); letter-spacing:-.03em; text-shadow:0 2px 28px #15202899; }
.home-hero h1 em { margin-top:.28em; color:var(--hero-gold); font:italic 400 clamp(26px,3vw,44px)/1.15 var(--serif); letter-spacing:0; }
.home-hero .home-hero-lead { margin:28px 0 0; max-width:30ch; color:var(--ink); font-size:clamp(18px,1.45vw,21px); line-height:1.6; text-wrap:pretty; }
.home-hero .home-hero-contact { margin:40px 0 0; max-width:560px; }
.home-hero .home-hero-note { margin:0 0 16px; color:var(--muted); font-size:15px; line-height:1.5; text-wrap:pretty; }
.home-hero .home-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 30px; margin:0; }
.home-hero .wp-block-button.button > a { min-height:58px; padding:15px 26px; font:500 20px/1.2 var(--sans); font-variant-numeric:lining-nums tabular-nums; }
.home-hero .wp-block-button.button > a::before { width:20px; height:20px; }
.home-hero .strup-inline-link { margin:0; }

/* The seam: a wreath medallion over the photo's edge, then history and both offices either side of one axis. */
.home-roots {
 position:relative; z-index:3; padding-block:clamp(88px,9vw,124px) clamp(24px,3vw,48px); color:var(--ink);
 background:linear-gradient(90deg,transparent,#c2a17166 18%,#c2a17166 82%,transparent) top center/min(1248px,calc(100% - 40px)) 1px no-repeat,var(--paper);
}
.home-roots::before,.home-roots::after { position:absolute; left:50%; top:0; width:clamp(104px,10vw,136px); aspect-ratio:1; translate:-50% -50%; border-radius:50%; pointer-events:none; }
.home-roots::before { content:""; background:var(--paper); box-shadow:0 0 0 10px var(--paper),0 0 0 11px #c2a17140; }

.home-roots::after { content:""; background:url('monogram-logo-v1.svg') center/104% no-repeat; }
.home-roots .home-roots-inner { display:grid; grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr); gap:0 clamp(40px,7vw,112px); align-items:start; }
.home-roots .home-roots-inner::before { content:""; grid-column:2; grid-row:1; align-self:stretch; margin-top:-24px; background:linear-gradient(#c2a17199,#c2a17100); transform-origin:top; }
.home-roots .home-roots-history { grid-column:1; grid-row:1; text-align:right; }
.home-roots .home-roots-places { grid-column:3; grid-row:1; }
.home-roots :is(h2,.home-roots-year,.home-roots-label) { margin:0 0 20px; color:var(--ink); font-size:clamp(26px,2.4vw,32px); line-height:1.2; }
.home-roots .home-roots-year em { display:block; margin:.06em 0 .02em; color:transparent; -webkit-text-stroke:1.5px var(--gold); font:italic 400 clamp(92px,11vw,168px)/.92 var(--serif); letter-spacing:-.02em; }
.home-roots .home-roots-history p:not(.strup-inline-link,.home-roots-year) { max-width:34ch; margin:0 0 20px auto; color:var(--muted); }
.home-roots .strup-inline-link { margin:0; }
.home-roots .home-roots-route { margin:4px 0 28px; border-top:1px solid var(--line); }
.home-roots .home-roots-stop { margin:0; padding-block:18px; border-bottom:1px solid var(--line); }
.home-roots .home-roots-stop p { margin:0; color:var(--muted); font-size:17px; line-height:1.6; }
.home-roots .home-roots-stop .home-roots-town { margin-bottom:2px; color:var(--gold); font:italic 400 24px/1.3 var(--serif); }

@media(max-width:900px){
 .home-hero .hero-photo { inset:0 0 auto 0; height:min(100vw,52svh,560px); mask-image:linear-gradient(180deg,#000 55%,transparent); }
 .home-hero .hero-photo::before { background:radial-gradient(50% 40% at 64% 12%,#c2a17133,transparent 70%),linear-gradient(180deg,#15202880 0%,#15202800 26%,#15202800 52%,#152028d9 100%); }
 .home-hero .hero-photo::after { top:7%; bottom:-14px; width:min(52vw,280px); }
 .home-hero .home-hero-inner { justify-content:flex-end; min-height:0; padding-block:calc(min(100vw,52svh,560px) - 104px) 112px; }
 .home-hero .home-hero-inner::before { left:auto; right:-30%; top:auto; bottom:48px; width:min(92vw,520px); translate:none; opacity:.1; }
}
@media(max-width:760px){
 .home-roots .home-roots-inner { grid-template-columns:minmax(0,1fr); }
 .home-roots .home-roots-history,.home-roots .home-roots-places { grid-column:1; text-align:left; }
 .home-roots .home-roots-history { grid-row:1; }
 .home-roots .home-roots-inner::before { content:none; }
 .home-roots .home-roots-places { grid-row:2; margin-top:56px; }
 .home-roots .home-roots-history p:not(.strup-inline-link,.home-roots-year) { margin-left:0; }
}
@media(max-width:680px){
 .home-hero .home-hero-contact { align-self:stretch; max-width:none; margin-top:32px; }
 .home-hero .home-hero-actions { flex-direction:column; align-items:stretch; }
 .home-hero .wp-block-button.button,.home-hero .wp-block-button.button > a { width:100%; justify-content:center; }
 .home-hero .strup-inline-link { align-self:flex-start; }
 .home-roots .home-roots-stop p { font-size:16px; }
}

/* Entrance: content is painted from the first frame; only position and decoration settle in. */
@media(prefers-reduced-motion:no-preference){
 .home-hero h1,.home-hero .home-hero-lead,.home-hero .home-hero-contact { animation:strup-rise .65s cubic-bezier(.2,.7,.2,1) both; }
 .home-hero h1 strong { animation:strup-lift .65s .08s cubic-bezier(.2,.7,.2,1) both; }
 .home-hero h1 em { animation:strup-lift .65s .18s cubic-bezier(.2,.7,.2,1) both; }
 .home-hero .home-hero-lead { animation-delay:.3s; }
 .home-hero .home-hero-contact { animation-delay:.42s; }
 .home-hero .hero-photo img { animation:strup-settle 1.8s cubic-bezier(.2,.7,.2,1) both; }
 .home-hero .hero-photo::after { animation:strup-arch 1.4s .25s cubic-bezier(.4,0,.2,1) both; }
 .home-hero .home-hero-inner::before { animation:strup-wreath 1.6s .1s cubic-bezier(.2,.7,.2,1) both; }
 .home-hero::after { animation:strup-fade .8s .7s ease-out both; }
 @supports (animation-timeline:view()){
  .home-roots::before,.home-roots::after { animation:strup-medallion-in ease-out both; animation-timeline:view(); animation-range:entry 0% entry 35%; }
  .home-roots .home-roots-inner::before { animation:strup-draw-y linear both; animation-timeline:view(); animation-range:entry 10% cover 40%; }
 }
}
@keyframes strup-rise { from { translate:0 16px; } }
@keyframes strup-lift { from { translate:0 22px; } }
@keyframes strup-fade { from { opacity:0; } }
@keyframes strup-draw-x { from { scale:0 1; } }
@keyframes strup-draw-y { from { scale:1 0; } }
@keyframes strup-settle { from { scale:1.08; } }
@keyframes strup-arch { from { clip-path:inset(100% -20px 0 -20px); opacity:.2; } to { clip-path:inset(-20px -20px 0 -20px); opacity:1; } }
@keyframes strup-wreath { from { opacity:0; rotate:-18deg; scale:.94; } }
@keyframes strup-medallion-in { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@media(forced-colors:active){ .home-roots .home-roots-year em { color:CanvasText; -webkit-text-stroke:0; } }

/* A quiet backing and a fragment of the client's own wreath, only on feature photos. */
.service-home-photo,.about-image,.service-feature-media {
 position:relative; isolation:isolate; overflow:visible; --photo-ornament-turn:-6deg;
}
.service-home-photo::before,.about-image::before,.service-feature-media::before {
 content:""; position:absolute; inset:18px -18px -18px 18px; z-index:-2;
 background:var(--surface); pointer-events:none;
}
.service-home-photo::after,.about-image::after,.service-feature-media::after {
 content:""; position:absolute; left:-86px; bottom:-70px; width:clamp(190px,22vw,280px); aspect-ratio:1;
 z-index:-1; background:url('wieniec-logo-v1.svg') center/contain no-repeat;
 opacity:.48; transform:rotate(var(--photo-ornament-turn)); pointer-events:none;
}
.about-image::before { inset:-18px 18px 18px -18px; }
.about-image::after { left:auto;right:-82px;top:-70px;bottom:auto; }
.service-feature-reverse .service-feature-media::after { left:auto;right:-82px; }
@media(max-width:680px){
 .service-home-photo::before,.about-image::before,.service-feature-media::before{inset:12px -10px -12px 10px}
 .service-home-photo::after,.about-image::after,.service-feature-media::after{width:200px;left:-36px;bottom:-56px;right:auto;top:auto}
 .about-image::after,.service-feature-reverse .service-feature-media::after{left:auto;right:-36px}
}

/* Feature links signal hover without painting an unpadded rectangle. */
.service-home-links .service:hover { background:transparent; }
.service-home-links .service :is(h3,.service-title) { transition:color .2s; }
.service-home-links .service:hover :is(h3,.service-title),.service-home-links .service:focus-within :is(h3,.service-title) { color:var(--gold); }
.service-home-links .service-arrow .icon { transition:transform .2s; }
.service-home-links .service:hover .service-arrow .icon { transform:translateX(4px); }

/* Let columns shrink when readers increase character and word spacing. */
.about > *, .guide-layout > * { min-width:0; }
.about-copy h2, .guide-layout h2 { overflow-wrap:anywhere; }

/* Keep functional masks and button edges visible in the reader's system palette. */
@media(forced-colors:active){
 body :is(.wp-block-button.button > a[href^="tel:"],.wp-block-button.header-phone > a,.wp-block-button.big-phone > a,.wp-block-button.contact-number > a,.wp-block-button.mobile-call > a,.strup-back-to-top .wp-block-button__link,.mobile-menu-phone > a)::before,
 body :is(.office .strup-inline-link a,.guide-step a[href^="tel:"])::after{
  forced-color-adjust:none;background-color:LinkText;
 }
 body .bb-funeral-details .nekrolog_icon{forced-color-adjust:none;background-color:LinkText}
 body .wp-block-buttons .wp-block-button > a{border:1px solid ButtonText}
}

/* Clip decorative edges while a 600px photo nearly fills the narrow column. */
@media(max-width:760px){.service-home-photo,.about-image,.service-feature-media{overflow:clip;overflow-clip-margin:20px}}

/* The native social link remains a comfortable touch target. */
.footer-bottom { align-items:center; }
.footer-bottom > p { margin-block:0; }
.footer-bottom .strup-instagram{margin:0;gap:0;align-items:center}
.footer-bottom .strup-instagram .wp-social-link a{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:10px;padding:8px;color:var(--wp--preset--color--gold);font:400 16px/1.5 var(--sans)}
.footer-bottom .strup-instagram svg{width:22px;height:22px;flex:none;margin:0}
.footer-bottom .strup-instagram .wp-social-link .wp-block-social-link-label{margin:0;font:inherit}
.footer-bottom .strup-instagram a:hover{color:var(--wp--preset--color--ivory)}
.footer-bottom .strup-instagram a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.footer-bottom .brainbox-credit{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.footer-bottom .brainbox-credit a{display:inline-flex;min-height:44px;align-items:center}
/* Preserve the established type scale when a short label is a paragraph. */
.service-home-links .service-title,.contact-band .contact-band-title,.footer-grid .footer-label{color:var(--ink)}
.service-home-links .service .service-title{line-height:1.25}
.first-help .first-help-lead{line-height:1.25;letter-spacing:-.025em;margin:0 0 20px}
.first-help .steps .step-title{line-height:1.25;margin:2px 0 6px}
.contact-band .contact-band-title{line-height:1.25;letter-spacing:-.025em;margin:0}
@media(max-width:680px){.service-home-links .service .service-title{line-height:1.07}.first-help .steps .step-title{line-height:1.6}}

/* Keep the Institute's original mark readable alongside the membership statement. */
.history-layout .strup-membership { gap:20px; margin-block:28px; align-items:center; }
.strup-membership > .strup-membership-logo { flex:0 0 auto; margin:0; padding:16px 20px; background:var(--wp--preset--color--ivory); }
.strup-membership-logo a { display:block; }
.strup-membership-logo img { width:144px; height:auto; object-fit:contain; }
.strup-membership .strup-membership-logo a:focus-visible { outline:2px solid var(--wp--preset--color--charcoal); outline-offset:6px; box-shadow:none; }
.strup-membership > p { flex:1 1 210px; margin:0; }

/* Subpage titles keep their type; a full-bleed band, a gold baseline and the wreath in an arch frame them. */
:is(.subhero,.region-heading) {
 position:relative; isolation:isolate; padding-block:32px 72px;
 border-image:radial-gradient(70% 140% at 82% 0%,#20303a 0%,#152028 72%) fill 0//0 100vw;
}
.region-heading { margin-bottom:clamp(28px,3.6vw,48px); }
:is(.subhero,.region-heading)::before { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,#c2a171b3,#c2a17140 55%,#c2a17100); pointer-events:none; }
:is(.subhero,.region-heading)::after {
 content:""; position:absolute; z-index:-1; right:0; top:12px; width:150px; aspect-ratio:1;
 background:url('monogram-logo-v1.svg') center/contain no-repeat; opacity:.16; pointer-events:none;
}
@media(min-width:1024px){
 :is(.subhero,.region-heading) { padding-right:calc(clamp(200px,21vw,300px) + clamp(48px,6vw,96px)); }
 :is(.subhero,.region-heading)::after {
  top:28px; bottom:0; width:clamp(200px,21vw,300px); aspect-ratio:auto; opacity:1;
  border:1px solid #c2a1717a; border-bottom:0; border-radius:999px 999px 0 0;
  outline:1px solid #c2a17126; outline-offset:10px; clip-path:inset(-20px -20px 0 -20px);
  background:url('monogram-logo-v1.svg') center clamp(36px,5vw,64px)/74% no-repeat,radial-gradient(60% 50% at 50% 30%,#c2a1711f,#c2a17100);
 }
}
@media(prefers-reduced-motion:no-preference){
 :is(.subhero,.region-heading) > :is(h1,p) { animation:strup-rise .6s cubic-bezier(.2,.7,.2,1) both; }
 :is(.subhero,.region-heading) > p { animation-delay:.12s; }
 :is(.subhero,.region-heading)::before { animation:strup-draw-x .65s .2s cubic-bezier(.2,.7,.2,1) both; transform-origin:left; }
 :is(.subhero,.region-heading)::after { animation:strup-wreath 1.2s .1s cubic-bezier(.2,.7,.2,1) both; }
 @media(min-width:1024px){ :is(.subhero,.region-heading)::after { animation:strup-arch 1.2s .15s cubic-bezier(.4,0,.2,1) both; } }
}

/* A compact contact row, with the number and useful links kept together. */
.contact-band { padding-block:28px; }
.contact-band .container { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px 40px; align-items:center; }
.contact-band .container > .wp-block-group:first-child > :is(h2,.contact-band-title) { font-size:clamp(28px,2.8vw,38px); margin:0; }
.contact-band .container > .wp-block-group:last-child { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:0 28px; align-items:center; }
.contact-band .big-phone,.contact-band .big-phone a { font-size:clamp(28px,2.6vw,38px); line-height:1.3; }
.contact-band .container > .wp-block-group:last-child > p:not(.strup-inline-link) { grid-column:2; grid-row:1 / span 2; margin:0; max-width:28ch; font-size:14px; line-height:1.65; }
.contact-band .strup-inline-link { grid-column:1; margin:0; font-size:14px; line-height:1.5; }
.contact-band .strup-inline-link a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:900px){
 .contact-band .container { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px; }
 .contact-band .container > .wp-block-group:last-child { display:block; }
 .contact-band .container > .wp-block-group:last-child > p:not(.strup-inline-link) { margin:8px 0 4px; }
}
@media(max-width:680px){
 .contact-band { padding-block:24px; }
 .contact-band .container { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
 .contact-band .container > .wp-block-group:first-child > :is(h2,.contact-band-title) { font-size:28px; margin:0; }
 .contact-band .big-phone,.contact-band .big-phone a { font-size:32px; }
}
