/* Signature Album Homepage — approved three-section design (exactly three service cards). */
/* Scoped to .sa-home-addon / .sa-home-dialog to avoid altering any existing homepage component. */
.sa-home-addon{--sha-bg:#fff;--sha-panel:#fffdfb;--sha-card:#fffdfa;--sha-soft:#fbf8f5;--sha-text:#180409;--sha-muted:#645a59;--sha-line:#e9dfdc;--sha-line-strong:#d9c8c6;--sha-accent:#741323;--sha-accent-rgb:116,19,35;--sha-shadow:0 12px 35px rgba(37,14,18,.055);--sha-shadow-up:0 22px 54px rgba(37,14,18,.12);color:var(--sha-text);padding:106px 0 110px;scroll-margin-top:115px;background:var(--sha-bg);font-family:inherit}
html[data-sa-theme="dark"] .sa-home-addon{--sha-bg:#160708;--sha-panel:#210c0e;--sha-card:#210c0e;--sha-soft:#2a1014;--sha-text:#fff7f7;--sha-muted:#d7c5c5;--sha-line:#57383d;--sha-line-strong:#68474c;--sha-accent:#c86d7f;--sha-accent-rgb:200,109,127;--sha-shadow:0 12px 36px rgba(0,0,0,.12);--sha-shadow-up:0 22px 54px rgba(0,0,0,.32)}
.sa-home-addon *, .sa-home-dialog-backdrop *{box-sizing:border-box}
.sa-home-addon button,.sa-home-dialog-backdrop button{font-family:inherit;cursor:pointer}
.sa-home-addon h2,.sa-home-addon h3,.sa-home-dialog h2{font-family:inherit;font-style:normal;color:var(--sha-text);margin-top:0;letter-spacing:-.055em;line-height:1.12}
.sa-home-addon .sa-home-intro{max-width:760px;margin-bottom:42px}
.sa-home-addon .sa-home-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 15px;color:var(--sha-accent);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.sa-home-addon .sa-home-eyebrow:before{content:'✦';font-size:11px}
.sa-home-addon .sa-home-intro h2{font-size:clamp(33px,4vw,52px);font-weight:720;margin-bottom:16px}
.sa-home-addon .sa-home-intro>p:last-child{font-size:14.5px;color:var(--sha-muted);line-height:1.78;margin:0;max-width:595px}
.sa-home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.sa-home-service-card{min-width:0;display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--sha-card);padding:0;border:1px solid var(--sha-line);border-radius:24px;box-shadow:var(--sha-shadow);transition:box-shadow .4s,border-color .4s}
.sa-home-service-card:hover,.sa-home-service-card:focus-within{border-color:rgba(var(--sha-accent-rgb),.38);box-shadow:var(--sha-shadow-up)}
.sa-home-service-media{height:240px;overflow:hidden;border-radius:24px 24px 0 0;position:relative;background:var(--sha-soft)}
.sa-home-service-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1),filter .5s}
.sa-home-service-card:hover img{transform:scale(1.035);filter:saturate(.96)}
.sa-home-service-number{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.91);border:1px solid rgba(70,28,36,.10);height:27px;min-width:32px;border-radius:14px;display:grid;place-items:center;font-size:10px;font-weight:800;color:#741323;backdrop-filter:blur(7px)}
.sa-home-media-play{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;color:#741323;background:rgba(255,255,255,.91);border:1px solid rgba(255,255,255,.7);width:39px;height:39px;border-radius:50%;font-size:13px;backdrop-filter:blur(12px)}
.sa-home-service-body{padding:21px 22px 8px;display:flex;flex-direction:column;flex:1}
.sa-home-service-tag{align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.115em;text-transform:uppercase;color:var(--sha-accent);padding:6px 10px;border-radius:40px;border:1px solid var(--sha-line);background:var(--sha-soft);margin-bottom:14px}
.sa-home-service-body h3{font-size:clamp(23px,2vw,28px);font-weight:720;margin:0 0 10px;min-height:58px}
.sa-home-service-body>p{color:var(--sha-muted);font-size:13px;line-height:1.65;margin:0 0 22px;min-height:46px}
.sa-home-service-action{margin:auto 0 0;padding:17px 0 3px;background:transparent;border:0;border-top:1px solid var(--sha-line);border-radius:0;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;color:var(--sha-text);font-size:12px;font-weight:740;box-shadow:none;min-height:46px}
.sa-home-service-action>span:last-child{font-size:20px;font-weight:400;color:var(--sha-accent);transition:transform .3s;line-height:1}
.sa-home-service-card:hover .sa-home-service-action>span:last-child{transform:translate(4px,-3px)}
.sa-home-service-action>span:first-child{position:relative}
.sa-home-service-action>span:first-child:after{content:'';position:absolute;bottom:-5px;left:0;right:100%;height:1px;background:var(--sha-accent);transition:right .3s}
.sa-home-service-card:hover .sa-home-service-action>span:first-child:after{right:0}
/* Demo's four-step workflow, preserved as an accessible, selectable step preview. */
.sa-home-process{background:var(--sha-soft);border-block:1px solid var(--sha-line)}
.sa-home-process-grid{display:grid;grid-template-columns:minmax(320px,.91fr) minmax(420px,1.09fr);gap:65px;align-items:center}
.sa-home-process .sa-home-intro{margin-bottom:32px}
.sa-home-process-list{border-top:1px solid var(--sha-line);max-width:475px}
.sa-home-process-step{width:100%;background:none;border:0;border-bottom:1px solid var(--sha-line);border-radius:0;padding:17px 13px 18px 0;text-align:left;display:flex;align-items:center;gap:19px;color:var(--sha-text);position:relative;transition:padding .25s;box-shadow:none}
.sa-home-process-step:before{content:'';position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--sha-accent);transition:width .4s}
.sa-home-process-step.is-active:before{width:100%}
.sa-home-step-no{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;flex:none;color:var(--sha-muted);border:1px solid var(--sha-line-strong);font-size:11px;transition:background .25s,color .25s,border-color .25s}
.sa-home-process-step.is-active .sa-home-step-no{background:#741323;color:#fff;border-color:#741323}
html[data-sa-theme=dark] .sa-home-process-step.is-active .sa-home-step-no{background:#ae5365;border-color:#ae5365}
.sa-home-step-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.sa-home-step-copy strong{font-size:15px;font-weight:720}
.sa-home-step-copy small{color:var(--sha-muted);font-size:11.5px}
.sa-home-step-arrow{margin-left:auto;font-size:18px;color:var(--sha-muted);transition:color .2s,transform .2s}
.sa-home-process-step.is-active .sa-home-step-arrow{color:var(--sha-accent);transform:translateX(4px)}
.sa-home-process-preview{background:var(--sha-panel);border:1px solid var(--sha-line);border-radius:26px;overflow:hidden;box-shadow:0 20px 60px rgba(22,6,9,.075)}
.sa-home-process-photo{height:282px;position:relative;background:var(--sha-soft);overflow:hidden}
.sa-home-process-photo img{display:block;width:100%;height:100%;object-fit:cover}
.sa-home-process-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(19,6,7,.42),transparent 50%)}
.sa-home-photo-tag,.sa-home-photo-bottom{position:absolute;z-index:2;color:#fff;font-size:10px;font-weight:750;letter-spacing:.14em}
.sa-home-photo-tag{top:24px;left:25px;border:1px solid rgba(255,255,255,.5);padding:7px 11px;border-radius:25px;backdrop-filter:blur(6px)}
.sa-home-photo-bottom{bottom:22px;left:25px}
.sa-home-process-info{padding:29px 33px 25px}
.sa-home-process-meta{display:flex;justify-content:space-between;gap:15px;color:var(--sha-accent);font-size:10px;letter-spacing:.13em;font-weight:800;margin-bottom:14px}
.sa-home-process-meta span:last-child{color:var(--sha-muted)}
.sa-home-process-info h3{font-size:clamp(25px,2.7vw,34px);font-weight:720;margin-bottom:12px}
.sa-home-process-info>p{font-size:13px;line-height:1.7;color:var(--sha-muted);min-height:44px;margin:0}
.sa-home-progress-bars{display:flex;gap:6px;margin-top:24px}
.sa-home-progress-bars span{height:3px;border-radius:4px;background:var(--sha-line);flex:1;transition:background .25s}
.sa-home-progress-bars span.done{background:var(--sha-accent)}
.sa-home-process-bottom{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.sa-home-process-bottom>span{font-size:10px;color:var(--sha-muted);letter-spacing:.04em}
.sa-home-process-bottom button{font-size:11px;font-weight:750;color:var(--sha-accent);background:none;border:0;box-shadow:none;padding:5px 0;white-space:nowrap}
/* Full-width final CTA. */
.sa-home-final{padding:110px 0 130px}
.sa-home-final-frame{display:grid;grid-template-columns:42% 58%;overflow:hidden;background:var(--sha-panel);border-radius:27px;border:1px solid var(--sha-line);box-shadow:var(--sha-shadow)}
.sa-home-final-photo{position:relative;min-height:444px;overflow:hidden;background:var(--sha-soft)}
.sa-home-final-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 45%;transition:transform .85s ease}
.sa-home-final-frame:hover .sa-home-final-photo img{transform:scale(1.028)}
.sa-home-final-photo:after{position:absolute;content:'';inset:0;background:linear-gradient(0deg,rgba(19,6,7,.28),transparent 50%)}
.sa-home-final-photo>span{position:absolute;bottom:26px;left:27px;color:#fff;z-index:2;font-size:11px;font-weight:650;letter-spacing:.13em}
.sa-home-final-content{display:flex;flex-direction:column;justify-content:center;padding:53px 68px;min-width:0}
.sa-home-final-content h2{font-size:clamp(35px,3.7vw,50px);font-weight:720;max-width:530px;margin-bottom:19px}
.sa-home-final-description{max-width:480px;font-size:14px;color:var(--sha-muted);line-height:1.7;margin:0}
.sa-home-selected-row{margin-top:30px;border-top:1px solid var(--sha-line);padding-top:19px;display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.sa-home-selected-row small{font-size:10px;color:var(--sha-muted);letter-spacing:.11em;text-transform:uppercase;font-weight:700}
.sa-home-selection{display:inline-flex;align-items:center;gap:8px;background:var(--sha-soft);border:1px solid var(--sha-line-strong);padding:8px 13px;border-radius:30px;color:var(--sha-accent);font-size:11px;font-weight:800}
.sa-home-selection i{display:block;width:6px;height:6px;border-radius:50%;background:var(--sha-accent)}
.sa-home-cta-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:25px;align-items:center}
.sa-home-cta-actions a{border-radius:10px;padding:15px 20px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:12px;min-height:49px;font-weight:720;transition:background .25s,border-color .25s,box-shadow .25s;text-decoration:none}
.sa-home-start-link{border:1px solid #741323;background:#741323;color:#fff!important}
.sa-home-start-link:hover{background:#5d0d1a;box-shadow:0 12px 27px rgba(116,19,35,.18)}
.sa-home-explore-link{color:var(--sha-text)!important;border:1px solid var(--sha-line-strong);background:transparent}
.sa-home-explore-link:hover{border-color:var(--sha-accent);background:var(--sha-soft)}
.sa-home-cta-actions .sa-home-invite-link{margin-top:0;background:#741323;border:1px solid #741323;color:#fff!important;align-self:auto}
.sa-home-cta-actions .sa-home-invite-link:hover{background:#5d0d1a;box-shadow:0 12px 27px rgba(116,19,35,.18)}
.sa-home-cta-actions>a[hidden]{display:none!important}
/* Demo service details modal, self-contained without cloning theme's existing popups. */
.sa-home-dialog-backdrop{--sha-panel:#fffdfb;--sha-soft:#fbf8f5;--sha-text:#180409;--sha-muted:#645a59;--sha-line:#e9dfdc;--sha-line-strong:#d9c8c6;--sha-accent:#741323;position:fixed;z-index:10050;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(23,9,12,.61);backdrop-filter:blur(6px)}
.sa-home-dialog-backdrop[hidden]{display:none!important}
html[data-sa-theme=dark] .sa-home-dialog-backdrop{--sha-panel:#210c0e;--sha-soft:#2a1014;--sha-text:#fff7f7;--sha-muted:#d7c5c5;--sha-line:#57383d;--sha-line-strong:#68474c;--sha-accent:#c86d7f}
.sa-home-dialog{width:min(100%,510px);background:var(--sha-panel);color:var(--sha-text);border-radius:22px;border:1px solid var(--sha-line);padding:30px 31px 29px;box-shadow:0 25px 100px rgba(0,0,0,.28);position:relative;max-height:calc(100dvh - 40px);overflow:auto}
.sa-home-dialog-close{position:absolute;top:17px;right:17px;display:grid;place-items:center;border-radius:50%;height:35px;width:35px;border:1px solid var(--sha-line);background:var(--sha-soft);color:var(--sha-text);font-size:19px;line-height:1;box-shadow:none}
.sa-home-dialog-kicker{font-size:10px;font-weight:800;color:var(--sha-accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:15px;display:block}
.sa-home-dialog h2{font-size:31px;line-height:1.1;margin:0 37px 13px 0}
.sa-home-dialog p{font-size:13px;color:var(--sha-muted);line-height:1.7;margin:0}
.sa-home-dialog-features{background:var(--sha-soft);border-radius:13px;padding:13px 17px;border:1px solid var(--sha-line);margin:24px 0}
.sa-home-dialog-feature{padding:8px 0;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--sha-text)}
.sa-home-dialog-feature+.sa-home-dialog-feature{border-top:1px solid var(--sha-line)}
.sa-home-dialog-feature>span:first-child{display:grid;place-items:center;flex:none;border-radius:50%;height:21px;width:21px;border:1px solid var(--sha-line-strong);color:var(--sha-accent);font-weight:700}
.sa-home-dialog-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sa-home-dialog-actions button{flex:1;min-height:49px;border-radius:10px;padding:12px 15px;font-size:12px;font-weight:720;box-shadow:none}
.sa-home-dialog-actions button:first-child{border:1px solid var(--sha-line-strong);color:var(--sha-text);background:transparent}
.sa-home-dialog-actions button:last-child{border:1px solid #741323;background:#741323;color:white}
.sa-home-addon :is(button,a):focus-visible,.sa-home-dialog :is(button,a):focus-visible{outline:2px solid var(--sha-accent);outline-offset:3px}
@media(max-width:1000px){.sa-home-process-grid{grid-template-columns:.92fr 1.08fr;gap:30px}.sa-home-final-content{padding:40px 42px}.sa-home-service-media{height:205px}}
@media(max-width:760px){.sa-home-addon{padding:70px 0 77px}.sa-home-addon .sa-home-intro h2{font-size:clamp(32px,7vw,44px)}.sa-home-service-grid{gap:15px}.sa-home-service-media{height:160px}.sa-home-service-body h3{min-height:0;font-size:23px}.sa-home-process-grid{display:block}.sa-home-process-preview{margin-top:34px}.sa-home-final-frame{grid-template-columns:1fr}.sa-home-final-photo{min-height:320px}.sa-home-final-content{padding:34px 28px 40px}.sa-home-final{padding-bottom:92px}}
@media(max-width:560px){.sa-home-service-grid{grid-template-columns:1fr}.sa-home-service-card{padding:0}.sa-home-service-media{height:245px}.sa-home-service-body{padding:20px 22px 8px}.sa-home-service-body h3{font-size:27px}.sa-home-final-photo{min-height:265px}.sa-home-final-content{padding:30px 22px 32px}.sa-home-process-preview{border-radius:19px}.sa-home-process-photo{height:245px}.sa-home-process-info{padding:24px 23px}.sa-home-cta-actions>a{flex:1}.sa-home-dialog{padding:25px 21px}}
@media(prefers-reduced-motion:reduce){.sa-home-addon *, .sa-home-dialog-backdrop *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Public theme's earlier audited generic section/button !important rules must not recolor these isolated demo-approved controls. */
#sa-public-theme#sa-public-theme main > section.sa-home-addon{background:var(--sha-bg)!important;background-image:none!important;color:var(--sha-text)!important}
#sa-public-theme#sa-public-theme main > section.sa-home-process{background:var(--sha-soft)!important}
#sa-public-theme main .sa-home-addon .sa-home-eyebrow{color:var(--sha-accent)!important;-webkit-text-fill-color:var(--sha-accent)!important}

/* v2.8.7.294.1: Services photos — approved 07 Silk Veil Sweep.
 * This is a pseudo-element image layer rather than a second <img>, preserving
 * Website Editor img:<index> keys and all existing card/zoom/button behavior.
 * Only the three Homepage Services cards are scoped by the selectors below.
 */
.sa-home-services .sa-home-service-media > img{position:relative;z-index:0}
.sa-home-services .sa-home-service-media::after{
 content:"";
 position:absolute;
 inset:0;
 z-index:1;
 pointer-events:none;
 background-repeat:no-repeat;
 background-position:center center;
 background-size:cover;
 transform:scale(1);
 transform-origin:center center;
 -webkit-mask-image:linear-gradient(110deg,#000 0%,#000 39%,rgba(0,0,0,.98) 45%,transparent 61%,transparent 100%);
 mask-image:linear-gradient(110deg,#000 0%,#000 39%,rgba(0,0,0,.98) 45%,transparent 61%,transparent 100%);
 -webkit-mask-size:280% 100%;
 mask-size:280% 100%;
 -webkit-mask-position:100% 0;
 mask-position:100% 0;
 -webkit-mask-repeat:no-repeat;
 mask-repeat:no-repeat;
 transition:-webkit-mask-position 1.18s cubic-bezier(.22,1,.36,1),mask-position 1.18s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);
 will-change:mask-position;
}
/* Hover photos match the exact second photos from the approved HTML demo. */
.sa-home-services .sa-home-service-card:nth-child(1) .sa-home-service-media::after{background-image:var(--sa-service-hover-image,url('../images/reference/albums-hero.png'))}
.sa-home-services .sa-home-service-card:nth-child(2) .sa-home-service-media::after{background-image:var(--sa-service-hover-image,url('../images/why-v53/handcrafted-quality.webp'))}
.sa-home-services .sa-home-service-card:nth-child(3) .sa-home-service-media::after{background-image:var(--sa-service-hover-image,url('../images/story-full-3.jpg'))}
/* The old img retains its existing 1.035 hover zoom. The silk overlay matches it. */
.sa-home-services .sa-home-service-card:is(:hover,:focus-within) .sa-home-service-media::after{
 -webkit-mask-position:0% 0;
 mask-position:0% 0;
 transform:scale(1.035);
}
.sa-home-services .sa-home-service-number,
.sa-home-services .sa-home-media-play{z-index:2}
@media (prefers-reduced-motion:reduce){
 .sa-home-services .sa-home-service-media::after{transition-duration:.01ms}
}
