#content:has(.smile-album)>.inner-hero{display:none}
.smile-album{--album-size:min(40svh,34vw,510px);position:relative;background:radial-gradient(ellipse at 50% 48%,#5a2634 0,#310f1d 52%,#210c15 100%);color:#f6eedf;height:auto;isolation:isolate}
.album-sticky{min-height:100svh;padding:115px 5vw 35px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.smile-album.is-enhanced .album-sticky{position:sticky;top:0;height:100svh}
.album-heading{text-align:center;width:100%;flex:none}
.album-heading .section-index{color:#d0b58e;margin:0 0 12px;font-size:10px}
.album-heading .display{font-size:clamp(32px,4.4vw,68px);line-height:1.35;color:#f6eedf;margin:0}
.album-heading .lead{color:#d2c1b6;font-size:12px;line-height:1.8;max-width:680px;margin:10px auto 16px}
.smile-album .portfolio-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.smile-album .portfolio-filters button{background:none;border:1px solid #c5a88244;border-radius:0;color:#d8c8b6;padding:7px 14px;font-size:12px;line-height:1.5}
.smile-album .portfolio-filters button[aria-pressed=true]{color:#30101d;background:#e5d6be;border-color:#e5d6be}
.album-stage{position:relative;perspective:1200px;perspective-origin:50% 42%;width:100%;min-height:calc(var(--album-size) + 55px);flex:none;direction:ltr;outline-offset:-3px}
.album-card{position:relative;width:var(--album-size);aspect-ratio:1;flex:none;transform-style:preserve-3d}
.album-card[hidden]{display:none!important}
.album-card-turn{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform-origin:38% 50%;will-change:transform}
.album-card .portfolio-open,.album-card-back{position:absolute;inset:0;padding:clamp(9px,1.2vw,19px);background:#eee4d2;border:1px solid #c3a880;border-radius:1px;box-shadow:0 42px 65px #10050d80,0 12px 22px #10050d55,inset 0 0 0 2px #fff7e633;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.album-card .portfolio-open{display:block;width:100%;height:100%;aspect-ratio:1;overflow:visible;cursor:zoom-in}
.album-card .showcase-image{width:100%;height:100%;object-fit:cover;border:1px solid #ac8861;transform:none!important;filter:none;transition:none}
.album-card .zoom-mark{display:none}
.album-card-back{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#6b4a36;gap:10px}
.album-card-back:before{content:'';position:absolute;inset:18px;border:1px solid #bd9f76}
.album-card-back span{font:25px 'Cormorant Garamond',serif;letter-spacing:.1em}
.album-card-back small{font:7px 'DM Sans',sans-serif;letter-spacing:.2em}
.smile-album.is-enhanced .album-card{position:absolute;left:50%;top:0;margin-left:calc(var(--album-size) / -2);will-change:transform,opacity}
.smile-album:not(.is-enhanced) .album-stage{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px max(5vw,calc((100% - var(--album-size))/2));}
.smile-album:not(.is-enhanced) .album-card{scroll-snap-align:center}
.album-controls{width:min(440px,85vw);text-align:center;position:relative;z-index:10;flex:none;margin-top:5px}
.album-caption{font-size:12px;line-height:1.7;min-height:21px;margin:0 0 8px;color:#e0cfba;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.album-navigation{display:flex;direction:ltr;justify-content:space-between;align-items:center;gap:20px}
.album-navigation button{border:0;background:none;color:#d9c4a5;font-size:11px;padding:9px 0;min-height:35px;-webkit-tap-highlight-color:transparent}
.album-navigation button:disabled{opacity:.3;cursor:default}
.album-count{font:15px 'DM Sans',sans-serif;letter-spacing:.15em;white-space:nowrap}
.album-progress{display:block;width:100%;height:20px;cursor:pointer;accent-color:#c9aa78;direction:ltr;margin:0;background:transparent}
.album-scroll-hint{font-size:11px;color:#bda78e;margin:8px 0}
.album-exit{font-size:10px;color:#bda78e;border-bottom:1px solid #bda78e55;padding:3px}
@media(max-width:700px){.smile-album{--album-size:min(68vw,37svh,360px)}.album-sticky{padding:90px 4vw 25px}.album-heading .display{font-size:36px}.album-heading .lead{font-size:11px;max-width:330px;margin:8px auto 12px}.smile-album .portfolio-filters{gap:5px;margin-bottom:20px}.smile-album .portfolio-filters button{padding:5px 9px;font-size:10px}.album-stage{perspective:1000px}.album-controls{width:min(340px,82vw)}.album-caption{font-size:11px}.album-card .portfolio-open,.album-card-back{padding:10px}.album-scroll-hint{margin-top:4px}.album-count{font-size:12px}}
@media(max-height:700px) and (min-width:701px){.smile-album{--album-size:34svh}.album-sticky{padding-top:100px;padding-bottom:14px}.album-heading .display{font-size:32px}.album-heading .lead{margin:5px auto 8px}.smile-album .portfolio-filters{margin-bottom:12px}.album-scroll-hint{display:none}}
@media(prefers-reduced-motion:reduce){.album-card-turn{will-change:auto}.album-scroll-hint{display:none}.album-exit{display:none}}

/* Suspended frames: ambient light, a distant shadow and subtle independent drift. */
.smile-album.is-enhanced .album-stage:before{content:'';position:absolute;pointer-events:none;left:50%;top:35%;width:min(78vw,950px);height:75%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#d1a46d1c,transparent 68%);filter:blur(25px)}
.smile-album.is-enhanced .album-stage:after{content:'';position:absolute;pointer-events:none;left:50%;bottom:0;width:calc(var(--album-size) * 1.15);height:30px;border-radius:50%;background:#10050d80;filter:blur(20px);transform:translateX(-50%)}
.smile-album.is-enhanced .album-card-turn{animation:album-suspended 7s ease-in-out infinite}
.album-card .portfolio-open:after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid #fff6df77;background:linear-gradient(125deg,#fff5df12,transparent 38%,#1c071b0c);backface-visibility:hidden}
.album-card .portfolio-open{transform:translateZ(2px)}
.album-card-back{transform:rotateY(180deg) translateZ(2px);background:linear-gradient(135deg,#f2e9d9,#dfceb0)}
@keyframes album-suspended{0%,100%{translate:0 -5px}50%{translate:0 5px}}
@media(max-width:700px){.album-stage{perspective:850px}.smile-album{--album-size:min(65vw,34svh,350px)}}
@media(prefers-reduced-motion:reduce){.smile-album .album-card-turn{animation:none;translate:none}}

/* Cinema layout reserves the viewport for the floating photo frames. */
@media(min-width:701px){
 .smile-album{--album-size:min(calc(100svh - 330px),64vw,960px)}
 .smile-album.is-enhanced .album-sticky{padding:155px 3vw 100px}
 .smile-album.is-enhanced .album-heading{position:absolute;top:105px;left:4%;width:92%;display:flex;align-items:center;justify-content:space-between;gap:24px}
 .smile-album.is-enhanced .album-heading .display{font-size:32px;white-space:nowrap}
 .smile-album.is-enhanced .album-heading .section-index,.smile-album.is-enhanced .album-heading .lead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .smile-album.is-enhanced .portfolio-filters{margin:0;gap:6px}
 .smile-album.is-enhanced .album-stage{flex:1;min-height:0;perspective:1900px}
 .smile-album.is-enhanced .album-card{top:50%;margin-top:calc(var(--album-size) / -2)}
 .smile-album.is-enhanced .album-controls{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);width:min(620px,85vw);margin:0}
 .smile-album.is-enhanced .album-caption{margin:0;font-size:11px}
 .smile-album.is-enhanced .album-navigation button{min-height:28px;padding:4px 0}
 .smile-album.is-enhanced .album-scroll-hint{display:inline-block;margin:2px 15px 0}
 .smile-album.is-enhanced .album-exit{display:inline-block;padding:2px}
 .smile-album.is-enhanced .album-stage:after{bottom:-4px;width:calc(var(--album-size) * .95)}
}
@media(max-width:700px){
 .smile-album{--album-size:min(86vw,calc(100svh - 290px),520px)}
 .smile-album.is-enhanced .album-sticky{padding:90px 2vw 18px}
 .album-heading .display{font-size:28px}
 .album-heading .lead{font-size:10px;line-height:1.6;margin:5px auto 8px}
 .smile-album .portfolio-filters{margin-bottom:14px}
 .album-stage{min-height:calc(var(--album-size) + 32px);perspective:1100px}
 .album-caption{margin-bottom:2px}
 .album-navigation button{min-height:28px;padding:4px 0}
}
@media(max-height:520px) and (min-width:701px){
 .smile-album{--album-size:min(56svh,48vw)}
 .smile-album.is-enhanced .album-sticky{padding-top:110px;padding-bottom:70px}
 .smile-album.is-enhanced .album-heading{top:80px}
 .smile-album.is-enhanced .album-heading .display{font-size:24px}
 .smile-album.is-enhanced .album-caption,.smile-album.is-enhanced .album-scroll-hint,.smile-album.is-enhanced .album-exit{display:none}
}

.album-comparison{display:grid;grid-template-rows:1fr 1fr;gap:7px;height:100%;width:100%}
.comparison-half{display:block;position:relative;min-height:0;overflow:hidden}
.album-card .comparison-half img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%;border:1px solid #ac8861}
.comparison-half>span{position:absolute;bottom:6px;right:8px;background:#280d1de6;color:#f6eedf;font-size:11px;padding:3px 10px}
.case-lightbox.is-comparison.open{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:16px;padding:70px 5vw}
.case-lightbox.is-comparison>img{width:100%;height:min(72svh,750px);max-width:none;object-fit:contain}
.case-lightbox .case-before-image{order:-1}
.case-lightbox .case-before-image[hidden]{display:none!important}
.case-lightbox.is-comparison>p{grid-column:1/-1;text-align:center}
.smile-videos{background:#210c15;color:#f6eedf;padding:80px 6vw}
.smile-videos .display{font-size:clamp(28px,3vw,48px);margin:0 0 30px}
.smile-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;max-width:1200px;margin:auto}
.smile-video-card{margin:0;border:1px solid #c5a88244;padding:12px;background:#310f1d}
.smile-video-card video{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#180912}
.smile-video-card figcaption{padding:12px 5px 3px;font-size:15px}
.smile-video-card p{font-size:12px;line-height:1.8;color:#cdbba7;margin:5px}
@media(max-width:700px){.smile-video-grid{grid-template-columns:1fr}.smile-videos{padding:50px 5vw}.case-lightbox.is-comparison{grid-template-columns:1fr;padding:65px 5vw 25px;overflow-y:auto}.case-lightbox.is-comparison>img{height:35svh}.case-lightbox.is-comparison>p{grid-column:auto}}


/* Before-and-after image comparison */
.before-after-showcase{background:#210c15;color:#f6eedf;padding:80px 6vw}
.before-after-showcase .section-index{color:#c5a882;margin-bottom:18px}
.before-after-heading{max-width:820px;margin:0 auto 38px;text-align:center}
.before-after-heading .display{font-size:clamp(36px,4.6vw,68px);line-height:1.4}
.before-after-heading .lead{margin:12px auto 0;color:#cdbba7;font-size:14px;line-height:2.2}
.before-after-card{width:min(100%,980px);margin:auto;padding:12px;border:1px solid #c5a88255;background:#310f1d}
.before-after-comparison{--split:50%;position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;isolation:isolate;direction:ltr;background:#180912}
.before-after-comparison img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.before-after-base{z-index:1}
.before-after-before{position:absolute;z-index:3;inset:0;overflow:hidden;clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.before-after-before img{object-position:center 50%}
.before-after-label{position:absolute;z-index:2;top:16px;padding:7px 13px;background:#210c15e8;border:1px solid #c5a88288;color:#f6eedf;font:12px Vazirmatn,Arial,sans-serif;direction:rtl}
.before-after-label--after{right:16px}
.before-after-label--before{left:16px}
.before-after-divider{position:absolute;z-index:4;top:0;bottom:0;left:var(--split);width:2px;transform:translateX(-50%);background:#fff;box-shadow:0 0 12px #13080caa;pointer-events:none}
.before-after-divider>span{position:absolute;left:50%;top:50%;width:54px;height:54px;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid #fff;border-radius:50%;background:#30101eeF;color:#fff;font:22px Arial,sans-serif;box-shadow:0 4px 16px #0005}
.before-after-range{position:absolute;z-index:5;inset:0;width:100%;height:100%;margin:0;opacity:.001;cursor:ew-resize;touch-action:pan-y}
.before-after-range:focus-visible{opacity:.12;outline:2px solid #fff;outline-offset:-3px}
.before-after-hint{margin:14px auto 0;text-align:center;color:#cdbba7;font-size:12px;line-height:1.9}
@media(max-width:700px){.before-after-showcase{padding:54px 5vw}.before-after-heading{margin-bottom:26px;text-align:start}.before-after-heading .display{font-size:clamp(33px,9vw,48px)}.before-after-card{padding:8px}.before-after-label{top:10px;padding:6px 10px;font-size:11px}.before-after-label--after{right:10px}.before-after-label--before{left:10px}.before-after-divider>span{width:46px;height:46px}.before-after-hint{text-align:start}}

/* Compact before/after comparison: copy at right, image at left. */
.before-after-showcase{direction:rtl;display:grid;grid-template-columns:minmax(270px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(28px,5vw,68px);width:min(100%,1120px);margin-inline:auto;padding:70px 5vw}
.before-after-heading{max-width:none;margin:0;text-align:right}
.before-after-showcase .section-index{display:block;text-align:right;margin-bottom:12px}
.before-after-heading .display{font-size:clamp(29px,3.2vw,44px);line-height:1.45;margin:0}
.before-after-heading .lead{margin:14px 0 0;text-align:right;font-size:14px;line-height:2}
.before-after-card{width:min(100%,680px);margin:0;padding:9px}
.before-after-comparison{max-height:490px}
.before-after-hint{text-align:center}
@media(max-width:700px){
 .before-after-showcase{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding:48px 6vw}
 .before-after-heading{margin:0;text-align:right}
 .before-after-showcase .section-index{margin-bottom:8px}
 .before-after-heading .display{font-size:clamp(29px,8vw,38px)}
 .before-after-heading .lead{margin:8px 0 0;text-align:right;font-size:12px;line-height:1.9}
 .before-after-card{width:100%;padding:7px}
 .before-after-comparison{max-height:none}
 .before-after-hint{text-align:right;margin-top:9px}
}

/* Keep the comparison background full-bleed and mirror the before photo. */
.before-after-showcase{box-sizing:border-box;width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#210c15}
.before-after-before img{transform:scaleX(-1)}
@media(max-width:700px){.before-after-showcase{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}}
