/* Stolen Hearts — homepage closing chapter: kind words, how it works, FAQ, final enquiry. */
.shz-words,.shz-steps,.shz-faq,.shz-final{--z-blush:#efe2dc;--z-blush-deep:#e6d2ca;--z-warm:#f7f2ed;--z-ink:#282b2b;--z-body:#5c5551;--z-muted:#8a7d76;--z-rose:#b47b76;--z-rose-btn:#bc827e;--z-rose-hi:#cd9690;--z-line:#ddcbc2;--z-dark:#1d2120;--z-serif:"Stolen Hearts Serif","Cormorant Garamond",Georgia,serif;--z-hand:"Dancing Script","Segoe Script",cursive;position:relative;isolation:isolate;margin:0;color:var(--z-ink);font:400 16px/1.7 Lato,Arial,sans-serif;scroll-margin-top:85px}
.shz-words *,.shz-steps *,.shz-faq *,.shz-final *{box-sizing:border-box}
.shz-inner{width:min(88%,1240px);margin:0 auto}
.shz-eyebrow{margin:0 0 16px;color:var(--z-rose);font:400 10.5px/1.5 Lato,Arial,sans-serif!important;letter-spacing:.3em!important;text-transform:uppercase}
.shz-head{text-align:center;margin:0 auto clamp(36px,4vw,56px)}
.shz-words h2,.shz-steps h2,.shz-faq h2,.shz-final h2{margin:0;color:var(--z-ink);font:400 clamp(36px,3.6vw,56px)/1.08 var(--z-serif)!important;letter-spacing:-.02em;text-transform:none}
.shz-words h2 em,.shz-steps h2 em,.shz-faq h2 em,.shz-final h2 em{font-style:italic;color:var(--z-rose)}
.shz-wave{position:absolute;left:0;width:100%;display:block;pointer-events:none}
.shz-hand{margin:0;color:var(--z-rose);font:400 clamp(22px,1.9vw,30px)/1.1 var(--z-hand)}
.shz-hand>svg{display:inline-block;width:.7em;height:.6em;margin-left:.3em;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}

/* 1 — Kind words (muted blush) */
.shz-words{padding:clamp(56px,5vw,80px) 0 clamp(70px,6vw,100px);background:radial-gradient(ellipse 60% 50% at 30% 40%,#f4e9e4 0%,transparent 70%),var(--z-blush)}
.shz-wave-in{top:-79px;height:80px;fill:var(--z-blush)}
.shz-words::after{content:"";position:absolute;z-index:-1;right:-50px;bottom:20px;width:clamp(220px,22vw,360px);height:460px;background:#b9a89e;opacity:.09;-webkit-mask:url('/wp-content/mu-plugins/stolenhearts-leaf-shadow.svg') center/contain no-repeat;mask:url('/wp-content/mu-plugins/stolenhearts-leaf-shadow.svg') center/contain no-repeat;transform:rotate(-12deg);pointer-events:none}
.shz-feature{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:center}
.shz-feature-media{margin:0;position:relative}
.shz-film-link{position:relative;display:block;overflow:hidden;border-radius:4px;box-shadow:0 30px 60px -28px #5a3d3280;line-height:0;text-decoration:none}
.shz-film-link img{display:block;width:100%;height:auto;max-width:none;margin:0;border:0;aspect-ratio:16/10;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.shz-film-link::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#1c1612a6 0%,transparent 45%);pointer-events:none}
.shz-film-link:hover img{transform:scale(1.025)}
.shz-film-play{position:absolute;z-index:1;top:50%;left:50%;display:grid;place-items:center;width:64px;height:64px;border:1px solid #ffffffe6;border-radius:50%;background:#ffffff1f;transform:translate(-50%,-50%);transition:background .3s,transform .3s}
.shz-film-play svg{width:24px;height:24px;margin-left:3px;fill:#fff}
.shz-film-link:hover .shz-film-play{background:var(--z-rose-btn);transform:translate(-50%,-50%) scale(1.05)}
.shz-film-label{position:absolute;z-index:1;left:22px;bottom:18px;color:#fff;font:400 10px/1.4 Lato,Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.shz-film-link:focus-visible{outline:2px solid var(--z-rose);outline-offset:5px}
.shz-feature-quote{position:relative;margin:0;padding:0;border:0;background:none;quotes:none}
.shz-feature-quote::before,.shz-feature-quote::after,.shz-supporting blockquote::before,.shz-supporting blockquote::after{display:none!important}
.shz-mark{display:block;height:.5em;margin:0 0 6px -4px;color:var(--z-rose);font:400 120px/1 var(--z-serif);opacity:.55}
.shz-feature-quote p{margin:0;color:var(--z-ink);font:400 clamp(22px,1.85vw,29px)/1.38 var(--z-serif)!important;letter-spacing:-.005em}
.shz-feature-quote .shz-small-quote{margin-top:18px;color:var(--z-body);font:italic 400 clamp(18px,1.4vw,21px)/1.45 var(--z-serif)!important}
.shz-words footer{display:flex;align-items:center;gap:14px;margin-top:26px}
.shz-words footer img{width:48px;height:48px;max-width:none;margin:0;border:0;border-radius:50%;object-fit:cover}
.shz-words footer span{display:flex;flex-direction:column;gap:2px}
.shz-words footer strong{color:var(--z-ink);font:400 11px/1.4 Lato,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.shz-words footer a{color:var(--z-muted);font-size:12.5px;text-decoration:none;border-bottom:1px solid transparent;width:max-content}
.shz-words footer a:hover{color:var(--z-rose);border-color:currentColor}
.shz-supporting{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,48px);margin-top:clamp(48px,5vw,72px);padding-top:clamp(36px,4vw,52px);border-top:1px solid var(--z-line)}
.shz-supporting blockquote{margin:0;padding:0;border:0;background:none;quotes:none}
.shz-supporting p{margin:0;color:var(--z-ink);font:400 clamp(18px,1.4vw,21px)/1.45 var(--z-serif)!important}
.shz-supporting footer{margin-top:18px}
.shz-supporting footer img{width:40px;height:40px}
.shz-source{margin:clamp(36px,4vw,52px) 0 0;color:var(--z-muted);font-size:12.5px;text-align:center}

/* 2 — How it works (warm neutral, compact) */
.shz-steps{padding:clamp(70px,6.5vw,104px) 0 clamp(50px,4.5vw,70px);background:var(--z-warm)}
.shz-steps-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;counter-reset:none}
.shz-steps-list li{position:relative;margin:0;padding:0 clamp(16px,2vw,30px);list-style:none;border-left:1px solid var(--z-line)}
.shz-steps-list li:first-child{border-left:0;padding-left:0}
.shz-steps-list li:last-child{padding-right:0}
.shz-num{display:block;margin:0 0 12px;color:var(--z-rose);font:italic 400 34px/1 var(--z-serif)}
.shz-steps-list h3{margin:0 0 10px;color:var(--z-ink);font:400 clamp(21px,1.6vw,25px)/1.2 var(--z-serif)!important;letter-spacing:-.01em;text-transform:none}
.shz-steps-list p{margin:0;color:var(--z-body);font-size:15px;line-height:1.7}

/* 3 — FAQ (warm off-white, heading left, accordion right) */
.shz-faq{padding:clamp(40px,4vw,60px) 0 clamp(120px,10vw,160px);background:var(--z-warm)}
.shz-faq-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:clamp(36px,6vw,100px);padding-top:clamp(50px,5vw,72px);border-top:1px solid var(--z-line)}
.shz-faq-head{position:sticky;top:120px;align-self:start}
.shz-faq-head h2{font-size:clamp(34px,3.2vw,50px)!important}
.shz-faq-head p:not(.shz-eyebrow):not(.shz-hand){margin:18px 0 0;max-width:340px;color:var(--z-body);font-size:15.5px}
.shz-faq-head a{color:var(--z-rose);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.shz-faq-head .shz-hand{margin-top:28px;transform:rotate(-6deg);transform-origin:left}
.shz-faq-list{border-top:1px solid var(--z-line)}
.shz-q{border-bottom:1px solid var(--z-line)}
.shz-q summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 2px;cursor:pointer;list-style:none;color:var(--z-ink);font:400 clamp(19px,1.45vw,22px)/1.35 var(--z-serif)}
.shz-q summary::-webkit-details-marker{display:none}
.shz-q summary::marker{content:""}
.shz-q summary:hover{color:var(--z-rose)}
.shz-q summary:focus-visible{outline:2px solid var(--z-rose);outline-offset:4px}
.shz-q summary i{position:relative;flex:0 0 auto;width:30px;height:30px;border:1px solid #d9c3ba;border-radius:50%;transition:background .25s,border-color .25s,transform .35s}
.shz-q summary i::before,.shz-q summary i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1px;margin:-.5px 0 0 -5.5px;background:var(--z-rose);transition:transform .35s}
.shz-q summary i::after{transform:rotate(90deg)}
.shz-q[open] summary i{background:var(--z-rose-btn);border-color:var(--z-rose-btn)}
.shz-q[open] summary i::before,.shz-q[open] summary i::after{background:#fff}
.shz-q[open] summary i::after{transform:rotate(0)}
.shz-a{padding:0 50px 24px 2px}
.shz-a p{margin:0;color:var(--z-body);font-size:15.5px;line-height:1.75}
.shz-a a{color:var(--z-rose);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.shz-q[open] .shz-a{animation:shz-open .4s ease}
@keyframes shz-open{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* 4 — Final enquiry (deep green, simple) */
.shz-final{padding:clamp(90px,8vw,120px) 0 clamp(90px,8vw,120px);background:radial-gradient(ellipse 55% 75% at 50% 40%,#2b302e 0%,transparent 70%),var(--z-dark);color:#f3ede6;text-align:center}
.shz-wave-final{top:-79px;height:80px;fill:var(--z-dark)}
.shz-final::before{content:"";position:absolute;z-index:-1;left:-40px;bottom:-40px;width:clamp(220px,22vw,360px);height:460px;background:#111a17;opacity:.55;filter:blur(3px);-webkit-mask:url('/wp-content/mu-plugins/stolenhearts-leaf-shadow.svg') center/contain no-repeat;mask:url('/wp-content/mu-plugins/stolenhearts-leaf-shadow.svg') center/contain no-repeat;transform:rotate(180deg);pointer-events:none}
.shz-final-inner{width:min(88%,720px);margin:0 auto}
.shz-final .shz-eyebrow{color:#d8a49d}
.shz-final h2{color:#f6f1ea;font-size:clamp(42px,4.4vw,68px)!important}
.shz-final h2 em{color:#e0a9a1}
.shz-final-inner>p:not(.shz-eyebrow):not(.shz-final-alt){margin:22px auto 0;max-width:460px;color:#d7d1c9;font-size:17px;line-height:1.7}
.shz-button{display:inline-flex;align-items:center;gap:20px;margin:34px 0 0;padding:18px 40px;min-height:58px;border:1px solid #dca69a55;border-radius:999px;background:var(--z-rose-btn);color:#fff;text-decoration:none;font:400 11px/1.4 Lato,Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;box-shadow:0 14px 30px #0006;transition:background .25s,transform .25s}
.shz-button span{font-size:19px;letter-spacing:0;line-height:1;transition:transform .25s}
.shz-button:hover{background:var(--z-rose-hi);color:#fff;transform:translateY(-2px)}
.shz-button:hover span{transform:translateX(3px)}
.shz-button:focus-visible{outline:2px solid #e0a9a1;outline-offset:5px}
.shz-final-alt{margin:22px 0 0;color:#a9a39b;font-size:14px}
.shz-final-alt a{color:#e6ddd3;text-decoration:none;border-bottom:1px solid #e6ddd355}
.shz-final-alt a:hover{color:#f0c4bc;border-color:#f0c4bc}
.shz-final-hand{position:absolute;right:clamp(28px,7vw,140px);top:50%;display:flex;flex-direction:column;align-items:center;color:#e0a9a1;transform:translateY(-50%) rotate(-9deg)}
.shz-final-hand .sh-memory-memories{font-size:1em}
.shz-final-hand .sh-memory-heart{display:block;width:clamp(22px,2vw,30px);height:auto;margin:8px auto 0;stroke:currentColor;stroke-width:5}

/* Homepage intro: straightforward routes into the work */
.sh-approach-routes{margin:-6px 0 18px;color:#8a7d76;font:400 13.5px/1.9 Lato,Arial,sans-serif}
.sh-approach-routes a{color:#4d4744;text-decoration:none;border-bottom:1px solid #d9b2ad;transition:color .2s,border-color .2s}
.sh-approach-routes a:hover{color:#bc7b78;border-color:#bc7b78}
.sh-approach-routes i{margin:0 9px;font-style:normal;color:#d9b2ad}

@media(max-width:1100px){.shz-final-hand{display:none}.shz-steps-list{grid-template-columns:1fr 1fr;row-gap:36px}.shz-steps-list li:nth-child(3){border-left:0;padding-left:0}.shz-steps-list li:nth-child(2){padding-right:0}}
@media(max-width:900px){
  .shz-feature{grid-template-columns:1fr}
  .shz-supporting{grid-template-columns:1fr}
  .shz-faq-inner{grid-template-columns:1fr;gap:30px}
  .shz-faq-head{position:static}
  .shz-faq-head .shz-hand{display:none}
}
@media(max-width:600px){
  .shz-wave-in,.shz-wave-final{top:-47px;height:48px}
  .shz-steps-list{grid-template-columns:1fr;row-gap:0}
  .shz-steps-list li,.shz-steps-list li:first-child,.shz-steps-list li:nth-child(3){padding:22px 0;border-left:0;border-top:1px solid var(--z-line)}
  .shz-steps-list li:first-child{border-top:0;padding-top:0}
  .shz-num{font-size:28px}
  .shz-a{padding-right:8px}
  .shz-button{width:100%;justify-content:center}
  .shz-mark{font-size:90px}
}
@media(prefers-reduced-motion:reduce){.shz-film-link img,.shz-button,.shz-q summary i{transition:none}.shz-q[open] .shz-a{animation:none}}

/* Sit above the previous section so the organic waves show */
#sh-kind-words.shz-words,#sh-final-enquiry.shz-final{z-index:2}
/* Blush eases into the warm neutral of How it works rather than stopping on a hard line */
.shz-words{background:radial-gradient(ellipse 60% 50% at 30% 40%,#f4e9e4 0%,transparent 70%),linear-gradient(180deg,var(--z-blush) 0%,var(--z-blush) 78%,var(--z-warm) 100%)}

/* Keep decorations from widening the page (vertical overflow stays visible for the waves) */
.shz-words,.shz-steps,.shz-faq,.shz-final{overflow-x:clip}
