/* v4.1 — Jamalpur interactive project demonstration. Restrict rules to the custom experience page. */
.tv41-demo{--tv41-bg:#f7f5f2;--tv41-ink:#201f1f;--tv41-red:#d82029;color:var(--tv41-ink)}
.tv41-demo .tv40-site-head{z-index:20;position:relative}
.tv41-demo .tv40-site-head a{color:#fff;text-decoration:none}
.tv41-hero{position:relative;isolation:isolate;min-height:min(680px,78svh);display:flex;align-items:center;color:#fff;overflow:hidden;background:#211f20}
.tv41-hero-photo{position:absolute;inset:0;z-index:-2;background-image:url('/images/project-archive/jamalpur-home-interior-1ebd556fc1811f.webp');background-size:cover;background-position:center 47%;animation:tv41-cover 20s ease-in-out infinite alternate}
.tv41-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,14,15,.88),rgba(15,14,15,.48) 50%,rgba(15,14,15,.04) 95%)}
.tv41-hero-inner{width:min(1220px,calc(100% - 48px));margin:40px auto 80px}
.tv41-hero h1{font-size:clamp(3.2rem,8.4vw,7.5rem);font-weight:380;line-height:.98;letter-spacing:-.072em;margin:22px 0;max-width:870px}
.tv41-demo em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--tv41-red)}
.tv41-hero h1 em{color:#faf8f4}
.tv41-hero-inner>p:not(.tv40-overline){font-size:clamp(.98rem,1.4vw,1.14rem);line-height:1.7;color:#e5e1dd;max-width:580px}
.tv41-hero-links{display:flex;flex-wrap:wrap;gap:13px;margin-top:35px}
.tv41-hero-links a{padding:16px 23px;color:white;text-decoration:none;background:var(--tv41-red);font-size:.91rem;border:1px solid var(--tv41-red)}
.tv41-hero-links a+a{background:transparent;border:1px solid #c6bdb7}
.tv41-notice{max-width:1220px;margin:38px auto 0;padding:21px 26px;background:#f1eee9;border-left:4px solid var(--tv41-red);display:grid;grid-template-columns:185px 1fr;gap:20px;font-size:.86rem;line-height:1.65;color:#5a554f}
.tv41-notice strong{color:#302b28}
.tv41-section{width:min(1220px,calc(100% - 48px));margin:0 auto;padding:clamp(60px,8vw,112px) 0;scroll-margin-top:30px}
.tv41-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:33px}
.tv41-heading>div{max-width:800px}
.tv41-heading h2{font-size:clamp(2.1rem,4.5vw,4.1rem);line-height:1.04;letter-spacing:-.06em;font-weight:450;margin:10px 0 18px}
.tv41-heading h2 em{color:#a51f29}
.tv41-heading p:not(.tv40-overline){font-size:.99rem;color:#716a64;max-width:710px;line-height:1.75;margin:0}
.tv41-autoplay{background:#262425;color:#fff;border:0;padding:15px 19px;border-radius:3px;white-space:nowrap;cursor:pointer}
.tv41-autoplay[aria-pressed="true"]{background:var(--tv41-red)}
.tv41-walk{outline:0;background:#fff;border:1px solid #e2ddda;box-shadow:0 18px 60px rgba(27,23,20,.09)}
.tv41-walk:focus-visible{outline:3px solid #d82029;outline-offset:4px}
.tv41-walk-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#242220}
.tv41-walk-image>img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .35s ease,transform 6s ease}
.tv41-walk.is-moving .tv41-walk-image>img{transform:scale(1.035)}
.tv41-walk.is-changing .tv41-walk-image>img{opacity:.3}
.tv41-shot-label{position:absolute;top:20px;left:20px;color:white;background:rgba(26,23,21,.78);padding:10px 14px;font-size:.73rem;letter-spacing:.14em;backdrop-filter:blur(10px)}
.tv41-image-hop{position:absolute;bottom:22px;right:22px;background:#fff;border:0;padding:14px 18px;color:#232123;font-weight:600;cursor:pointer;box-shadow:0 5px 28px #0003}
.tv41-scene-bottom{display:grid;grid-template-columns:54px 1fr auto 54px;align-items:center;gap:19px;padding:16px 23px;background:#1d1b1b;color:#fff}
.tv41-scene-bottom button{height:48px;border:1px solid #555;background:#292626;color:white;font-size:1.35rem;cursor:pointer}
.tv41-scene-bottom>div strong,.tv41-scene-bottom>div span{display:block}
.tv41-scene-bottom>div strong{font-weight:550;font-size:1.02rem}
.tv41-scene-bottom>div span{margin-top:4px;font-size:.82rem;color:#aaa5a3}
#tv41-counter{font-size:.78rem;letter-spacing:.14em;white-space:nowrap;color:#d4cecb}
.tv41-filmstrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;background:#302c2c}
.tv41-filmstrip button{cursor:pointer;text-align:left;background:#fff;border:0;padding:7px 7px 10px;border-bottom:3px solid transparent;min-width:0;color:#555}
.tv41-filmstrip button[aria-current="true"]{border-bottom-color:var(--tv41-red);color:#151515;background:#f4efec}
.tv41-filmstrip img{display:block;width:100%;aspect-ratio:16/8.5;object-fit:cover;margin-bottom:8px}
.tv41-filmstrip span{display:block;font-size:.79rem;padding-left:5px}
.tv41-small{font-size:.83rem;line-height:1.6;color:#78706b;margin:18px 0 0}
.tv41-dark-section{background:#201e1e;color:white;width:100%;padding:clamp(65px,8vw,108px) max(24px,calc((100% - 1220px)/2))}
.tv41-dark-section .tv41-heading h2{color:white}
.tv41-dark-section .tv41-heading h2 em{color:#e8d3cc}
.tv41-dark-section .tv41-heading p:not(.tv40-overline){color:#c3bdb7}
.tv41-dark-section .tv40-sample-badge{color:#ece4db;border-color:#857e77}
.tv41-dark-section .tv41-small{color:#d0c6be}
.tv41-video{position:relative;background:#151312;max-width:100%;box-shadow:0 24px 80px #211c1c13}
.tv41-video video{display:block;width:100%;aspect-ratio:16/9;max-height:720px;object-fit:contain}
.tv41-video-caption{position:absolute;top:18px;left:18px;background:#201b1cbe;color:white;font-size:.65rem;letter-spacing:.15em;padding:9px 13px;pointer-events:none}
.tv41-study{background:#fff}
.tv41-demo .tv40-compare-description{border-top:1px solid #eee8e2}
.tv41-demo .tv40-compare-label{font-size:.7rem}
.tv41-close{text-align:center;padding:85px 22px;background:#f5f2ef}
.tv41-close h2{font-size:clamp(2.1rem,5vw,4rem);font-weight:450;letter-spacing:-.05em;margin:10px 0 30px}
.tv41-close>div{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.tv41-close a{background:#222;color:white;text-decoration:none;padding:15px 21px}
.tv41-close a+a{background:var(--tv41-red)}
.tv41-footer{padding:26px max(24px,calc((100% - 1220px)/2));display:flex;gap:20px;justify-content:space-between;background:#191818;color:#b9b6b4;font-size:.81rem}
.tv41-footer a{color:white;text-decoration:none}
.tv41-featured-card{max-width:1190px;margin:50px auto 12px;display:grid;grid-template-columns:1fr 43%;background:#f6f4f1;min-height:300px;overflow:hidden}
.tv41-featured-card>div{padding:clamp(32px,5vw,60px)}
.tv41-featured-card h2{font-size:clamp(2rem,3.3vw,3rem);letter-spacing:-.052em;font-weight:450;margin:9px 0}
.tv41-featured-card p:not(.tv40-overline){font-size:.91rem;line-height:1.7;color:#68605e}
.tv41-featured-card a{display:inline-block;padding:12px 0;border-bottom:1px solid #222;color:#222;font-weight:600;text-decoration:none;margin-top:14px}
.tv41-featured-card img{width:100%;height:100%;object-fit:cover}
/* Project route gets one unobtrusive CTA, without changing old gallery controls */
.tv41-project-banner{display:grid;grid-template-columns:40% 1fr;gap:22px;background:#f3f0ed;padding:16px;margin:26px auto;max-width:1200px;align-items:center;border-radius:7px}
.tv41-project-banner img{width:100%;height:180px;object-fit:cover;border-radius:4px}
.tv41-project-banner p{font-size:.71rem;letter-spacing:.18em;color:#c4202a;font-weight:700}
.tv41-project-banner h3{font-size:clamp(1.2rem,2.1vw,1.9rem);font-weight:480;letter-spacing:-.025em;margin:8px 0}
.tv41-project-banner a{font-size:.91rem;background:#d8212b;color:white;padding:12px 19px;display:inline-block;text-decoration:none;margin-top:12px}
@keyframes tv41-cover{from{transform:scale(1.01)}to{transform:scale(1.08)}}
@media(max-width:780px){.tv41-hero{min-height:620px;align-items:end}.tv41-hero::before{background:linear-gradient(0deg,#171616e8,#17161680 70%,#17161640)}.tv41-hero-inner{width:calc(100% - 40px);margin:35px auto 65px}.tv41-hero h1{font-size:clamp(3.3rem,12vw,5.8rem)}.tv41-notice{margin:16px 15px 0;display:block;padding:17px 18px}.tv41-notice span{display:block;margin-top:8px}.tv41-section{width:calc(100% - 30px);padding:58px 0}.tv41-dark-section{width:100%;padding:65px 15px}.tv41-heading{display:block;margin-bottom:25px}.tv41-autoplay{margin-top:21px}.tv41-walk-image{aspect-ratio:4/3}.tv41-shot-label{top:11px;left:11px;font-size:.61rem}.tv41-image-hop{bottom:12px;right:12px;font-size:.82rem;padding:11px 14px}.tv41-scene-bottom{padding:12px;grid-template-columns:35px 1fr auto 35px;gap:7px}.tv41-scene-bottom button{height:41px}.tv41-scene-bottom>div strong{font-size:.85rem}.tv41-scene-bottom>div span{font-size:.69rem}.tv41-filmstrip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.tv41-filmstrip button{min-width:135px;flex:0 0 135px;scroll-snap-align:start}.tv41-filmstrip img{aspect-ratio:16/10}.tv41-video-caption{font-size:.53rem}.tv41-featured-card{grid-template-columns:1fr;margin:35px 15px}.tv41-featured-card img{height:260px}.tv41-project-banner{grid-template-columns:1fr;padding:12px}.tv41-project-banner img{height:160px}.tv41-demo .tv40-compare-label{font-size:.58rem;max-width:43%;padding:8px 9px}.tv41-footer{display:block;text-align:center}.tv41-footer a{display:block;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.tv41-hero-photo{animation:none}.tv41-walk-image>img{transition:none;transform:none!important}}
