@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+Bengali:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--bg:#090909;--panel:#121212;--cream:#f3eee6;--gold:#d8b77b;--muted:#a8a29b;--line:rgba(226,205,167,.2);--red:#7e2029;--serif:'Playfair Display','Noto Serif Bengali',serif;--sans:'DM Sans','Noto Serif Bengali',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,76px);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(9,9,9,.91);backdrop-filter:blur(18px);z-index:20}.brand{display:flex;align-items:center;gap:10px;letter-spacing:.12em;font-size:14px}.brand-mark{font-family:var(--serif);font-size:32px;color:var(--gold);letter-spacing:-.1em}.brand small{display:block;font-size:8px;letter-spacing:.16em;color:var(--muted)}.nav{display:flex;gap:clamp(14px,2.4vw,34px);font-size:12px;color:#d3cec6}.nav a:hover,.contact-details a:hover{color:var(--gold)}.nav-actions{display:flex;align-items:center;gap:10px}.lang{font-size:11px;color:var(--muted);padding:5px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:13px 20px;border-radius:99px;font-size:12px;font-weight:600;border:1px solid var(--line);transition:transform .25s,background .25s,border-color .25s;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#17130d;border-color:var(--gold)}.button-gold:hover{background:#f0d7a6}.button-ghost{background:transparent;color:var(--cream)}.menu-toggle{display:none;background:none;color:white;border:0;font-size:23px}.hero{min-height:min(760px,83vh);position:relative;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}.hero-image{position:absolute;inset:0;background-position:center;background-size:cover;transform:scale(1.025);animation:hero-settle 1.6s ease-out forwards}.hero-content{position:relative;z-index:1;max-width:680px;padding:90px clamp(24px,9vw,140px)}.eyebrow{font-size:10px;letter-spacing:.23em;color:var(--gold);text-transform:uppercase;margin:0 0 18px}.hero h1{font:500 clamp(42px,6.5vw,82px)/1.05 var(--serif);letter-spacing:-.045em;margin:0 0 24px;max-width:700px}.hero-copy{max-width:440px;color:#d1cbc3;font-size:14px}.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-note{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:9px;letter-spacing:.12em;margin-top:70px}.line{width:38px;height:1px;background:var(--gold)}.hero-index{position:absolute;right:5%;bottom:36px;color:var(--gold);font-size:11px;letter-spacing:.1em}.hero-index span{display:inline-block;width:70px;height:1px;background:var(--line);vertical-align:middle;margin:0 12px}.section-wrap{padding:100px clamp(22px,7vw,110px)}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:end}.intro h2,.section-heading h2,.contact-section h2{font:500 clamp(32px,4vw,52px)/1.16 var(--serif);margin:0;letter-spacing:-.03em}.intro>p{color:var(--muted);max-width:490px;font-size:14px;margin:0 0 5px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.section-count{color:var(--muted);font-size:10px;letter-spacing:.16em}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-card{border:1px solid var(--line);padding:27px;min-height:190px;position:relative;background:linear-gradient(145deg,#151412,#0c0c0c);transition:transform .3s,border-color .3s}.service-card:hover{transform:translateY(-5px);border-color:var(--gold)}.service-icon{font-size:25px;color:var(--gold)}.service-no{position:absolute;right:24px;top:24px;color:#70685a;font-size:10px}.service-card h3,.package-card h3{font:500 22px var(--serif);margin:22px 0 8px}.service-card p,.package-card p{color:var(--muted);font-size:12px;margin:0}.stories-section{background:#0e0e0e;border-block:1px solid var(--line)}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.portfolio-card{position:relative;overflow:hidden;aspect-ratio:3/4;background:#1c1a17}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s;display:block}.portfolio-card:hover img{transform:scale(1.06)}.portfolio-overlay{position:absolute;inset:auto 0 0;padding:45px 18px 18px;background:linear-gradient(transparent,rgba(0,0,0,.86))}.portfolio-overlay span{font-size:9px;color:var(--gold);letter-spacing:.12em}.portfolio-overlay h3{font:500 21px var(--serif);margin:4px 0}.portfolio-empty{grid-column:1/-1;border:1px dashed var(--line);padding:50px;text-align:center;color:var(--muted)}.portfolio-empty span{color:var(--gold);font-size:35px}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.package-card{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;align-items:flex-start;min-height:330px;background:#101010}.package-card.featured{border-color:var(--gold);background:linear-gradient(155deg,#211b12,#0e0e0e)}.package-tag,.price-label{font-size:9px;letter-spacing:.16em;color:var(--gold)}.package-card h3{font-size:28px}.price-label{margin-top:28px;color:var(--muted)}.price{font:500 37px var(--serif);margin:4px 0 20px}.price small{font-size:15px;color:var(--gold)}.package-card .button{margin-top:auto}.muted{color:var(--muted);font-size:12px;max-width:280px}.quote-band{text-align:center;padding:105px 22px;background:radial-gradient(ellipse at center,#241b12 0,#0b0b0b 65%);border-block:1px solid var(--line)}.quote-band h2{font:500 clamp(32px,4vw,52px)/1.2 var(--serif);margin:0 0 30px}.quote-band em{color:var(--gold)}.contact-section{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--muted);font-size:13px}.contact-details a:first-child{color:var(--cream)}.footer{padding:28px clamp(22px,5vw,76px);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);gap:20px}.footer p,.footer>a:last-child{font-size:10px;color:var(--muted)}.booking-page{max-width:1080px;margin:auto;padding:70px 22px 100px}.booking-intro{max-width:700px;margin-bottom:38px}.booking-intro h1{font:500 clamp(36px,5vw,60px)/1.1 var(--serif);margin:0 0 16px}.booking-intro p{color:var(--muted)}.form-panel,.admin-panel,.login-card{border:1px solid var(--line);background:#111;padding:clamp(20px,4vw,38px);border-radius:12px}.booking-form label,.login-card label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#d6d0c6}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .full{grid-column:1/-1}.booking-form input,.booking-form textarea,.booking-form select,.login-card input,.inline-form select{width:100%;border:1px solid #3b3429;background:#0b0b0b;color:var(--cream);padding:13px 14px;border-radius:7px;outline:none}.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus,.login-card input:focus{border-color:var(--gold)}.form-note{font-size:11px;color:var(--muted);margin:20px 0}.notice{padding:15px 18px;border-radius:8px;margin-bottom:20px;font-size:13px}.notice.success{border:1px solid #406c4a;background:#112016}.notice.error{border:1px solid #7e3c3c;background:#241212}.login-body{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(ellipse at top,#251c11,#080808 60%)}.login-card{width:min(100%,420px)}.login-card h1{font:500 34px var(--serif);margin:35px 0 5px}.login-card p,.login-card>small{color:var(--muted);font-size:12px}.login-card form{display:grid;gap:18px;margin:25px 0}.full-button{width:100%}.admin-body{background:#f3f3f1;color:#20211f;min-height:100vh}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#0b0b0b;color:#f4efe6;padding:24px 18px;display:flex;flex-direction:column;z-index:10}.admin-sidebar .brand{margin:0 0 40px}.admin-sidebar nav{display:grid;gap:6px}.admin-sidebar nav a{padding:12px;border-radius:7px;font-size:12px;color:#b9b4ac}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#d8b77b;color:#17130d}.admin-main{margin-left:240px;padding:36px;max-width:1700px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}.admin-top h1{font:500 38px var(--serif);margin:0}.admin-top>span{font-size:12px;color:#6b6b67}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.stat-card{padding:22px;background:white;border:1px solid #e6e5e0;border-radius:10px}.stat-card span,.stat-card small{display:block;color:#757570;font-size:11px}.stat-card strong{display:block;font-size:25px;margin:10px 0;font-weight:600}.admin-panel{background:white;border-color:#e6e5e0;border-radius:10px;margin-bottom:22px;color:#252521}.admin-panel h2{font:500 23px var(--serif);margin:0 0 20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-heading a{font-size:12px;color:#8d682d}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #ecebe6;vertical-align:top}th{color:#797973;font-weight:500;background:#fafaf8}td small{color:#777}.status{display:inline-block;padding:4px 7px;border-radius:99px;background:#f4ecd9;color:#745b2d;font-size:10px}.admin-warning{background:#fff8e7;border:1px solid #ead9ad;padding:16px;border-radius:8px;font-size:12px;color:#65542e;margin-top:20px}.inline-form{display:grid;gap:6px;min-width:140px}.inline-form select{color:#222;background:#fff;padding:7px;border-color:#ddd}.button-small{padding:8px 12px;border-radius:6px;background:#151515;color:white;border:0}.admin-main .booking-form input,.admin-main .booking-form textarea,.admin-main .booking-form select{background:#fff;color:#222;border-color:#d9d9d4}.admin-main .booking-form label{color:#454540}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes hero-settle{from{transform:scale(1.07)}to{transform:scale(1.025)}}
@media(max-width:1000px){.nav{gap:13px}.nav-actions .button{padding:10px 13px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-sidebar{width:205px}.admin-main{margin-left:205px;padding:25px}}
@media(max-width:720px){.topbar{height:70px;padding:0 18px}.nav{display:none;position:absolute;top:69px;left:0;right:0;background:#0b0b0b;padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}.nav-actions .button{display:none}.hero{min-height:690px;align-items:end}.hero-image{background-position:62% center}.hero-content{padding:100px 23px 65px}.hero h1{font-size:clamp(43px,12vw,64px)}.hero-note{margin-top:45px}.hero-index{display:none}.section-wrap{padding:68px 22px}.intro,.contact-section{grid-template-columns:1fr;gap:20px}.intro h2,.section-heading h2,.contact-section h2{font-size:36px}.section-heading{align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{padding:18px;min-height:180px}.service-card h3{font-size:18px}.portfolio-grid{gap:8px}.portfolio-overlay{padding:35px 10px 10px}.portfolio-overlay h3{font-size:16px}.package-grid{grid-template-columns:1fr}.package-card{min-height:300px}.quote-band{padding:75px 20px}.footer{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.booking-page{padding-top:42px}.admin-sidebar{position:static;width:auto;padding:16px}.admin-sidebar .brand{margin-bottom:14px}.admin-sidebar nav{display:flex;overflow:auto;gap:5px}.admin-sidebar nav a{white-space:nowrap;padding:9px}.admin-main{margin:0;padding:18px}.admin-top{align-items:flex-start;flex-direction:column}.admin-top h1{font-size:32px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:14px}.stat-card strong{font-size:20px}.admin-panel{padding:15px}.panel-heading{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* PHASE 2 — premium editorial system */
:root{--gold:#dfbf82;--gold-strong:#f0d49c;--ink:#080808;--cream:#f5f0e8;--muted:#a8a198;--line:rgba(223,191,130,.19);--panel:#121110;--ease:cubic-bezier(.2,.7,.2,1)}
.announcement-bar{display:flex;justify-content:center;align-items:center;gap:20px;min-height:30px;padding:5px 16px;background:#17130e;color:#d8c9aa;font-size:10px;letter-spacing:.08em;text-align:center}.announcement-bar a{color:var(--gold);white-space:nowrap}.topbar{top:0}.nav a.active{color:var(--gold)}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:right .3s var(--ease)}.nav a:hover:after,.nav a.active:after{right:0}.hero-premium{min-height:min(790px,calc(100vh - 110px));isolation:isolate}.hero-premium .hero-image{background-position:center 42%;animation:heroReveal 1.25s var(--ease) both}.hero-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}.hero-premium .hero-content{max-width:740px}.hero-premium .hero h1,.hero-premium h1{max-width:720px;text-wrap:balance;letter-spacing:-.055em}.eyebrow-line{display:inline-block;width:28px;height:1px;background:var(--gold);vertical-align:middle;margin-right:9px}.hero-meta{position:absolute;right:clamp(22px,5vw,76px);top:35px;display:flex;gap:20px;color:rgba(255,255,255,.65);font-size:8px;letter-spacing:.18em}.hero-bottom-title{position:absolute;bottom:8px;left:5%;font-family:var(--serif);font-size:clamp(18px,3vw,31px);letter-spacing:.22em;color:rgba(223,191,130,.25);white-space:nowrap;pointer-events:none}.hero-bottom-title span{color:var(--gold)}.hero-index{display:flex;align-items:center;gap:13px}.hero-index i{display:block;width:55px;height:1px;background:var(--gold);opacity:.6}.button{transition:transform .25s var(--ease),background .25s,border-color .25s,box-shadow .25s}.button:hover{transform:translateY(-2px);box-shadow:0 9px 30px rgba(0,0,0,.18)}.button-gold{background:linear-gradient(110deg,#d7b579,#f0d49c 55%,#d4b273);color:#17120b}.button-gold:hover{background:var(--gold-strong)}.button-ghost{border-color:rgba(223,191,130,.3)}.section-wrap{max-width:1510px;margin:0 auto}.intro{padding-top:120px;padding-bottom:110px}.intro-copy{max-width:520px}.text-link{font-size:12px;color:var(--gold);display:inline-flex;gap:8px;align-items:center;margin-top:12px}.text-link:hover{color:#fff}.service-card{position:relative;overflow:hidden;transition:transform .35s var(--ease),border-color .35s,background .35s}.service-card:before{content:"";position:absolute;inset:auto -40% -85% -40%;height:100%;background:radial-gradient(ellipse,rgba(223,191,130,.1),transparent 65%);opacity:0;transition:opacity .35s}.service-card:hover{transform:translateY(-5px);border-color:rgba(223,191,130,.5);background:#171511}.service-card:hover:before{opacity:1}.service-arrow{position:absolute;right:22px;bottom:18px;color:var(--gold);opacity:0;transform:translate(-4px,4px);transition:.25s}.service-card:hover .service-arrow{opacity:1;transform:none}.stories-section{background:linear-gradient(180deg,#100f0d,#0b0b0b);padding:15px 0 50px}.portfolio-grid{align-items:stretch}.portfolio-home .portfolio-card{min-height:360px}.portfolio-home .portfolio-card:nth-child(3n+2){margin-top:50px}.portfolio-card{position:relative;overflow:hidden;background:#171512;isolation:isolate}.portfolio-card img,.portfolio-card video{width:100%;height:100%;min-height:320px;object-fit:cover;display:block;transition:transform .8s var(--ease),filter .8s}.portfolio-card:hover img,.portfolio-card:hover video{transform:scale(1.045);filter:saturate(1.06)}.portfolio-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.72));z-index:0;pointer-events:none}.portfolio-overlay{z-index:1}.portfolio-overlay h3{max-width:80%}.portfolio-open{position:absolute;right:22px;bottom:23px;border:1px solid rgba(255,255,255,.4);border-radius:50%;width:34px;height:34px;display:grid;place-items:center}.manifesto-band{position:relative;min-height:540px;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;background:#15120e}.manifesto-image{position:absolute;inset:0 42% 0 0;background-size:cover;background-position:center;mask-image:linear-gradient(90deg,#000 55%,transparent)}.manifesto-content{grid-column:2;position:relative;padding:90px clamp(30px,6vw,100px) 90px 20px;max-width:720px}.manifesto-content h2{font:500 clamp(34px,4vw,58px)/1.12 var(--serif);letter-spacing:-.035em}.manifesto-content>p:not(.eyebrow){color:#c1bbb1;max-width:460px}.center-action{text-align:center;margin-top:26px}.testimonials-section{padding-top:60px;padding-bottom:70px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.testimonial-card{border:1px solid var(--line);padding:28px;background:linear-gradient(145deg,#15130f,#0d0d0c)}.quote-mark{font:60px/1 var(--serif);color:var(--gold)}.testimonial-card p{min-height:92px;color:#d8d1c7}.testimonial-card strong,.testimonial-card small{display:block}.testimonial-card small{color:var(--muted);font-size:10px;margin-top:4px}.faq-section{padding-top:40px;padding-bottom:110px}.faq-list{max-width:900px;margin:0 auto}.faq-item{border-bottom:1px solid var(--line);padding:20px 0}.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:16px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{color:var(--gold);font-size:22px;transition:transform .2s}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item p{max-width:780px;color:var(--muted)}.footer{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:45px;padding:65px clamp(22px,6vw,90px) 25px;border-top:1px solid var(--line);background:#070707}.footer-brand p{max-width:300px;color:var(--muted);font-size:12px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:12px;color:#c4bdb2}.footer-links strong{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:5px}.footer-links a:hover{color:var(--gold)}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;margin-top:12px;display:flex;justify-content:space-between;color:#8e877d;font-size:10px}.inner-hero{min-height:390px;background-size:cover;background-position:center;display:flex;align-items:end;padding:70px clamp(22px,7vw,110px)}.inner-hero-copy{max-width:850px}.inner-hero h1{font:500 clamp(42px,7vw,82px)/1.02 var(--serif);letter-spacing:-.05em;margin:12px 0}.inner-hero p:not(.eyebrow){max-width:650px;color:#ded6ca}.cms-body{padding-top:65px;padding-bottom:100px}.cms-richtext{max-width:850px;font-size:17px;line-height:1.9;color:#d3ccc2;white-space:normal;margin-bottom:45px}.inner-service-grid{margin-top:40px}.portfolio-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.filter-chip{background:transparent;color:#c9c0b3;border:1px solid var(--line);padding:9px 14px;border-radius:99px;cursor:pointer;font-size:11px}.filter-chip.active,.filter-chip:hover{background:var(--gold);color:#14100a;border-color:var(--gold)}.portfolio-page-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-page-grid [hidden]{display:none}.contact-page-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px}.contact-page-grid .booking-form{background:#11100e;padding:28px;border:1px solid var(--line)}.cms-admin-layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.6fr);gap:18px;align-items:start}.page-link-list{display:flex;flex-direction:column;gap:8px}.page-link-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #e5e1da;border-radius:9px}.page-link-item.selected{border-color:#c49b55;background:#fcf5e7}.page-link-item small,.page-link-item strong{display:block}.page-link-item small{color:#81796d;font-size:10px;margin-top:4px}.admin-help{color:#766f66;font-size:12px}.media-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.media-admin-card{border:1px solid #e8e2d8;border-radius:10px;overflow:hidden;background:#fff}.media-admin-card>img{display:block;width:100%;height:145px;object-fit:cover;background:#ece7df}.media-admin-card>div{padding:12px}.media-admin-card strong,.media-admin-card small{display:block}.media-admin-card small{font-size:11px;color:#82796e;margin-top:4px}.inline-actions{display:flex;align-items:center;gap:14px;margin-top:9px;font-size:12px}.inline-actions a{color:#946a2d}.inline-actions form{margin:0}.link-danger{border:0;background:transparent;color:#a32e2e;cursor:pointer;padding:0;font:inherit}.inline-form{display:flex;gap:8px;align-items:center}.button-small{padding:7px 10px;font-size:11px}.check-label{display:flex!important;flex-direction:row!important;align-items:center;gap:9px}.check-label input{width:auto!important}.notice{border-radius:8px}.notice.success{background:#eaf7ed;border:1px solid #a9d8b2;color:#205b2c;padding:12px 15px;margin-bottom:14px}.notice.error{background:#fff0ee;border:1px solid #efb0a9;color:#8d2119;padding:12px 15px;margin-bottom:14px}.admin-main .admin-panel{margin-bottom:18px}.admin-main .form-grid label small{display:block;color:#81796d;font-weight:400;margin-top:5px}.admin-main input[type=file]{padding:9px;background:#fbfaf7}.admin-main .panel-heading{gap:14px}.admin-main .table-wrap small{display:block;color:#837b71;margin-top:4px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes heroReveal{from{transform:scale(1.04);filter:brightness(.72)}to{transform:scale(1);filter:brightness(1)}}
@media(max-width:1000px){.announcement-bar{font-size:9px;gap:8px}.topbar{padding:0 22px}.nav{gap:13px}.nav-actions{gap:6px}.nav-book{padding:11px 13px}.hero-meta{display:none}.cms-admin-layout{grid-template-columns:1fr}.portfolio-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{gap:28px}}
@media(max-width:760px){.announcement-bar{justify-content:space-between;font-size:8px;letter-spacing:0}.topbar{height:70px;position:sticky}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;color:var(--cream);border-radius:50%;width:37px;height:37px}.nav{display:none;position:absolute;left:0;right:0;top:69px;padding:18px 22px 22px;background:rgba(8,8,8,.98);border-bottom:1px solid var(--line);flex-direction:column;gap:0;box-shadow:0 20px 25px rgba(0,0,0,.3)}.nav.nav-open{display:flex}.nav a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}.nav a:after{display:none}.nav-actions .lang{font-size:10px}.nav-book{display:none}.hero-premium{min-height:calc(88svh - 70px);min-height:650px}.hero-premium .hero-image{background-position:58% center}.hero-premium .hero-content{padding:95px 23px 75px}.hero-premium h1{font-size:clamp(43px,12vw,67px);max-width:540px}.hero-premium .hero-copy{max-width:340px}.hero-bottom-title{font-size:14px;letter-spacing:.13em;left:22px}.hero-index{display:none}.intro{padding-top:78px;padding-bottom:70px}.intro h2,.section-heading h2,.contact-section h2{font-size:clamp(32px,9vw,42px)}.section-wrap{padding-left:22px;padding-right:22px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-card{padding:17px;min-height:195px}.service-card h3{font-size:17px}.portfolio-home .portfolio-card{min-height:250px}.portfolio-home .portfolio-card:nth-child(3n+2){margin-top:0}.portfolio-grid{gap:9px}.portfolio-card img,.portfolio-card video{min-height:250px}.portfolio-overlay{padding:30px 12px 13px}.portfolio-overlay h3{font-size:15px}.manifesto-band{grid-template-columns:1fr;min-height:0}.manifesto-image{inset:0 0 42% 0;mask-image:linear-gradient(180deg,#000 55%,transparent)}.manifesto-content{grid-column:1;padding:300px 24px 65px}.package-grid{grid-template-columns:1fr}.package-card{min-height:290px}.testimonial-grid{grid-template-columns:1fr}.testimonial-card p{min-height:0}.faq-section{padding-bottom:75px}.footer{grid-template-columns:1fr 1fr;padding:48px 22px 22px;gap:30px 18px}.footer-brand{grid-column:1/-1}.footer-bottom{gap:12px;flex-wrap:wrap}.inner-hero{min-height:330px;padding:55px 23px}.inner-hero h1{font-size:clamp(42px,11vw,64px)}.cms-body{padding-top:42px;padding-bottom:70px}.cms-richtext{font-size:15px}.portfolio-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-page-grid .portfolio-card img,.portfolio-page-grid .portfolio-card video{min-height:230px}.contact-page-grid{grid-template-columns:1fr;gap:28px}.media-admin-grid{grid-template-columns:1fr}.admin-main .admin-top{gap:14px}.admin-main .admin-top h1{font-size:30px}}
@media(max-width:420px){.announcement-bar span{max-width:72%;text-align:left}.brand{gap:7px;font-size:12px}.brand-mark{font-size:28px}.brand small{font-size:7px}.hero-cta{align-items:stretch;flex-direction:column;max-width:260px}.hero-cta .button{justify-content:center}.service-grid{grid-template-columns:1fr}.service-card{min-height:155px}.portfolio-page-grid{grid-template-columns:1fr}.portfolio-page-grid .portfolio-card img,.portfolio-page-grid .portfolio-card video{min-height:290px}.footer{grid-template-columns:1fr}.footer-brand{grid-column:auto}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-premium .hero-image{animation:none}.button,.service-card,.portfolio-card img{transition:none}}

.hero-dots{position:absolute;right:clamp(22px,5vw,76px);bottom:65px;display:flex;gap:8px;z-index:3}.hero-dot{width:7px;height:7px;border-radius:50%;border:1px solid var(--gold);background:transparent;padding:0;cursor:pointer;transition:width .25s,background .25s}.hero-dot.active{width:24px;border-radius:8px;background:var(--gold)}.admin-separator{border:0;border-top:1px solid #e6dfd4;margin:28px 0}.subsection-title{margin-top:28px}
@media(max-width:760px){.hero-dots{right:22px;bottom:47px}.footer{padding-bottom:22px}}


/* Phase 2 audit fixes: admin navigation and media cards on small screens. */
.portfolio-video-badge{position:absolute;left:16px;top:16px;z-index:2;width:36px;height:36px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);font-size:12px}
.portfolio-card video{width:100%;height:100%;object-fit:cover;display:block}
.admin-main{min-width:0}
@media(max-width:1000px) and (min-width:761px){.admin-sidebar{width:205px;padding:22px 13px}.admin-main{margin-left:205px;padding:25px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.admin-sidebar{position:relative;inset:auto;width:100%;height:auto;padding:12px 14px;gap:8px}.admin-sidebar .brand{margin:0 0 8px}.admin-sidebar .brand-mark{font-size:27px}.admin-sidebar nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}.admin-sidebar nav a{flex:0 0 auto;white-space:nowrap;padding:9px 11px;font-size:11px}.admin-main{margin-left:0;padding:18px 14px 30px}.admin-top{align-items:flex-start;flex-wrap:wrap}.admin-top h1{font-size:29px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:15px}.stat-card strong{font-size:21px}.admin-panel{padding:18px}.inline-form{min-width:125px}.table-wrap{max-width:100%}}
@media(max-width:420px){.admin-main{padding:14px 10px 24px}.stat-card{padding:12px}.stat-card strong{font-size:18px}.admin-panel{padding:14px}.admin-top h1{font-size:26px}}

.hero-video{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}.hero-grain{z-index:1}.hero-content,.hero-meta,.hero-index,.hero-dots,.hero-bottom-title{z-index:2}

/* SR Studio Cinematic Luxury 2.1 — progressive UI polish */
:root{--gold-bright:#f0d8a7;--gold-deep:#a98243;--ease:cubic-bezier(.22,.68,0,1);--glass:rgba(16,14,12,.72)}
html{scroll-behavior:smooth;scroll-padding-top:110px}body{overflow-x:clip}::selection{background:var(--gold);color:#17120a}
.topbar{transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}.topbar.is-scrolled{background:rgba(7,7,7,.96);border-color:rgba(216,183,123,.32);box-shadow:0 12px 35px rgba(0,0,0,.18)}
.brand{transition:opacity .25s ease}.brand:hover{opacity:.82}.brand-mark{position:relative}.brand-mark:after{content:"";position:absolute;left:0;right:-5px;bottom:0;height:1px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(.35);transform-origin:left;transition:transform .35s var(--ease)}.brand:hover .brand-mark:after{transform:scaleX(1)}
.nav a{position:relative;transition:color .25s ease}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav a:hover:after,.nav a.active:after{transform:scaleX(1)}
.button{position:relative;isolation:isolate;overflow:hidden;transition:transform .32s var(--ease),box-shadow .32s ease,background .32s ease,border-color .32s ease}.button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.34) 48%,transparent 72%);transform:translateX(-130%);transition:transform .65s var(--ease);z-index:-1}.button:hover:before{transform:translateX(130%)}.button-gold{box-shadow:0 8px 24px rgba(216,183,123,.08)}.button-gold:hover{box-shadow:0 12px 32px rgba(216,183,123,.2);transform:translateY(-3px)}.button-ghost:hover{border-color:var(--gold);background:rgba(216,183,123,.06)}
.hero-premium{isolation:isolate;min-height:min(820px,calc(100svh - 105px));background:#080808}.hero-premium:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 76% 40%,rgba(196,143,72,.12),transparent 40%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 28%)}.hero-premium .hero-image{will-change:transform,filter;transition:opacity .75s ease,background-image .6s ease;animation:heroCinematicIn 1.4s var(--ease) both}.hero-premium .hero-content{max-width:850px}.hero-premium .eyebrow{display:flex;align-items:center;gap:12px}.eyebrow-line{display:inline-block;width:30px;height:1px;background:var(--gold);box-shadow:0 0 15px rgba(216,183,123,.6)}.hero-premium h1{max-width:790px;text-wrap:balance;text-shadow:0 4px 35px rgba(0,0,0,.32);animation:copyRise .85s .12s both}.hero-premium .hero-copy{font-size:clamp(13px,1.2vw,16px);line-height:1.9;max-width:480px}.hero-premium .hero-cta{gap:14px}.hero-premium .hero-note{margin-top:clamp(42px,7vh,78px)}.hero-meta{font-size:9px;letter-spacing:.16em;color:rgba(243,238,230,.68)}.hero-bottom-title{letter-spacing:.25em;color:rgba(243,238,230,.72)}.hero-bottom-title span{color:var(--gold)}.hero-index{display:flex;align-items:center;gap:13px}.hero-index i{display:block;width:clamp(40px,5vw,76px);height:1px;background:linear-gradient(90deg,var(--gold),rgba(216,183,123,.12))}.hero-dots{gap:9px}.hero-dot{width:6px;height:6px;transition:width .4s var(--ease),background .3s,box-shadow .3s}.hero-dot.active{width:31px;box-shadow:0 0 18px rgba(216,183,123,.3)}.hero-grain{pointer-events:none;position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.section-wrap{position:relative}.intro{position:relative}.intro:before{content:"SR";position:absolute;right:8%;top:34px;font:italic clamp(90px,16vw,220px)/1 var(--serif);color:rgba(216,183,123,.035);pointer-events:none}.intro h2,.section-heading h2,.contact-section h2,.quote-band h2{ text-wrap:balance}.eyebrow{line-height:1.7}.section-heading{margin-bottom:42px}.section-heading:after{content:"";position:absolute}.service-card{border-radius:3px;overflow:hidden;transition:transform .5s var(--ease),border-color .4s,background .4s;will-change:transform}.service-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0,rgba(216,183,123,.11),transparent 45%);opacity:0;transition:opacity .45s}.service-card:hover{transform:translateY(-7px);border-color:rgba(216,183,123,.72);background:linear-gradient(145deg,#1a1712,#0c0c0c)}.service-card:hover:before{opacity:1}.service-icon{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid rgba(216,183,123,.28);border-radius:50%;transition:transform .45s var(--ease),background .35s}.service-card:hover .service-icon{transform:rotate(-9deg) scale(1.08);background:rgba(216,183,123,.09)}.service-arrow{position:absolute;right:23px;bottom:20px;color:var(--gold);opacity:0;transform:translate(-5px,5px);transition:all .3s}.service-card:hover .service-arrow{opacity:1;transform:translate(0,0)}
.portfolio-grid{gap:clamp(8px,1.2vw,16px)}.portfolio-card{border-radius:3px;isolation:isolate;transform:translateZ(0)}.portfolio-card:after{content:"";position:absolute;inset:10px;border:1px solid rgba(240,216,167,0);z-index:2;pointer-events:none;transition:border-color .45s,transform .45s}.portfolio-card:hover:after{border-color:rgba(240,216,167,.55);transform:scale(.97)}.portfolio-card img,.portfolio-card video{transition:transform 1s var(--ease),filter .6s;filter:saturate(.88)}.portfolio-card:hover img,.portfolio-card:hover video{transform:scale(1.075);filter:saturate(1.05)}.portfolio-shade{z-index:1;transition:opacity .4s}.portfolio-overlay{z-index:3;padding:60px 22px 22px;transform:translateY(5px);transition:transform .45s var(--ease)}.portfolio-card:hover .portfolio-overlay{transform:translateY(0)}.portfolio-overlay h3{letter-spacing:-.015em}.portfolio-open{position:absolute;right:18px;bottom:22px;width:30px;height:30px;border:1px solid rgba(216,183,123,.5);border-radius:50%;display:grid;place-items:center;transition:background .3s,color .3s,transform .3s}.portfolio-card:hover .portfolio-open{background:var(--gold);color:#17120a;transform:rotate(45deg)}
.manifesto-band{isolation:isolate}.manifesto-image{filter:saturate(.8);transition:transform 1.4s var(--ease),filter 1s}.manifesto-band.is-visible .manifesto-image{transform:scale(1.025);filter:saturate(1)}.manifesto-content h2{font-size:clamp(35px,5vw,64px);line-height:1.1;text-wrap:balance}.package-card{position:relative;overflow:hidden;border-radius:3px;transition:transform .45s var(--ease),border-color .35s,box-shadow .4s}.package-card:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(216,183,123,.09),transparent 52%);opacity:0;transition:opacity .4s;pointer-events:none}.package-card:hover{transform:translateY(-6px);border-color:rgba(216,183,123,.65);box-shadow:0 18px 50px rgba(0,0,0,.22)}.package-card:hover:before{opacity:1}.package-card.featured{box-shadow:inset 0 0 0 1px rgba(216,183,123,.09)}.price{letter-spacing:-.035em}.testimonial-card,.faq-item{transition:border-color .3s,transform .3s}.testimonial-card:hover{transform:translateY(-4px);border-color:rgba(216,183,123,.5)}.faq-item[open] summary span{transform:rotate(45deg);color:var(--gold)}.faq-item summary span{transition:transform .25s}
/* Accessible image lightbox */
.sr-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(14px,4vw,48px);background:rgba(3,3,3,.94);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.sr-lightbox.open{opacity:1;visibility:visible}.sr-lightbox figure{margin:0;max-width:min(1200px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:14px;transform:translateY(12px) scale(.985);transition:transform .35s var(--ease)}.sr-lightbox.open figure{transform:translateY(0) scale(1)}.sr-lightbox img{display:block;max-width:100%;max-height:calc(100svh - 120px);object-fit:contain;box-shadow:0 25px 100px rgba(0,0,0,.45)}.sr-lightbox figcaption{color:#e6d8bf;font-size:12px;letter-spacing:.06em;text-align:center}.sr-lightbox-close{position:absolute;right:clamp(16px,4vw,48px);top:clamp(16px,4vw,48px);width:44px;height:44px;border:1px solid rgba(216,183,123,.55);border-radius:50%;background:rgba(12,12,12,.65);color:var(--cream);font-size:24px;cursor:pointer}.sr-lightbox-close:hover{background:var(--gold);color:#17120a}.sr-lightbox-hint{font-size:9px;color:#928778;letter-spacing:.12em}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}.nav-open{animation:menuDrop .25s ease both}.reveal{transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.is-visible{transition-delay:var(--reveal-delay,0ms)}
@keyframes heroCinematicIn{from{transform:scale(1.075);filter:brightness(.65) saturate(.8)}to{transform:scale(1.015);filter:brightness(1) saturate(1)}}@keyframes copyRise{from{opacity:0;transform:translateY(20px);clip-path:inset(0 0 25% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}@keyframes menuDrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1200px){.hero-premium .hero-content{padding-left:clamp(100px,10vw,175px)}.portfolio-home .portfolio-card{min-height:360px}.portfolio-home .portfolio-card:nth-child(3n+2){margin-top:54px}.portfolio-home .portfolio-card:nth-child(3n){margin-top:20px}}
@media(max-width:760px){.hero-premium{min-height:calc(91svh - 70px);min-height:660px}.hero-premium .hero-content{padding-top:80px;padding-bottom:82px}.hero-premium h1{line-height:1.08;letter-spacing:-.035em}.hero-premium .hero-note{font-size:8px;letter-spacing:.08em}.hero-bottom-title{letter-spacing:.12em;font-size:12px}.portfolio-overlay{padding:40px 12px 14px}.portfolio-open{right:12px;bottom:14px;width:27px;height:27px}.intro:before{top:15px;right:0}.service-card:hover{transform:translateY(-3px)}.package-card:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-premium .hero-image,.hero-premium h1,.nav-open{animation:none!important}.button:before{display:none}.service-card,.package-card,.portfolio-card img,.manifesto-image,.sr-lightbox,.sr-lightbox figure{transition:none!important}.reveal{opacity:1;transform:none;transition:none!important}}
.hero-title-change{animation:copyRise .55s var(--ease) both}


/* SR Studio — Cinematic Motion & Bengali Typography Audit v3 */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--gold-glow:rgba(216,183,123,.24)}
html{scroll-padding-top:104px}body{overflow-x:clip}
.topbar{transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}
.topbar.is-scrolled{background:rgba(7,7,7,.96);border-bottom-color:rgba(216,183,123,.32);box-shadow:0 12px 36px rgba(0,0,0,.22)}
.hero-premium{min-height:clamp(650px,calc(100svh - 130px),900px);min-height:clamp(650px,calc(100vh - 130px),900px);overflow:hidden}
.hero-premium .hero-content{width:min(100%,1050px);padding-top:clamp(76px,9vh,116px);padding-bottom:clamp(100px,12vh,142px)}
.hero-premium h1{line-height:1.32;padding:.06em 0 .13em;margin-bottom:18px;overflow:visible;letter-spacing:-.025em;max-width:820px;text-wrap:pretty;-webkit-box-decoration-break:clone;box-decoration-break:clone}
html[lang="bn"] .hero-premium h1,html[lang="bn"] .booking-intro h1,html[lang="bn"] .inner-hero h1,html[lang="bn"] .intro h2,html[lang="bn"] .section-heading h2,html[lang="bn"] .contact-section h2,html[lang="bn"] .manifesto-content h2,html[lang="bn"] .quote-band h2{line-height:1.38;letter-spacing:-.018em}
.hero-premium .hero-copy{line-height:1.95}.hero-premium .hero-note{line-height:1.8}
.hero-meta{top:32px;right:clamp(22px,4vw,64px)}
.hero-bottom-title{max-width:calc(100% - 44px);line-height:1.7;bottom:18px;left:clamp(22px,5vw,82px);right:auto;font-size:clamp(10px,1.25vw,16px);white-space:normal}
.hero-index{bottom:24px;right:clamp(22px,4vw,64px)}.hero-dots{bottom:25px}
.hero-premium .hero-image{transform-origin:center}
.hero-premium:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;border:1px solid rgba(216,183,123,.07)}
.reveal{will-change:opacity,transform}
.service-card,.package-card,.testimonial-card,.faq-item,.button{transition-timing-function:var(--motion-ease)}
.button-gold{box-shadow:0 8px 26px rgba(216,183,123,.1)}.button-gold:focus-visible{box-shadow:0 0 0 5px rgba(216,183,123,.15)}
.portfolio-card:focus-visible{outline-offset:5px}.section-heading,.section-wrap,.manifesto-band{scroll-margin-top:105px}img{max-width:100%}
@media(min-width:761px){.hero-premium .hero-content{padding-left:clamp(76px,9.2vw,160px)}.hero-premium h1{font-size:clamp(52px,5.2vw,82px)}}
@media(max-width:1000px) and (min-width:761px){.topbar{padding-inline:22px}.nav{gap:11px;font-size:11px}.nav-book{padding:10px 12px;font-size:11px}.hero-premium .hero-content{padding-left:6vw}.hero-premium h1{max-width:690px;font-size:clamp(48px,6vw,68px)}}
@media(max-width:760px){.hero-premium{min-height:max(680px,calc(100svh - 96px));min-height:max(680px,calc(100vh - 96px))}.hero-premium .hero-content{width:100%;padding:78px 23px 118px;align-self:center}.hero-premium h1{font-size:clamp(39px,10.3vw,61px);line-height:1.38;max-width:100%;letter-spacing:-.025em;margin-bottom:15px}.hero-premium .hero-copy{max-width:100%;font-size:13px;line-height:1.85}.hero-premium .hero-note{margin-top:32px}.hero-bottom-title{bottom:15px;left:22px;right:22px;max-width:calc(100% - 44px);font-size:10px;letter-spacing:.12em}.hero-index{display:none}.hero-dots{right:22px;bottom:22px}.hero-meta{display:none}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.contact-section{grid-template-columns:1fr;gap:22px}.intro{grid-template-columns:1fr;gap:20px}.hero-cta{flex-direction:row;max-width:none}.hero-cta .button{min-height:44px}}
@media(max-width:420px){.hero-premium{min-height:720px}.hero-premium .hero-content{padding:70px 20px 120px}.hero-premium h1{font-size:clamp(36px,10.5vw,45px);line-height:1.4}.hero-cta{flex-direction:column;align-items:stretch;max-width:270px}.hero-bottom-title{max-width:calc(100% - 40px);left:20px;font-size:9px}.hero-dots{left:20px;right:auto;bottom:54px}}
@media(max-height:740px) and (min-width:761px){.hero-premium{min-height:700px}.hero-premium .hero-content{padding-top:74px;padding-bottom:110px}.hero-premium .hero-note{margin-top:34px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}

@media(prefers-reduced-motion:reduce){.brand-logo{filter:none}}

/* Header brand: original logo only; preserve source image without crop or effects. */
.topbar .brand{gap:0;letter-spacing:0;font-size:0;flex:0 0 auto;margin-left:64px}
.brand-logo{display:block;width:68px;height:68px;object-fit:contain;object-position:center;flex:0 0 auto;filter:none;transform:none}
@media(max-width:760px){.topbar .brand{margin-left:36px}.topbar .brand-logo{width:58px;height:58px}}

/* Portfolio polish: clearer keyboard focus, tactile controls and gallery navigation. */
:where(a,button,[role="button"],input,textarea,select,summary):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.portfolio-card img[role="button"]{cursor:zoom-in}
.sr-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(216,183,123,.58);border-radius:50%;background:rgba(12,12,12,.72);color:var(--cream);font-size:32px;line-height:1;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.sr-lightbox-nav:hover{background:var(--gold);color:#17120a;border-color:var(--gold)}
.sr-lightbox-prev{left:clamp(12px,3vw,36px)}
.sr-lightbox-next{right:clamp(12px,3vw,36px)}
.sr-lightbox-close{z-index:3}
@media(max-width:600px){.sr-lightbox{padding:60px 12px 34px}.sr-lightbox img{max-height:calc(100svh - 160px)}.sr-lightbox-nav{top:auto;bottom:12px;transform:none;width:42px;height:42px}.sr-lightbox-prev{left:calc(50% - 52px)}.sr-lightbox-next{right:calc(50% - 52px)}.sr-lightbox-hint{font-size:8px}}
@media(prefers-reduced-motion:reduce){.sr-lightbox-nav{transition:none}}


/* SR Studio cinematic homepage refinement — structural layout override */
.portfolio-home{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.35vw,20px);align-items:stretch;grid-auto-flow:row;}
.portfolio-home>.portfolio-card{display:block;position:relative;min-width:0;min-height:0;margin:0!important;aspect-ratio:4/5;overflow:hidden;isolation:isolate;border:1px solid rgba(216,183,123,.13);border-radius:5px;background:#15120e;}
.portfolio-home>.portfolio-card img{display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center;}
.portfolio-home>.portfolio-card:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0) 34%,rgba(0,0,0,.12) 53%,rgba(0,0,0,.82) 100%);opacity:.96;}
.portfolio-home>.portfolio-card:after{inset:9px;border:1px solid rgba(240,216,167,0);border-radius:2px;}
.portfolio-home>.portfolio-card:hover:after,.portfolio-home>.portfolio-card:focus-visible:after{border-color:rgba(240,216,167,.48);}
.portfolio-home .portfolio-overlay{inset:auto 0 0;padding:clamp(38px,5vw,68px) clamp(14px,1.5vw,22px) clamp(16px,1.8vw,24px);background:linear-gradient(transparent,rgba(0,0,0,.62));transform:none;}
.portfolio-home .portfolio-overlay>span:first-child{display:inline-block;margin-bottom:6px;font-size:9px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;}
.portfolio-home .portfolio-overlay h3{max-width:calc(100% - 34px);margin:0;font-size:clamp(17px,1.65vw,23px);line-height:1.35;text-wrap:balance;}
.portfolio-home .portfolio-open{right:clamp(12px,1.4vw,20px);bottom:clamp(14px,1.6vw,22px);}
.portfolio-home .portfolio-video-badge{z-index:3;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;background:rgba(10,10,10,.42);color:#fff;backdrop-filter:blur(8px);}
.portfolio-home>.portfolio-card:hover img{transform:scale(1.045);}
.portfolio-home .portfolio-empty{grid-column:1/-1;min-height:220px;display:grid;place-content:center;justify-items:center;padding:32px;}
.hero-premium .hero-image{transform-origin:center;will-change:transform,opacity;}
.hero-premium .hero-grain{z-index:1;}
.hero-premium .hero-content{z-index:2;}
.hero-premium .hero-cta .button{min-height:46px;}
@media(min-width:1200px){.portfolio-home>.portfolio-card{aspect-ratio:4/5;}.portfolio-home .portfolio-overlay h3{font-size:clamp(19px,1.45vw,24px);}}
@media(max-width:1000px){.portfolio-home{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}.portfolio-home>.portfolio-card{aspect-ratio:4/5;}.portfolio-home .portfolio-overlay h3{font-size:clamp(17px,2.2vw,22px);}}
@media(max-width:760px){.portfolio-home{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.portfolio-home>.portfolio-card{aspect-ratio:3/4;min-height:0;}.portfolio-home .portfolio-overlay{padding:42px 12px 14px;}.portfolio-home .portfolio-overlay>span:first-child{font-size:8px;letter-spacing:.11em;}.portfolio-home .portfolio-overlay h3{font-size:clamp(14px,3.7vw,18px);line-height:1.35;max-width:100%;}.portfolio-home .portfolio-open{width:25px;height:25px;right:10px;bottom:10px;font-size:12px;}.portfolio-home>.portfolio-card:after{inset:6px;}.portfolio-home .portfolio-video-badge{width:38px;height:38px;}.hero-premium .hero-cta{flex-wrap:wrap;}}
@media(max-width:360px){.portfolio-home{gap:8px;}.portfolio-home .portfolio-overlay h3{font-size:13px;}.portfolio-home .portfolio-overlay{padding-inline:10px;}}
@media(prefers-reduced-motion:reduce){.portfolio-home>.portfolio-card img,.portfolio-home>.portfolio-card:after,.portfolio-home .portfolio-open{transition:none!important;}.portfolio-home>.portfolio-card:hover img{transform:none;}}

/* SR Studio Hero refinement — source-audited, CSS-only, preserves CMS-selected media. */
.hero-premium .hero-image{
  background-position: 66% center;
  background-size: cover;
  transform-origin: 66% center;
}
.hero-premium .hero-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(5,5,6,.24) 0%,rgba(5,5,6,.08) 45%,rgba(5,5,6,.02) 72%,rgba(5,5,6,.12) 100%);
}
.hero-premium .hero-content{max-width:820px}
.hero-premium .hero-content .eyebrow{margin-bottom:clamp(14px,2.2vh,24px)}
.hero-premium h1{
  max-width:700px;
  line-height:1.22;
  margin-bottom:clamp(14px,2.2vh,22px);
  text-wrap:balance;
}
html[lang="bn"] .hero-premium h1{line-height:1.27;letter-spacing:-.022em}
.hero-premium .hero-copy{max-width:470px;line-height:1.85}
.hero-premium .hero-cta{margin-top:clamp(22px,3vh,34px);gap:12px}
.hero-premium .hero-note{margin-top:clamp(30px,5vh,58px)}
.hero-premium .hero-meta{z-index:2}
.hero-premium .hero-bottom-title{z-index:2;letter-spacing:.16em}
@media(min-width:1200px){
  .hero-premium .hero-content{padding-left:clamp(84px,9.2vw,150px)}
  .hero-premium h1{font-size:clamp(58px,5.1vw,78px)}
}
@media(max-width:1000px) and (min-width:761px){
  .hero-premium .hero-image{background-position:64% center;}
  .hero-premium .hero-content{max-width:720px}
  .hero-premium h1{max-width:610px;line-height:1.22}
}
@media(max-width:760px){
  .hero-premium .hero-image{background-position:64% center;transform-origin:64% center}
  .hero-premium .hero-image::after{background:linear-gradient(90deg,rgba(5,5,6,.58) 0%,rgba(5,5,6,.30) 58%,rgba(5,5,6,.16) 100%),linear-gradient(0deg,rgba(5,5,6,.42),transparent 44%)}
  .hero-premium .hero-content{padding-top:clamp(58px,9vh,82px);padding-bottom:clamp(116px,16vh,142px)}
  .hero-premium h1{font-size:clamp(38px,9.2vw,54px);line-height:1.24;max-width:100%;margin-bottom:16px}
  html[lang="bn"] .hero-premium h1{line-height:1.29;letter-spacing:-.02em}
  .hero-premium .hero-copy{font-size:13px;line-height:1.8;max-width:36rem}
  .hero-premium .hero-cta{gap:9px;margin-top:24px}
  .hero-premium .hero-cta .button{padding:12px 16px;font-size:11px;min-height:44px}
  .hero-premium .hero-note{margin-top:28px;max-width:100%;font-size:8px}
}
@media(max-width:420px){
  .hero-premium .hero-image{background-position:61% center}
  .hero-premium .hero-content{padding-inline:20px;padding-top:60px;padding-bottom:126px}
  .hero-premium h1{font-size:clamp(35px,9.5vw,42px);line-height:1.28}
  .hero-premium .hero-cta{align-items:flex-start}
  .hero-premium .hero-cta .button{width:auto;max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  .hero-premium .hero-image{transform:none!important;animation:none!important}
}


/* Homepage motion polish: animate hero supporting copy in sync with the heading. */
.hero-premium .hero-content .hero-copy.hero-copy-change{animation:copyRise .58s var(--ease,ease-out) .06s both}
@media(prefers-reduced-motion:reduce){.hero-premium .hero-content .hero-copy.hero-copy-change{animation:none!important}}

/* V3 Hero Slider — editorial thumbnails, controls and accessible cinematic transitions */
.hero-premium .hero-image{transition:opacity .45s ease,background-position 1s ease;will-change:opacity,background-image}
.hero-premium .hero-image.is-changing{opacity:.48}
.hero-premium .hero-content h1,.hero-premium .hero-content .hero-copy{will-change:opacity,transform}
.hero-premium .hero-content .hero-copy-change{animation:heroCopyRise .48s var(--ease,ease-out) both}
@keyframes heroCopyRise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.hero-controls{position:absolute;inset:0;z-index:4;pointer-events:none;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,2.2vw,34px)}
.hero-arrow{pointer-events:auto;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(216,183,123,.52);background:rgba(8,8,8,.36);backdrop-filter:blur(8px);color:var(--cream);font-size:26px;line-height:1;cursor:pointer;transition:background .25s,color .25s,transform .25s,border-color .25s}
.hero-arrow:hover,.hero-arrow:focus-visible{background:var(--gold);border-color:var(--gold);color:#15110b;transform:scale(1.05);outline:none}
.hero-arrow[hidden]{display:none}
.hero-thumbnails{position:absolute;z-index:4;left:clamp(22px,5vw,76px);right:clamp(22px,5vw,76px);bottom:clamp(68px,8vh,98px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:1080px;margin-inline:auto}
.hero-thumb{min-width:0;display:flex;align-items:center;gap:11px;text-align:left;padding:8px;border:1px solid rgba(216,183,123,.22);border-radius:8px;background:rgba(8,8,8,.54);color:var(--cream);cursor:pointer;overflow:hidden;transition:border-color .25s,background .25s,transform .25s;backdrop-filter:blur(10px)}
.hero-thumb:hover{transform:translateY(-3px);border-color:rgba(216,183,123,.65)}
.hero-thumb.active{border-color:var(--gold);background:rgba(25,20,13,.82);box-shadow:0 0 0 1px rgba(216,183,123,.12)}
.hero-thumb-image{display:block;flex:0 0 72px;width:72px;aspect-ratio:1.25;background-size:cover;background-position:center;border-radius:4px;filter:saturate(.86);transition:filter .3s}
.hero-thumb.active .hero-thumb-image{filter:saturate(1.08)}
.hero-thumb-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.hero-thumb-copy small{color:var(--gold);font-size:9px;letter-spacing:.12em}
.hero-thumb-copy strong{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-thumb-copy em{font-style:normal;color:rgba(243,238,230,.65);font-size:9px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.hero-thumb[hidden]{display:none}
.hero-premium .hero-index{bottom:30px;z-index:3}
.hero-premium .hero-dots{bottom:32px;z-index:3}
@media(max-width:1100px){.hero-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));bottom:clamp(64px,7vh,82px);gap:7px}.hero-thumb{gap:7px;padding:6px}.hero-thumb-image{flex-basis:52px;width:52px}.hero-thumb-copy strong{font-size:10px}.hero-thumb-copy em{display:none}.hero-arrow{width:40px;height:40px}}
@media(max-width:760px){.hero-premium{padding-bottom:0}.hero-controls{align-items:flex-start;top:50%;bottom:auto;transform:translateY(-50%);padding:0 10px;height:0}.hero-arrow{width:34px;height:34px;font-size:21px;background:rgba(8,8,8,.56)}.hero-thumbnails{left:16px;right:16px;bottom:58px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.hero-thumb{min-height:55px;padding:6px}.hero-thumb-image{flex-basis:46px;width:46px;aspect-ratio:1.1}.hero-thumb-copy strong{font-size:10px}.hero-thumb-copy small{font-size:8px}.hero-premium .hero-index{bottom:18px;left:20px;right:auto;font-size:10px}.hero-premium .hero-index i{width:36px}.hero-premium .hero-dots{bottom:22px;right:20px}.hero-premium .hero-content{padding-bottom:175px}.hero-bottom-title{bottom:18px;max-width:calc(100% - 40px);font-size:9px;letter-spacing:.1em}}
@media(max-width:420px){.hero-thumbnails{bottom:52px;left:12px;right:12px;gap:6px}.hero-thumb{min-height:49px}.hero-thumb-image{flex-basis:38px;width:38px}.hero-thumb-copy strong{font-size:9px}.hero-premium .hero-content{padding-bottom:180px}.hero-controls{padding:0 7px}}
@media(prefers-reduced-motion:reduce){.hero-premium .hero-image,.hero-premium .hero-content h1,.hero-premium .hero-content .hero-copy,.hero-thumb,.hero-arrow{animation:none!important;transition:none!important;transform:none!important}.hero-premium .hero-image{will-change:auto}}


/* Professional autoplay progress: the active thumbnail fills subtly over each 6.5s cycle. */
.hero-thumb{position:relative}
.hero-thumb::after{content:"";position:absolute;left:0;right:auto;bottom:0;width:0;height:2px;background:var(--gold);opacity:.9;pointer-events:none}
.hero-thumb.active::after{animation:heroThumbProgress 6.5s linear both}
@keyframes heroThumbProgress{from{width:0}to{width:100%}}
.hero-premium .hero-image{transition:opacity .42s ease,background-position 1s ease}
.hero-premium .hero-image.is-changing{opacity:.18}
.hero-premium .hero-content h1.hero-title-change{animation:heroCopyRise .62s var(--ease,ease-out) both}
@media(prefers-reduced-motion:reduce){.hero-thumb.active::after{animation:none;width:100%;opacity:.45}.hero-premium .hero-image,.hero-premium .hero-content h1,.hero-premium .hero-content .hero-copy,.hero-thumb,.hero-arrow{animation:none!important;transition:none!important;transform:none!important}.hero-premium .hero-image{will-change:auto}}


/* Randomized cinematic transitions: avoid repeating the previous effect. */
.hero-premium .hero-image[class*="hero-transition-"]{animation-duration:1.15s;animation-timing-function:cubic-bezier(.22,.7,.18,1);animation-fill-mode:both}
.hero-premium .hero-image.hero-transition-zoom-in{animation-name:heroRandomZoomIn}
.hero-premium .hero-image.hero-transition-zoom-out{animation-name:heroRandomZoomOut}
.hero-premium .hero-image.hero-transition-drift-left{animation-name:heroRandomDriftLeft}
.hero-premium .hero-image.hero-transition-drift-right{animation-name:heroRandomDriftRight}
.hero-premium .hero-image.hero-transition-soft-focus{animation-name:heroRandomSoftFocus}
@keyframes heroRandomZoomIn{from{opacity:.34;transform:scale(1.075);filter:brightness(.72) saturate(.82)}to{opacity:1;transform:scale(1.015);filter:brightness(1) saturate(1)}}
@keyframes heroRandomZoomOut{from{opacity:.36;transform:scale(.965);filter:brightness(.78)}to{opacity:1;transform:scale(1.025);filter:brightness(1)}}
@keyframes heroRandomDriftLeft{from{opacity:.38;transform:translateX(2.2%) scale(1.035);background-position:72% center;filter:brightness(.76)}to{opacity:1;transform:translateX(0) scale(1.015);background-position:66% center;filter:brightness(1)}}
@keyframes heroRandomDriftRight{from{opacity:.38;transform:translateX(-2.2%) scale(1.035);background-position:60% center;filter:brightness(.76)}to{opacity:1;transform:translateX(0) scale(1.015);background-position:66% center;filter:brightness(1)}}
@keyframes heroRandomSoftFocus{from{opacity:.25;transform:scale(1.04);filter:blur(5px) brightness(.7)}to{opacity:1;transform:scale(1.015);filter:blur(0) brightness(1)}}
@media(prefers-reduced-motion:reduce){.hero-premium .hero-image[class*="hero-transition-"]{animation:none!important;filter:none!important;transform:none!important;opacity:1!important}}


/* Glitch fix: prevent the legacy hero-settle animation from restarting when randomized classes are removed. */
.hero-premium .hero-image{animation:none;transform:scale(1.025);filter:none;}
.hero-premium .hero-image.hero-transition-zoom-in,
.hero-premium .hero-image.hero-transition-zoom-out,
.hero-premium .hero-image.hero-transition-drift-left,
.hero-premium .hero-image.hero-transition-drift-right,
.hero-premium .hero-image.hero-transition-soft-focus{animation-duration:1.15s;animation-timing-function:cubic-bezier(.22,.7,.18,1);animation-fill-mode:both;}
@keyframes heroRandomZoomIn{from{opacity:.34;transform:scale(1.075);filter:brightness(.72) saturate(.82)}to{opacity:1;transform:scale(1.025);filter:none}}
@keyframes heroRandomZoomOut{from{opacity:.36;transform:scale(.965);filter:brightness(.78)}to{opacity:1;transform:scale(1.025);filter:none}}
@keyframes heroRandomDriftLeft{from{opacity:.38;transform:translateX(2.2%) scale(1.035);background-position:72% center;filter:brightness(.76)}to{opacity:1;transform:scale(1.025);background-position:66% center;filter:none}}
@keyframes heroRandomDriftRight{from{opacity:.38;transform:translateX(-2.2%) scale(1.035);background-position:60% center;filter:brightness(.76)}to{opacity:1;transform:scale(1.025);background-position:66% center;filter:none}}
@keyframes heroRandomSoftFocus{from{opacity:.25;transform:scale(1.04);filter:blur(5px) brightness(.7)}to{opacity:1;transform:scale(1.025);filter:none}}

/* SR Studio V3 — premium homepage finishing pass (presentation only). */
.hero-premium .hero-image{background-size:cover;background-repeat:no-repeat;background-position:66% center;transform:scale(1.025);backface-visibility:hidden;}
.hero-premium .hero-image::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,5,6,.10) 0%,transparent 28%,rgba(5,5,6,.16) 70%,rgba(5,5,6,.32) 100%);}
.hero-premium .hero-content{max-width:790px;}
.hero-premium .hero-content .eyebrow{letter-spacing:.19em;}
.hero-premium .hero-content h1{max-width:760px;text-wrap:balance;line-height:1.28;}
.hero-premium .hero-copy{max-width:440px;text-wrap:pretty;}
.hero-premium .hero-cta .button{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,background-color .28s ease,border-color .28s ease;}
.hero-premium .hero-cta .button-gold:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(216,183,123,.18);}
.hero-premium .hero-cta .button span{display:inline-block;transition:transform .25s ease;}
.hero-premium .hero-cta .button:hover span{transform:translate(2px,-2px);}
.hero-premium .hero-thumbnails{max-width:1050px;}
.hero-premium .hero-thumb{min-height:64px;border-color:rgba(216,183,123,.2);}
.hero-premium .hero-thumb:focus-visible,.hero-premium .hero-arrow:focus-visible,.hero-premium .hero-dot:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.hero-premium .hero-thumb-copy strong{line-height:1.45;}
.hero-premium .hero-index,.hero-premium .hero-dots{z-index:5;}

/* Signature services: refined editorial cards without inventing CMS image fields. */
.services-section{position:relative;}
.services-section .section-heading{margin-bottom:clamp(24px,3vw,42px);}
.service-grid{gap:clamp(12px,1.5vw,22px);}
.service-card{position:relative;isolation:isolate;min-height:235px;padding:clamp(22px,2.5vw,34px);border:1px solid rgba(216,183,123,.18);border-radius:7px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.008) 52%,rgba(216,183,123,.025));overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s ease,background .35s ease,box-shadow .35s ease;}
.service-card::before{content:"";position:absolute;z-index:-1;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,var(--gold),transparent);opacity:.35;transform:scaleY(.3);transform-origin:center;transition:transform .35s ease,opacity .35s ease;}
.service-card::after{content:"";position:absolute;z-index:-1;right:-42px;top:-48px;width:130px;height:130px;border:1px solid rgba(216,183,123,.10);border-radius:50%;box-shadow:0 0 0 18px rgba(216,183,123,.018),0 0 0 38px rgba(216,183,123,.012);pointer-events:none;}
.service-card:hover,.service-card:focus-within{transform:translateY(-5px);border-color:rgba(216,183,123,.48);background:linear-gradient(145deg,rgba(216,183,123,.08),rgba(255,255,255,.012) 65%);box-shadow:0 18px 45px rgba(0,0,0,.18);}
.service-card:hover::before,.service-card:focus-within::before{transform:scaleY(1);opacity:1;}
.service-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:26px;border:1px solid rgba(216,183,123,.35);border-radius:50%;background:rgba(216,183,123,.045);color:var(--gold);font-size:20px;transition:background .3s ease,transform .3s ease;}
.service-card:hover .service-icon{background:rgba(216,183,123,.12);transform:translateY(-2px);}
.service-no{position:absolute;top:25px;right:25px;color:rgba(216,183,123,.65);font-size:10px;letter-spacing:.16em;}
.service-card h3{max-width:90%;margin:0 0 10px;font-size:clamp(17px,1.45vw,21px);line-height:1.4;text-wrap:balance;}
.service-card p{max-width:36ch;margin:0;color:rgba(243,238,230,.68);font-size:13px;line-height:1.8;}
.service-arrow{position:absolute;right:24px;bottom:22px;color:var(--gold);font-size:18px;opacity:.7;transform:translate(0,0);transition:opacity .25s ease,transform .25s ease;}
.service-card:hover .service-arrow{opacity:1;transform:translate(3px,-3px);}

/* Featured stories: consistent crops, accessible focus and editorial rhythm. */
.stories-section{position:relative;overflow:hidden;}
.stories-section::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(216,183,123,.22),transparent);pointer-events:none;}
.stories-section .section-heading{align-items:end;gap:22px;}
.portfolio-home{grid-auto-rows:auto;}
.portfolio-home>.portfolio-card{border-color:rgba(216,183,123,.18);border-radius:6px;box-shadow:0 10px 35px rgba(0,0,0,.12);}
.portfolio-home>.portfolio-card img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .55s ease;filter:saturate(.92);}
.portfolio-home>.portfolio-card:hover img,.portfolio-home>.portfolio-card:focus-visible img{filter:saturate(1.06);transform:scale(1.055);}
.portfolio-home>.portfolio-card:focus-visible{outline:2px solid var(--gold);outline-offset:4px;}
.portfolio-home .portfolio-overlay{padding-bottom:clamp(18px,2vw,28px);}
.portfolio-home .portfolio-overlay>span:first-child{color:var(--gold);}
.portfolio-home .portfolio-open{transition:transform .3s ease,background .3s ease,color .3s ease;}
.portfolio-home>.portfolio-card:hover .portfolio-open,.portfolio-home>.portfolio-card:focus-visible .portfolio-open{transform:translate(2px,-2px);background:var(--gold);color:#111;}

@media(max-width:1000px){
 .service-card{min-height:220px;padding:22px;}
 .service-icon{margin-bottom:20px;}
 .hero-premium .hero-content h1{max-width:650px;}
}
@media(max-width:760px){
 .hero-premium .hero-image{background-position:64% center;}
 .hero-premium .hero-content h1{max-width:100%;text-wrap:pretty;}
 .hero-premium .hero-thumbnails{max-width:100%;}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .service-card{min-height:200px;padding:17px 15px 20px;}
 .service-icon{width:40px;height:40px;margin-bottom:18px;font-size:17px;}
 .service-no{top:17px;right:15px;font-size:9px;}
 .service-card h3{font-size:15px;max-width:100%;}
 .service-card p{font-size:12px;line-height:1.7;}
 .service-arrow{right:14px;bottom:13px;font-size:16px;}
 .stories-section .section-heading{align-items:start;}
 .portfolio-home{gap:10px;}
}
@media(max-width:420px){
 .service-grid{gap:8px;}
 .service-card{min-height:190px;padding:15px 12px 18px;}
 .service-card h3{font-size:14px;}
 .service-card p{font-size:11px;}
 .hero-premium .hero-image{background-position:62% center;}
}
@media(hover:none){.service-card:hover{transform:none;box-shadow:none}.portfolio-home>.portfolio-card:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){
 .hero-premium .hero-cta .button,.hero-premium .hero-cta .button span,.service-card,.service-card::before,.service-icon,.service-arrow,.portfolio-home>.portfolio-card img,.portfolio-home .portfolio-open{transition:none!important;animation:none!important;}
 .service-card:hover,.portfolio-home>.portfolio-card:hover img{transform:none!important;}
}


/* Featured Stories + Signature Services — final visual polish pass */
.services-section{
  isolation:isolate;
  background:radial-gradient(ellipse at 92% 12%,rgba(216,183,123,.045),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.008),transparent 58%);
}
.services-section .section-heading .eyebrow,
.stories-section .section-heading .eyebrow{display:flex;align-items:center;gap:12px;}
.services-section .section-heading .eyebrow::before,
.stories-section .section-heading .eyebrow::before{content:"";display:inline-block;width:25px;height:1px;background:linear-gradient(90deg,var(--gold),rgba(216,183,123,.18));}
.services-section .section-heading h2,
.stories-section .section-heading h2{max-width:17ch;text-wrap:balance;}
.services-section .section-heading .text-link,
.stories-section .section-heading .text-link{white-space:nowrap;position:relative;padding-bottom:7px;}
.services-section .section-heading .text-link::after,
.stories-section .section-heading .text-link::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .3s ease;}
.services-section .section-heading .text-link:hover::after,
.stories-section .section-heading .text-link:hover::after{right:0;}
.service-card{box-shadow:0 10px 30px rgba(0,0,0,.10);}
.service-card .service-icon{position:relative;z-index:1;box-shadow:inset 0 0 0 4px rgba(216,183,123,.025);}
.service-card h3{position:relative;z-index:1;padding-right:8px;}
.service-card p{position:relative;z-index:1;max-width:34ch;}
.service-card::after{transition:transform .55s cubic-bezier(.2,.7,.2,1),border-color .4s ease;}
.service-card:hover::after,.service-card:focus-within::after{transform:scale(1.12);border-color:rgba(216,183,123,.2);}
.service-card:focus-within{outline:2px solid rgba(216,183,123,.58);outline-offset:3px;}
.stories-section{background:radial-gradient(ellipse at 50% 0%,rgba(216,183,123,.035),transparent 46%),#0b0b0b;}
.portfolio-home>.portfolio-card{box-shadow:0 12px 34px rgba(0,0,0,.2);}
.portfolio-home>.portfolio-card img{will-change:transform;backface-visibility:hidden;}
.portfolio-home>.portfolio-card::before{transition:opacity .45s ease,background .45s ease;}
.portfolio-home>.portfolio-card:hover::before,.portfolio-home>.portfolio-card:focus-visible::before{background:linear-gradient(180deg,rgba(0,0,0,.02) 20%,rgba(0,0,0,.16) 48%,rgba(0,0,0,.88) 100%);}
.portfolio-home .portfolio-overlay>span:first-child{width:fit-content;max-width:100%;padding:5px 8px;border:1px solid rgba(216,183,123,.24);border-radius:2px;background:rgba(8,8,8,.3);backdrop-filter:blur(5px);}
.portfolio-home .portfolio-overlay h3{text-wrap:balance;text-shadow:0 2px 18px rgba(0,0,0,.45);}
.portfolio-home .portfolio-video-badge{box-shadow:0 8px 28px rgba(0,0,0,.24);transition:background .3s ease,transform .3s ease;}
.portfolio-home>.portfolio-card:hover .portfolio-video-badge{background:rgba(216,183,123,.9);color:#17120a;transform:translate(-50%,-50%) scale(1.05);}
.portfolio-home .portfolio-empty{border:1px solid rgba(216,183,123,.17);border-radius:8px;background:linear-gradient(135deg,rgba(216,183,123,.04),rgba(255,255,255,.008));}
@media(min-width:1200px){
  .services-section,.stories-section .section-wrap{padding-top:clamp(100px,8vw,132px);padding-bottom:clamp(100px,8vw,132px);}
  .service-card{min-height:248px;}
}
@media(max-width:760px){
  .services-section .section-heading .text-link,.stories-section .section-heading .text-link{margin-top:2px;}
  .services-section .section-heading h2,.stories-section .section-heading h2{max-width:100%;}
  .service-card{box-shadow:0 7px 20px rgba(0,0,0,.12);}
  .portfolio-home>.portfolio-card{box-shadow:0 8px 22px rgba(0,0,0,.2);}
  .portfolio-home .portfolio-overlay>span:first-child{padding:4px 6px;font-size:7px;}
}
@media(hover:none){
  .service-card::after{transform:none;}
  .portfolio-home>.portfolio-card:hover::before{background:linear-gradient(180deg,rgba(0,0,0,0) 34%,rgba(0,0,0,.12) 53%,rgba(0,0,0,.82) 100%);}
  .portfolio-home>.portfolio-card:hover .portfolio-video-badge{transform:translate(-50%,-50%);}
}
@media(prefers-reduced-motion:reduce){
  .services-section .section-heading .text-link::after,.service-card::after,.portfolio-home>.portfolio-card::before,.portfolio-home .portfolio-video-badge{transition:none!important;}
  .service-card:hover::after,.service-card:focus-within::after{transform:none;}
}


/* SR Studio Services — image-led cards, admin-managed media and accessible CTA. */
.service-card-visual{padding:0;min-height:330px;isolation:isolate;display:flex;align-items:stretch;background:linear-gradient(145deg,#151412,#0c0c0c);overflow:hidden;border-radius:5px}
.service-card-visual .service-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:-2;transition:transform .85s cubic-bezier(.22,1,.36,1),filter .6s;filter:saturate(.82) brightness(.76)}
.service-card-visual .service-card-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,5,5,.12) 0%,rgba(5,5,5,.32) 36%,rgba(5,5,5,.94) 100%);transition:background .35s}
.service-card-visual:not(:has(.service-card-image)) .service-card-shade{background:radial-gradient(circle at 100% 0,rgba(216,183,123,.12),transparent 42%),linear-gradient(180deg,rgba(12,12,12,.1),rgba(8,8,8,.95))}
.service-card-content{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:inherit;padding:25px;z-index:1}
.service-card-visual .service-icon{background:rgba(8,8,8,.56);backdrop-filter:blur(8px);border-color:rgba(216,183,123,.42)}
.service-card-visual .service-no{right:24px;top:25px;color:rgba(243,238,230,.8);letter-spacing:.12em}
.service-card-visual h3{margin-top:auto;padding-top:64px;font-size:clamp(19px,2vw,25px);line-height:1.35;text-wrap:balance;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.service-card-visual p{max-width:42ch;color:rgba(243,238,230,.82);line-height:1.75}
.service-card-link{display:inline-flex;align-items:center;gap:10px;margin-top:18px;color:var(--gold);font-size:11px;letter-spacing:.02em;border-bottom:1px solid rgba(216,183,123,.38);padding-bottom:5px;transition:gap .25s,color .25s,border-color .25s}
.service-card-link span{font-size:15px}
.service-card-visual:hover .service-card-image,.service-card-visual:focus-within .service-card-image{transform:scale(1.055);filter:saturate(1) brightness(.86)}
.service-card-visual:hover .service-card-link,.service-card-visual:focus-within .service-card-link{gap:15px;color:#f2d7a4;border-color:var(--gold)}
.service-card-visual:hover .service-card-shade,.service-card-visual:focus-within .service-card-shade{background:linear-gradient(180deg,rgba(5,5,5,.08) 0%,rgba(5,5,5,.26) 32%,rgba(5,5,5,.96) 100%)}
.service-page-card{min-height:365px}
.service-admin-current-image{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:10px;border:1px solid #e8e2d8;border-radius:8px;background:#fbfaf7}
.service-admin-current-image img{width:118px;height:76px;object-fit:cover;border-radius:5px}
.service-admin-current-image small{display:block;color:#81796d;font-size:11px;margin-bottom:7px}
.service-admin-table-image{width:68px;height:46px;object-fit:cover;border-radius:5px;display:block}
@media(max-width:1000px){.service-card-visual{min-height:315px}.service-card-content{padding:21px}.service-card-visual h3{font-size:20px}}
@media(max-width:760px){.service-card-visual,.service-page-card{min-height:290px}.service-card-content{padding:18px}.service-card-visual h3{padding-top:52px;font-size:19px}.service-card-link{min-height:36px}.service-card-visual:hover{transform:translateY(-3px)}}
@media(max-width:420px){.service-card-visual,.service-page-card{min-height:285px}.service-card-content{padding:19px}.service-card-visual h3{font-size:21px}.service-admin-current-image{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.service-card-visual .service-card-image,.service-card-visual .service-card-shade,.service-card-link{transition:none!important}.service-card-visual:hover .service-card-image,.service-card-visual:focus-within .service-card-image{transform:none}}

/* Services visual polish v2 — consistent image overlay and mobile composition */
.service-card-visual,
.service-page-card{position:relative!important;isolation:isolate!important;min-height:350px;border-radius:9px;background:#100e0b;overflow:hidden;}
.service-card-visual .service-card-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center 38%;z-index:0!important;filter:saturate(.94) brightness(.94)!important;transform:scale(1.001);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .5s ease!important;}
.service-card-visual .service-card-shade{position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none;background:linear-gradient(180deg,rgba(5,5,6,.12) 0%,rgba(5,5,6,.08) 26%,rgba(5,5,6,.38) 50%,rgba(5,5,6,.91) 100%)!important;}
.service-card-content{position:relative!important;z-index:2!important;min-height:inherit!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;width:100%!important;padding:25px!important;}
.service-card-visual .service-icon{flex:0 0 auto;width:44px;height:44px;margin:0!important;background:rgba(7,7,7,.62)!important;border-color:rgba(231,197,132,.72)!important;color:#f0cf8c;box-shadow:0 5px 20px rgba(0,0,0,.2);backdrop-filter:blur(7px);}
.service-card-visual .service-no{position:absolute!important;top:25px!important;right:25px!important;z-index:3!important;color:#fff!important;text-shadow:0 1px 10px rgba(0,0,0,.8);}
.service-card-visual h3{margin-top:auto!important;padding-top:58px!important;margin-bottom:9px!important;max-width:100%;font-size:clamp(19px,1.7vw,24px)!important;line-height:1.35!important;color:#fffaf1!important;text-shadow:0 2px 18px rgba(0,0,0,.6);}
.service-card-visual p{max-width:44ch!important;color:rgba(255,250,241,.9)!important;font-size:13px!important;line-height:1.75!important;text-shadow:0 1px 12px rgba(0,0,0,.75);}
.service-card-link{margin-top:14px!important;min-height:36px;align-self:flex-start;color:#f0cf8c!important;font-size:12px!important;font-weight:600;}
.service-card-visual:hover .service-card-image,.service-card-visual:focus-within .service-card-image{transform:scale(1.045)!important;filter:saturate(1.03) brightness(1.02)!important;}
.service-card-visual:hover .service-card-shade,.service-card-visual:focus-within .service-card-shade{background:linear-gradient(180deg,rgba(5,5,6,.08) 0%,rgba(5,5,6,.06) 25%,rgba(5,5,6,.32) 48%,rgba(5,5,6,.88) 100%)!important;}
.service-card-visual:focus-visible{outline:2px solid #e7c584;outline-offset:4px;}
@media(max-width:760px){
 .service-grid,.inner-service-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important;}
 .service-card-visual,.service-page-card{min-height:360px!important;height:360px;}
 .service-card-content{padding:20px!important;}
 .service-card-visual .service-icon{width:43px;height:43px;}
 .service-card-visual .service-no{top:23px!important;right:20px!important;}
 .service-card-visual h3{padding-top:46px!important;font-size:21px!important;line-height:1.4!important;}
 .service-card-visual p{font-size:13px!important;line-height:1.75!important;max-width:38ch!important;}
 .service-card-link{margin-top:12px!important;min-height:40px;padding-bottom:5px;}
 .service-card-visual:hover{transform:none!important;}
}
@media(max-width:390px){
 .service-card-visual,.service-page-card{height:345px;min-height:345px!important;}
 .service-card-content{padding:17px!important;}
 .service-card-visual h3{font-size:19px!important;padding-top:40px!important;}
 .service-card-visual p{font-size:12px!important;}
}
@media(prefers-reduced-motion:reduce){.service-card-visual .service-card-image,.service-card-visual .service-card-shade,.service-card-link{transition:none!important}.service-card-visual:hover .service-card-image,.service-card-visual:focus-within .service-card-image{transform:none!important}}


/* V3 mobile services: full-bleed editorial photo cards, text layered over image. */
.service-card-visual,.service-page-card{padding:0!important;position:relative!important;isolation:isolate!important;overflow:hidden!important;background:#100e0b!important;min-height:390px!important;border-radius:8px!important;}
.service-card-visual>.service-card-image,.service-page-card>.service-card-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center 42%!important;z-index:0!important;margin:0!important;border:0!important;border-radius:0!important;filter:brightness(.98) saturate(1.04)!important;transform:scale(1.001)!important;}
.service-card-visual>.service-card-shade,.service-page-card>.service-card-shade{position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;background:linear-gradient(180deg,rgba(3,3,4,.12) 0%,rgba(3,3,4,.02) 28%,rgba(3,3,4,.18) 46%,rgba(3,3,4,.83) 72%,rgba(3,3,4,.96) 100%)!important;}
.service-card-visual>.service-card-content,.service-page-card>.service-card-content{position:absolute!important;inset:0!important;z-index:2!important;min-height:0!important;height:100%!important;width:100%!important;padding:24px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;}
.service-card-visual .service-icon,.service-page-card .service-icon{position:absolute!important;top:22px!important;left:22px!important;width:46px!important;height:46px!important;display:grid!important;place-items:center!important;flex:0 0 auto!important;margin:0!important;background:rgba(7,7,7,.52)!important;border:1px solid rgba(231,197,132,.8)!important;color:#f4d49a!important;backdrop-filter:blur(8px)!important;box-shadow:0 5px 22px rgba(0,0,0,.2)!important;}
.service-card-visual .service-no,.service-page-card .service-no{position:absolute!important;top:24px!important;right:23px!important;color:#fff!important;text-shadow:0 2px 14px #000!important;z-index:3!important;}
.service-card-visual h3,.service-page-card h3{margin:auto 0 8px!important;padding:0!important;max-width:100%!important;color:#fffaf1!important;font-size:clamp(21px,2vw,26px)!important;line-height:1.32!important;text-shadow:0 2px 16px rgba(0,0,0,.78)!important;}
.service-card-visual p,.service-page-card p{margin:0!important;max-width:42ch!important;color:rgba(255,250,241,.94)!important;font-size:13px!important;line-height:1.65!important;text-shadow:0 1px 12px rgba(0,0,0,.9)!important;}
.service-card-visual .service-card-link,.service-page-card .service-card-link{margin-top:12px!important;min-height:42px!important;display:inline-flex!important;align-items:center!important;color:#f3d49a!important;border-bottom-color:rgba(243,212,154,.68)!important;text-shadow:0 1px 8px #000!important;}
.service-card-visual:hover>.service-card-image,.service-card-visual:focus-within>.service-card-image{transform:scale(1.035)!important;filter:brightness(1.04) saturate(1.08)!important;}
@media(max-width:760px){.service-grid,.inner-service-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}.service-card-visual,.service-page-card{height:clamp(410px,112vw,490px)!important;min-height:410px!important;}.service-card-visual>.service-card-content,.service-page-card>.service-card-content{padding:22px!important}.service-card-visual>.service-card-image,.service-page-card>.service-card-image{object-position:center 40%!important}.service-card-visual .service-icon,.service-page-card .service-icon{top:20px!important;left:20px!important;width:44px!important;height:44px!important}.service-card-visual .service-no,.service-page-card .service-no{top:22px!important;right:20px!important}.service-card-visual h3,.service-page-card h3{font-size:clamp(22px,6vw,27px)!important;line-height:1.35!important}.service-card-visual p,.service-page-card p{font-size:14px!important;line-height:1.7!important}.service-card-visual:hover,.service-page-card:hover{transform:none!important}}
@media(max-width:390px){.service-card-visual,.service-page-card{height:410px!important;min-height:410px!important}.service-card-visual>.service-card-content,.service-page-card>.service-card-content{padding:18px!important}.service-card-visual .service-icon,.service-page-card .service-icon{top:17px!important;left:17px!important}.service-card-visual .service-no,.service-page-card .service-no{top:20px!important;right:17px!important}}
@media(prefers-reduced-motion:reduce){.service-card-visual>.service-card-image,.service-page-card>.service-card-image{transition:none!important}.service-card-visual:hover>.service-card-image,.service-card-visual:focus-within>.service-card-image{transform:none!important}}

/* V8: homepage motion choreography — scoped to the public homepage hero. */
@keyframes srHeroEyebrowReveal{from{opacity:0;transform:translate3d(0,12px,0);letter-spacing:.22em}to{opacity:1;transform:translate3d(0,0,0);letter-spacing:inherit}}
@keyframes srHeroCtaReveal{from{opacity:0;transform:translate3d(0,16px,0) scale(.985)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes srHeroNoteReveal{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.hero-premium .hero-content.is-visible>.eyebrow{animation:srHeroEyebrowReveal .7s cubic-bezier(.2,.7,.2,1) .04s both}
.hero-premium .hero-content.is-visible>h1{animation:heroCopyRise .72s cubic-bezier(.2,.7,.2,1) .13s both}
.hero-premium .hero-content.is-visible>.hero-copy{animation:heroCopyRise .66s cubic-bezier(.2,.7,.2,1) .23s both}
.hero-premium .hero-content.is-visible>.hero-cta>a:first-child{animation:srHeroCtaReveal .58s cubic-bezier(.2,.7,.2,1) .32s both}
.hero-premium .hero-content.is-visible>.hero-cta>a:nth-child(2){animation:srHeroCtaReveal .58s cubic-bezier(.2,.7,.2,1) .42s both}
.hero-premium .hero-content.is-visible>.hero-note{animation:srHeroNoteReveal .55s ease .5s both}
.hero-premium .hero-cta .button{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease,background-color .28s ease}
.hero-premium .hero-cta .button:focus-visible{outline:2px solid var(--gold,#e7c584);outline-offset:4px}
@media(prefers-reduced-motion:reduce){
 .hero-premium .hero-content.is-visible>.eyebrow,.hero-premium .hero-content.is-visible>h1,.hero-premium .hero-content.is-visible>.hero-copy,.hero-premium .hero-content.is-visible>.hero-cta>a,.hero-premium .hero-content.is-visible>.hero-note{animation:none!important;opacity:1!important;transform:none!important;letter-spacing:inherit!important}
 .hero-premium .hero-cta .button{transition:none!important}
}


/* V9: Premium Interactive polish for existing CMS-driven Packages and FAQ only. */
.package-grid{align-items:stretch;perspective:1100px}
.package-card{position:relative;isolation:isolate;overflow:hidden;border-radius:8px;transform:translateZ(0);transition:transform .42s cubic-bezier(.2,.7,.2,1),border-color .35s ease,box-shadow .42s ease,background .35s ease}
.package-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 0% 0%,rgba(216,183,123,.14),transparent 58%);transition:opacity .4s ease}
.package-card::after{content:"";position:absolute;top:-65%;left:-70%;width:42%;height:230%;pointer-events:none;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,242,213,.075),transparent);transition:left .75s cubic-bezier(.2,.7,.2,1)}
.package-card:hover,.package-card:focus-within{transform:translateY(-7px);border-color:rgba(216,183,123,.72);box-shadow:0 22px 52px rgba(0,0,0,.26),0 0 0 1px rgba(216,183,123,.06)}
.package-card:hover::before,.package-card:focus-within::before{opacity:1}
.package-card:hover::after,.package-card:focus-within::after{left:135%}
.package-card.featured{box-shadow:inset 0 0 0 1px rgba(216,183,123,.08)}
.package-card.featured:hover,.package-card.featured:focus-within{box-shadow:0 24px 58px rgba(0,0,0,.3),0 0 0 1px rgba(216,183,123,.16)}
.package-card .package-tag{display:inline-flex;align-items:center;gap:8px}
.package-card .package-tag::before{content:"";width:15px;height:1px;background:currentColor;opacity:.8;transition:width .3s ease}
.package-card:hover .package-tag::before,.package-card:focus-within .package-tag::before{width:26px}
.package-card .price{transition:color .3s ease,transform .3s ease;transform-origin:left center}
.package-card:hover .price,.package-card:focus-within .price{color:#f2d7a4;transform:translateX(2px)}
.package-card .button{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,background-color .28s ease,border-color .28s ease}
.package-card .button:hover,.package-card .button:focus-visible{transform:translateY(-2px);box-shadow:0 8px 24px rgba(216,183,123,.16)}
.faq-list{display:grid;gap:10px;max-width:900px}
.faq-item{position:relative;overflow:hidden;border:1px solid rgba(216,183,123,.13);border-radius:7px;background:linear-gradient(115deg,rgba(255,255,255,.018),rgba(255,255,255,.006));transition:border-color .3s ease,background .3s ease,transform .3s ease,box-shadow .3s ease}
.faq-item:hover{border-color:rgba(216,183,123,.38);background:linear-gradient(115deg,rgba(216,183,123,.045),rgba(255,255,255,.008))}
.faq-item[open]{border-color:rgba(216,183,123,.52);background:linear-gradient(115deg,rgba(216,183,123,.065),rgba(255,255,255,.008));box-shadow:0 12px 30px rgba(0,0,0,.12)}
.faq-item>summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:20px 22px;color:var(--cream);font-size:13px;line-height:1.65;transition:color .25s ease,padding .3s ease}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item>summary::marker{content:""}
.faq-item>summary span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid rgba(216,183,123,.28);border-radius:50%;color:var(--gold);font-size:18px;font-weight:400;line-height:1;transition:transform .32s cubic-bezier(.2,.7,.2,1),background .3s ease,color .3s ease,border-color .3s ease}
.faq-item>summary:hover,.faq-item>summary:focus-visible{color:#f2d7a4}
.faq-item[open]>summary{color:#f2d7a4;padding-bottom:12px}
.faq-item[open]>summary span{transform:rotate(45deg);background:var(--gold);border-color:var(--gold);color:#17130d}
.faq-item>p{margin:0;padding:0 70px 0 22px;color:var(--muted);font-size:13px;line-height:1.85;max-width:78ch}
.faq-item[open]>p{padding-bottom:22px;animation:srFaqAnswerReveal .32s cubic-bezier(.2,.7,.2,1) both}
@keyframes srFaqAnswerReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.package-card:hover,.package-card:focus-within{transform:translateY(-3px)}.package-card::after{display:none}.faq-item>summary{padding:17px 15px;gap:12px;font-size:13px}.faq-item>summary span{flex-basis:26px;width:26px;height:26px}.faq-item>p{padding-left:15px;padding-right:18px;font-size:12px}.faq-item[open]>p{padding-bottom:18px}}
@media(prefers-reduced-motion:reduce){.package-card,.package-card::before,.package-card::after,.package-card .package-tag::before,.package-card .price,.package-card .button,.faq-item,.faq-item>summary,.faq-item>summary span{transition:none!important;animation:none!important}.package-card:hover,.package-card:focus-within{transform:none;box-shadow:none}.faq-item[open]>p{animation:none!important}}

/* V10: Give CMS-managed package cards more room; let longer Admin descriptions expand naturally. */
.packages-section.section-wrap{padding-left:clamp(22px,5vw,76px);padding-right:clamp(22px,5vw,76px)}
.packages-section .package-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.packages-section .package-card{min-width:0;min-height:370px;height:auto;padding:clamp(30px,2.5vw,40px);}
.packages-section .package-card h3{line-height:1.3;text-wrap:balance;overflow-wrap:anywhere}
.packages-section .package-card p{width:100%;max-width:none;line-height:1.85;overflow-wrap:anywhere;white-space:normal}
.packages-section .package-card .price-label{margin-top:30px}
.packages-section .package-card .button{margin-top:auto;max-width:100%;white-space:normal;text-align:center}
@media(max-width:1000px){
 .packages-section.section-wrap{padding-left:clamp(22px,4vw,42px);padding-right:clamp(22px,4vw,42px)}
 .packages-section .package-grid{gap:14px}
 .packages-section .package-card{padding:27px;min-height:350px}
}
@media(max-width:760px){
 .packages-section.section-wrap{padding-left:22px;padding-right:22px}
 .packages-section .package-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .packages-section .package-card{min-height:0;padding:27px 24px}
 .packages-section .package-card .price-label{margin-top:24px}
 .packages-section .package-card .button{margin-top:24px}
}


/* V11: Safe, readable package-description formatting for Admin-managed content. */
.package-description{width:100%;max-width:none;color:var(--muted);font-size:12px;line-height:1.85;overflow-wrap:anywhere}
.package-description-paragraph{margin:0 0 12px;color:inherit;font-size:inherit;line-height:inherit;max-width:none}
.package-description-paragraph strong,.package-includes h4{color:var(--cream);font-weight:600}
.package-description-paragraph em{color:#dfc38f}
.package-includes{width:100%;margin:8px 0 4px}
.package-includes h4{font-size:11px;letter-spacing:.04em;margin:0 0 10px}
.package-feature-list{list-style:none;display:grid;gap:7px;margin:0;padding:0;width:100%;color:var(--muted);font-size:12px;line-height:1.7}
.package-feature-list li{position:relative;padding-left:18px;overflow-wrap:anywhere}
.package-feature-list li::before{content:"✦";position:absolute;left:0;top:.05em;color:var(--gold);font-size:10px}
.package-card .price-label{margin-top:28px}
.package-admin-help{display:block;margin:-6px 0 0;color:#77776f;font-size:11px;line-height:1.55}
.package-admin-help-text{display:block;margin-top:6px;color:#77776f;font-size:11px;line-height:1.5}
@media(max-width:760px){.package-description{font-size:13px}.package-feature-list{font-size:13px}.package-card .price-label{margin-top:24px}}


/* V15 — Cinematic portfolio image reveal and staggered entrances.
   CSS/JS presentation-only enhancement; no CMS, media, booking or database logic changed. */
.portfolio-home > .portfolio-card img,
.portfolio-page-grid > .portfolio-card img,
.portfolio-page-grid > .portfolio-card video {
  transform-origin: 50% 45%;
}
.portfolio-home > .portfolio-card img {
  clip-path: inset(0 0 0 0);
}
.portfolio-home > .portfolio-card.is-visible img {
  animation: srPortfolioImageReveal 1.05s cubic-bezier(.2,.72,.2,1) both;
}
.portfolio-page-grid > .portfolio-motion-card {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition: opacity .72s ease, transform .82s cubic-bezier(.2,.72,.2,1);
  transition-delay: var(--portfolio-stagger, 0ms);
}
.portfolio-page-grid > .portfolio-motion-card.portfolio-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.portfolio-page-grid > .portfolio-motion-card img,
.portfolio-page-grid > .portfolio-motion-card video {
  transition: transform .95s cubic-bezier(.2,.72,.2,1), filter .75s ease;
  will-change: transform;
}
.portfolio-page-grid > .portfolio-motion-card.portfolio-motion-visible img,
.portfolio-page-grid > .portfolio-motion-card.portfolio-motion-visible video {
  animation: srPortfolioImageReveal 1.05s cubic-bezier(.2,.72,.2,1) both;
  animation-delay: var(--portfolio-stagger, 0ms);
}
.portfolio-home > .portfolio-card:hover img,
.portfolio-page-grid > .portfolio-card:hover img {
  transform: scale(1.045);
}
@keyframes srPortfolioImageReveal {
  0% { filter: brightness(.78); clip-path: inset(0 0 7% 0); }
  100% { filter: brightness(1); clip-path: inset(0 0 0 0); }
}
@media (max-width:760px) {
  .portfolio-page-grid > .portfolio-motion-card { transform: translate3d(0, 14px, 0); }
  .portfolio-page-grid > .portfolio-motion-card img,
  .portfolio-page-grid > .portfolio-motion-card video { will-change: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .portfolio-home > .portfolio-card img,
  .portfolio-page-grid > .portfolio-motion-card,
  .portfolio-page-grid > .portfolio-motion-card img,
  .portfolio-page-grid > .portfolio-motion-card video {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    opacity: 1 !important;
  }
}


/* V16 — SR Studio Signature Gold mouse-follow experience. */
.sg-pointer-glow {
  position: fixed; left: 0; top: 0; z-index: 9998; width: 300px; height: 300px;
  border-radius: 50%; pointer-events: none; opacity: .68;
  background: radial-gradient(circle, rgba(216,183,123,.105) 0%, rgba(216,183,123,.055) 28%, rgba(216,183,123,.018) 52%, transparent 72%);
  mix-blend-mode: screen; will-change: transform; transition: opacity .18s ease;
}
.sg-gold-particle {
  position: fixed; z-index: 9999; display: block; border-radius: 50%; pointer-events: none;
  background: var(--sg-particle-color, #d8b77b); box-shadow: 0 0 9px rgba(216,183,123,.5);
  animation: sgGoldParticle .7s cubic-bezier(.16,.7,.25,1) forwards;
}
@keyframes sgGoldParticle {
  0% { opacity: 0; transform: translate3d(0,0,0) scale(.45); }
  18% { opacity: .9; }
  100% { opacity: 0; transform: translate3d(var(--sg-dx, 0),var(--sg-dy, 18px),0) scale(0); }
}
.sg-tilt-active {
  transform: perspective(950px) rotateX(var(--sg-tilt-x, 0deg)) rotateY(var(--sg-tilt-y, 0deg)) !important;
  transition: transform .12s ease-out, border-color .35s ease, box-shadow .35s ease !important;
  transform-style: preserve-3d;
}
@media (max-width: 760px), (hover: none), (pointer: coarse) {
  .sg-pointer-glow, .sg-gold-particle { display: none !important; }
  .sg-tilt-active { transform: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .sg-pointer-glow, .sg-gold-particle { display: none !important; }
  .sg-tilt-active { transform: none !important; transition: none !important; }
}

/* V17 — Signature Gold comet trail and cinematic pointer-lit cards. */
.sg-comet-canvas {
  position: fixed; inset: 0; z-index: 10000; width: 100vw; height: 100vh;
  pointer-events: none; display: block;
}
.portfolio-card, .service-card, .package-card, .testimonial-card {
  --sg-light-x: 50%; --sg-light-y: 50%;
}
.portfolio-card.sg-cinematic-hover, .service-card.sg-cinematic-hover {
  transform: perspective(1050px) rotateX(var(--sg-tilt-x, 0deg)) rotateY(var(--sg-tilt-y, 0deg)) translateY(-2px);
  transition: transform .16s ease-out, box-shadow .28s ease;
  transform-style: preserve-3d;
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
}
.portfolio-card.sg-cinematic-hover::after,
.service-card.sg-cinematic-hover::after,
.package-card.sg-cinematic-hover::after,
.testimonial-card.sg-cinematic-hover::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(circle at var(--sg-light-x) var(--sg-light-y), rgba(241,202,130,.22), rgba(241,202,130,.06) 18%, transparent 48%);
  opacity: 1; z-index: 3; mix-blend-mode: screen;
}
.portfolio-card, .service-card, .package-card, .testimonial-card { position: relative; }
.portfolio-card img, .service-card img { transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .45s ease; }
.portfolio-card.sg-cinematic-hover img, .service-card.sg-cinematic-hover img {
  transform: scale(1.055); filter: saturate(1.06) contrast(1.025);
}
.package-card.sg-cinematic-hover, .testimonial-card.sg-cinematic-hover {
  box-shadow: 0 12px 32px rgba(0,0,0,.2), inset 0 0 0 1px rgba(216,183,123,.24);
}
@media (max-width: 760px), (hover: none), (pointer: coarse) {
  .sg-comet-canvas { display: none !important; }
  .portfolio-card.sg-cinematic-hover, .service-card.sg-cinematic-hover,
  .package-card.sg-cinematic-hover, .testimonial-card.sg-cinematic-hover { transform: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .sg-comet-canvas { display: none !important; }
  .portfolio-card img, .service-card img { transition: none !important; }
  .portfolio-card.sg-cinematic-hover, .service-card.sg-cinematic-hover,
  .package-card.sg-cinematic-hover, .testimonial-card.sg-cinematic-hover { transform: none !important; }
}


/* V18 — restrained Golden Shockwave + Spark Burst. Decorative and click-through. */
.sg-click-shockwave {
  position: fixed; z-index: 10001; width: 18px; height: 18px; border-radius: 50%;
  border: 1px solid rgba(245, 207, 137, .95); box-shadow: 0 0 12px rgba(224, 177, 88, .32), inset 0 0 5px rgba(245, 207, 137, .18);
  pointer-events: none; transform: translate(-50%, -50%) scale(.25); opacity: .9;
  animation: sgClickShockwave .58s cubic-bezier(.12,.72,.2,1) forwards;
}
.sg-click-spark {
  position: fixed; z-index: 10002; width: var(--sg-spark-size, 3px); height: var(--sg-spark-size, 3px);
  border-radius: 50%; background: #f2ce8b; box-shadow: 0 0 8px rgba(240, 194, 111, .75);
  pointer-events: none; transform: translate(-50%, -50%); opacity: .95;
  animation: sgClickSpark .48s cubic-bezier(.12,.7,.25,1) forwards;
}
@keyframes sgClickShockwave {
  0% { opacity: .9; transform: translate(-50%, -50%) scale(.25); }
  75% { opacity: .42; }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(4.8); }
}
@keyframes sgClickSpark {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.45); }
  15% { opacity: .95; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--sg-spark-x)), calc(-50% + var(--sg-spark-y))) scale(0); }
}
@media (max-width: 760px), (hover: none), (pointer: coarse) {
  .sg-click-shockwave, .sg-click-spark { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .sg-click-shockwave, .sg-click-spark { animation: none !important; display: none !important; }
}


/* V19 — Scroll-triggered cinematic storytelling. Progressive enhancement only. */
@media (prefers-reduced-motion: no-preference) {
  .sr-story-section {
    opacity: .01;
    transform: translate3d(0, 24px, 0);
    transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);
  }
  .sr-story-section.sr-story-visible {
    opacity: 1;
    transform: translate3d(0,0,0);
  }
  .sr-story-child {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    transition: opacity .65s ease, transform .75s cubic-bezier(.2,.7,.2,1);
    transition-delay: var(--sr-story-delay, 0ms);
  }
  .sr-story-visible .sr-story-child {
    opacity: 1;
    transform: translate3d(0,0,0);
  }
  .sr-story-section .section-heading h2,
  .sr-story-section .section-heading .eyebrow {
    text-wrap: balance;
  }
}
@media (max-width: 760px) {
  .sr-story-section { transform: translate3d(0, 14px, 0); transition-duration: .62s; }
  .sr-story-child { transform: translate3d(0, 10px, 0); transition-duration: .5s; }
}
@media (prefers-reduced-motion: reduce) {
  .sr-story-section, .sr-story-child, .sr-story-section.sr-story-visible, .sr-story-visible .sr-story-child {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
}


/* V20 — Premium page transitions. Decorative fixed layer never intercepts interaction. */
.sr-page-transition {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  pointer-events: none;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 52%, rgba(214, 170, 82, .14), transparent 48%), #090909;
  opacity: 0;
  visibility: hidden;
  clip-path: inset(0 0 100% 0);
}
.sr-page-transition__line {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(242, 207, 132, .95), #fff3d2, rgba(242, 207, 132, .95), transparent);
  box-shadow: 0 0 22px rgba(219, 174, 88, .5);
  transform: scaleX(.15);
  opacity: 0;
}
.sr-page-transition__word {
  color: #e8c77f;
  font-size: clamp(11px, 1.2vw, 14px);
  font-weight: 600;
  letter-spacing: .38em;
  padding-left: .38em;
  opacity: 0;
  transform: translateY(8px);
}
.sr-page-transition--out {
  visibility: visible;
  animation: srPageCurtainOut .42s cubic-bezier(.76, 0, .24, 1) both;
}
.sr-page-transition--out .sr-page-transition__line {
  animation: srPageLineOut .38s ease-out .05s both;
}
.sr-page-transition--out .sr-page-transition__word {
  animation: srPageWordIn .25s ease-out .08s both;
}
.sr-page-transition--in {
  visibility: visible;
  animation: srPageCurtainIn .58s cubic-bezier(.76, 0, .24, 1) both;
}
.sr-page-transition--in .sr-page-transition__line {
  animation: srPageLineIn .42s ease-out both;
}
.sr-page-transition--in .sr-page-transition__word {
  animation: srPageWordOut .24s ease-in both;
}
@keyframes srPageCurtainOut {
  0% { opacity: 0; clip-path: inset(0 0 100% 0); }
  15% { opacity: 1; }
  100% { opacity: 1; clip-path: inset(0 0 0 0); }
}
@keyframes srPageCurtainIn {
  0% { opacity: 1; visibility: visible; clip-path: inset(0 0 0 0); }
  100% { opacity: 0; visibility: hidden; clip-path: inset(0 0 100% 0); }
}
@keyframes srPageLineOut { 0% { opacity: 0; transform: scaleX(.15); } 100% { opacity: 1; transform: scaleX(1); } }
@keyframes srPageLineIn { 0% { opacity: 1; transform: scaleX(1); } 100% { opacity: 0; transform: scaleX(.15); } }
@keyframes srPageWordIn { to { opacity: 1; transform: translateY(0); } }
@keyframes srPageWordOut { to { opacity: 0; transform: translateY(-5px); } }
@media (prefers-reduced-motion: reduce) {
  .sr-page-transition { display: none !important; animation: none !important; }
}


/* V21 — Camera aperture iris transition for the existing accessible portfolio lightbox. */
.sr-lightbox.aperture-opening {
  animation: srApertureOpen .58s cubic-bezier(.2,.78,.18,1) both;
  clip-path: polygon(50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%);
}
.sr-lightbox.aperture-closing {
  visibility: visible;
  opacity: 1;
  animation: srApertureClose .44s cubic-bezier(.65,0,.8,.25) both;
  pointer-events: none;
}
.sr-lightbox.aperture-opening figure { animation: srApertureFigureIn .58s cubic-bezier(.2,.78,.18,1) both; }
.sr-lightbox.aperture-opening figure img,
.sr-lightbox.aperture-image-in { animation: srApertureImageIn .62s cubic-bezier(.2,.78,.18,1) both; }
@keyframes srApertureOpen {
  0% { clip-path: polygon(50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%); }
  42% { clip-path: polygon(50% 2%,78% 22%,98% 50%,78% 78%,50% 98%,22% 78%,2% 50%,22% 22%); }
  100% { clip-path: polygon(50% 0%,100% 0%,100% 50%,100% 100%,50% 100%,0% 100%,0% 50%,0% 0%); }
}
@keyframes srApertureClose {
  0% { clip-path: polygon(50% 0%,100% 0%,100% 50%,100% 100%,50% 100%,0% 100%,0% 50%,0% 0%); }
  58% { clip-path: polygon(50% 2%,78% 22%,98% 50%,78% 78%,50% 98%,22% 78%,2% 50%,22% 22%); }
  100% { clip-path: polygon(50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%); }
}
@keyframes srApertureFigureIn {
  0% { opacity: .35; transform: scale(.94); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes srApertureImageIn {
  0% { opacity: .4; transform: scale(1.035); filter: brightness(.78); }
  100% { opacity: 1; transform: scale(1); filter: brightness(1); }
}
@media (prefers-reduced-motion: reduce) {
  .sr-lightbox.aperture-opening,
  .sr-lightbox.aperture-closing,
  .sr-lightbox.aperture-opening figure,
  .sr-lightbox.aperture-opening figure img,
  .sr-lightbox.aperture-image-in { animation: none !important; clip-path: none !important; }
}


/* V22 — Intelligent Focus Lock: restrained camera autofocus overlay in the existing portfolio lightbox. */
.sr-focus-stage{position:relative;display:grid;place-items:center;max-width:100%;max-height:calc(100svh - 120px);line-height:0;overflow:hidden}
.sr-focus-stage>img{position:relative;z-index:0}
.sr-focus-lock{position:absolute;z-index:1;inset:12%;pointer-events:none;opacity:0;--focus-gold:rgba(226,190,117,.92)}
.sr-focus-lock i{position:absolute;width:24px;height:24px;border-color:var(--focus-gold);border-style:solid;filter:drop-shadow(0 0 5px rgba(226,190,117,.35));transition:all .24s ease}
.sr-focus-lock i:nth-child(1){top:0;left:0;border-width:1.5px 0 0 1.5px}
.sr-focus-lock i:nth-child(2){top:0;right:0;border-width:1.5px 1.5px 0 0}
.sr-focus-lock i:nth-child(3){bottom:0;left:0;border-width:0 0 1.5px 1.5px}
.sr-focus-lock i:nth-child(4){bottom:0;right:0;border-width:0 1.5px 1.5px 0}
.sr-focus-lock b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:600 9px/1 system-ui,sans-serif;letter-spacing:.16em;color:#f1d7a0;background:rgba(8,8,8,.45);padding:5px 6px;border:1px solid rgba(226,190,117,.55);border-radius:3px;opacity:0}
.sr-focus-lock.is-scanning{opacity:1;animation:srFocusScan .72s cubic-bezier(.2,.7,.2,1) both}
.sr-focus-lock.is-scanning i:nth-child(1){transform:translate(16px,13px)}
.sr-focus-lock.is-scanning i:nth-child(2){transform:translate(-16px,13px)}
.sr-focus-lock.is-scanning i:nth-child(3){transform:translate(16px,-13px)}
.sr-focus-lock.is-scanning i:nth-child(4){transform:translate(-16px,-13px)}
.sr-focus-lock.is-locked{opacity:1}
.sr-focus-lock.is-locked i{width:18px;height:18px;filter:drop-shadow(0 0 7px rgba(226,190,117,.48))}
.sr-focus-lock.is-locked b{opacity:1;animation:srFocusBadge .22s ease-out both}
@keyframes srFocusScan{0%{opacity:0;transform:scale(.76)}22%{opacity:1}72%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes srFocusBadge{from{opacity:0;transform:translate(-50%,-42%)}to{opacity:1;transform:translate(-50%,-50%)}}
@media(max-width:600px){.sr-focus-lock{inset:16%}.sr-focus-lock i{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.sr-focus-lock{display:none!important}.sr-focus-lock *{animation:none!important;transition:none!important}}

/* V23 — Immersive Gallery Experience: zoom, fullscreen and touch swipe controls. */
.sr-gallery-tools{position:absolute;top:clamp(16px,4vw,48px);right:calc(clamp(16px,4vw,48px) + 56px);z-index:4;display:flex;gap:8px}
.sr-gallery-tool{width:42px;height:42px;border:1px solid rgba(216,183,123,.55);border-radius:50%;background:rgba(12,12,12,.78);color:var(--cream);font-size:24px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.sr-gallery-tool:hover,.sr-gallery-tool[aria-pressed="true"]{background:var(--gold);color:#17120a;border-color:var(--gold)}
.sr-focus-stage{touch-action:pan-y;cursor:zoom-in}
.sr-lightbox img.sr-gallery-zoomed{max-width:none;max-height:none;width:auto;height:auto;min-width:100%;min-height:100%;object-fit:contain;transform:scale(1.8);cursor:zoom-out;transition:transform .24s ease;touch-action:pan-x pan-y}
.sr-lightbox:fullscreen{padding:24px;background:rgba(3,3,3,.98)}
.sr-lightbox:fullscreen .sr-focus-stage{max-height:calc(100vh - 90px)}
.sr-lightbox:fullscreen .sr-lightbox img{max-height:calc(100vh - 100px)}
.sr-lightbox:fullscreen .sr-lightbox img.sr-gallery-zoomed{max-height:none}
@media(max-width:600px){.sr-gallery-tools{top:12px;right:64px;gap:6px}.sr-gallery-tool{width:38px;height:38px;font-size:21px}.sr-lightbox:fullscreen{padding:56px 10px 18px}}
@media(prefers-reduced-motion:reduce){.sr-gallery-tool,.sr-lightbox img.sr-gallery-zoomed{transition:none!important}}

/* V24 — Film Reel Story: subtle film-frame details and sequential reveal on existing portfolio grids. */
.sr-film-reel-story>.sr-film-frame{--film-gold:rgba(216,183,123,.78);position:relative;isolation:isolate;transition:opacity .65s ease,transform .72s cubic-bezier(.2,.72,.2,1),filter .65s ease;transition-delay:var(--film-frame-delay,0ms);}
.sr-film-reel-story>.sr-film-frame:not(.sr-film-frame-visible){opacity:.28;transform:translate3d(0,20px,0) scale(.985);filter:saturate(.72);}
.sr-film-reel-story>.sr-film-frame.sr-film-frame-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:none;}
.sr-film-perforations{position:absolute;z-index:4;inset:0;pointer-events:none;opacity:0;transition:opacity .4s ease;}
.sr-film-perforations:before,.sr-film-perforations:after{content:"";position:absolute;left:0;right:0;height:7px;background:repeating-linear-gradient(90deg,transparent 0 7px,rgba(8,8,8,.88) 7px 14px,transparent 14px 22px);opacity:.78;}
.sr-film-perforations:before{top:0;border-bottom:1px solid rgba(216,183,123,.35);}
.sr-film-perforations:after{bottom:0;border-top:1px solid rgba(216,183,123,.35);}
.sr-film-reel-story>.sr-film-frame.sr-film-frame-visible .sr-film-perforations{opacity:.9;}
.sr-film-reel-story>.sr-film-frame:hover .sr-film-perforations,.sr-film-reel-story>.sr-film-frame:focus-within .sr-film-perforations{opacity:1;}
.sr-film-reel-story>.sr-film-frame .portfolio-overlay{transition:transform .5s ease,opacity .5s ease;}
@media(max-width:760px){.sr-film-perforations:before,.sr-film-perforations:after{height:5px;background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(8,8,8,.82) 6px 12px,transparent 12px 18px);}.sr-film-reel-story>.sr-film-frame:not(.sr-film-frame-visible){transform:translate3d(0,12px,0) scale(.99);}}
@media(prefers-reduced-motion:reduce){.sr-film-reel-story>.sr-film-frame,.sr-film-perforations,.sr-film-reel-story>.sr-film-frame .portfolio-overlay{transition:none!important;animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.sr-film-perforations{display:none!important}}


/* V25 — Signature Logo Formation. The original logo artwork and dimensions remain unchanged. */
.topbar .brand.sr-logo-forming { position: relative; isolation: isolate; }
.topbar .brand.sr-logo-forming .brand-logo,
.topbar .brand.sr-logo-forming img {
  animation: srSignatureLogoReveal 1.25s cubic-bezier(.2,.72,.2,1) both;
}
.topbar .brand.sr-logo-forming::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 5%; bottom: 5%; left: -28%; width: 22%;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(100deg, transparent, rgba(239,207,143,.78), rgba(255,248,220,.95), transparent);
  filter: blur(2px);
  transform: skewX(-18deg);
  animation: srSignatureLogoSweep 1.25s cubic-bezier(.2,.72,.2,1) both;
}
@keyframes srSignatureLogoReveal {
  0% { opacity: .2; clip-path: inset(0 100% 0 0); filter: brightness(1.7); }
  58% { opacity: 1; clip-path: inset(0 0 0 0); filter: brightness(1.28); }
  100% { opacity: 1; clip-path: inset(0 0 0 0); filter: none; }
}
@keyframes srSignatureLogoSweep {
  0% { left: -28%; opacity: 0; }
  20% { opacity: .85; }
  78% { left: 112%; opacity: .55; }
  100% { left: 112%; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .topbar .brand.sr-logo-forming .brand-logo,
  .topbar .brand.sr-logo-forming img,
  .topbar .brand.sr-logo-forming::after { animation: none !important; }
}

/* V26 — Remove only the black film-reel perforation border. Keep existing card reveal and layout. */
.sr-film-perforations,
.sr-film-perforations::before,
.sr-film-perforations::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  border: 0 !important;
  background: none !important;
}


/* V28 — Mobile animation compatibility and touch feedback.
   Keeps mobile content visible; adds touch-native feedback while preserving navigation and forms. */
@media (max-width: 760px), (hover: none), (pointer: coarse) {
  /* Touch click feedback is intentionally enabled on mobile; desktop-only cursor layers stay hidden. */
  .sg-touch-click-shockwave { display: block !important; width: 15px; height: 15px; }
  .sg-touch-click-spark { display: block !important; }
  .sg-touch-feedback {
    outline: 1px solid rgba(216,183,123,.34);
    outline-offset: -1px;
    box-shadow: 0 0 0 2px rgba(216,183,123,.08), 0 5px 22px rgba(216,183,123,.08);
    transition: box-shadow .18s ease, outline-color .18s ease;
  }
  .portfolio-card.sg-touch-feedback img,
  .service-card.sg-touch-feedback img { transform: scale(1.018); }
  .package-card.sg-touch-feedback,
  .testimonial-card.sg-touch-feedback { border-color: rgba(216,183,123,.48); }

  /* Prevent scroll-triggered content from remaining hidden on narrow/touch layouts. */
  .sr-story-section,
  .sr-story-child,
  .portfolio-page-grid > .portfolio-motion-card,
  .sr-film-reel-story > .sr-film-frame {
    transition-duration: .48s;
    transition-delay: 0ms;
  }
  .sr-story-section:not(.sr-story-visible) { opacity: 1; }
  .sr-story-section:not(.sr-story-visible) > .sr-story-child { opacity: 1; }
  .sr-film-reel-story > .sr-film-frame:not(.sr-film-frame-visible) { opacity: .72; }
  .portfolio-page-grid > .portfolio-motion-card:not(.portfolio-motion-visible) { opacity: .72; }

  /* Ensure gallery controls remain comfortably tappable. */
  .sr-gallery-tool, .sr-lightbox-close, .sr-lightbox-nav { min-width: 42px; min-height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .sg-touch-click-shockwave, .sg-touch-click-spark, .sg-touch-feedback { animation: none !important; transition: none !important; }
  .sg-touch-click-shockwave, .sg-touch-click-spark { display: none !important; }
}


/* V29 — touch-driven Signature Gold comet trail. */
.sg-touch-comet-canvas {
  position: fixed; inset: 0; z-index: 10000; width: 100vw; height: 100vh;
  pointer-events: none; display: block; opacity: .92;
}


/* V30 — show the dedicated finger-swipe comet canvas on touch devices. */
@media (max-width: 760px), (hover: none), (pointer: coarse) {
  .sg-touch-comet-canvas { display: block !important; }
}
@media (prefers-reduced-motion: reduce) {
  .sg-touch-comet-canvas { display: none !important; }
}

/* V19 admin professional-fit refinement */
.admin-body{background:#f5f3ef;color:#24231f}.admin-sidebar{width:252px;padding:24px 16px;background:#10100f;border-right:1px solid rgba(216,183,123,.18)}.admin-sidebar .brand.admin-brand{display:flex;align-items:center;gap:12px;margin:0 0 30px;letter-spacing:.14em;font-size:11px;color:#e5d7bd}.admin-brand img{width:48px;height:48px;object-fit:contain;flex:0 0 48px}.admin-brand span{display:block;font-weight:700}.admin-brand small{display:block;margin-top:5px;font-size:9px;letter-spacing:.18em;color:#b9a47d}.admin-sidebar nav{gap:5px}.admin-sidebar nav a{padding:11px 12px;border:1px solid transparent;border-radius:8px;font-size:12px;transition:background .2s,border-color .2s}.admin-sidebar nav a.active{background:linear-gradient(110deg,#e3c58e,#c9a363);border-color:#ebd5a8;color:#17130d;font-weight:700}.admin-main{margin-left:252px;padding:clamp(22px,2.5vw,42px);width:calc(100% - 252px);max-width:none}.admin-top{align-items:flex-start;margin-bottom:24px}.admin-top h1{font-size:clamp(30px,2.6vw,42px);letter-spacing:-.025em}.admin-top p:not(.eyebrow){color:#706b62;font-size:13px}.admin-main .admin-panel{padding:clamp(18px,2vw,28px);border:1px solid #e7e0d4;border-radius:14px;box-shadow:0 8px 28px rgba(48,39,23,.045);overflow:hidden}.admin-main .admin-panel h2{font-size:23px}.admin-main .table-wrap{width:100%;overflow-x:auto;border-radius:8px}.admin-main table{min-width:780px;font-size:12px}.admin-main th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;background:#f8f6f1;color:#71695d;white-space:nowrap}.admin-main td{line-height:1.55}.admin-main .booking-form input,.admin-main .booking-form textarea,.admin-main .booking-form select,.booking-details-form input{min-width:0;max-width:100%;border-radius:8px;padding:10px 11px;background:#fff;color:#25231f;border:1px solid #ded8cc}.booking-details-form{display:grid;gap:7px;min-width:150px}.booking-details-form .time-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}.booking-details-form input[type=time]{width:100%;font-size:11px;padding:8px 5px}.admin-main .button-small{border-radius:7px;background:#25231f;color:#fff;padding:8px 11px}.admin-main .button-small:hover{background:#9a7135}.admin-main .button-danger{background:#a63830}.payment-edit summary{cursor:pointer;color:#8a6329;font-weight:600;padding:4px 0}.payment-edit-form{display:grid;gap:8px;min-width:190px;padding:10px;border:1px solid #eee4d3;border-radius:9px;margin:7px 0}.payment-edit-form label{display:grid;gap:4px;font-size:11px;color:#635b4e}.payment-edit-form input,.payment-edit-form select,.payment-edit-form textarea{width:100%;min-width:0;padding:8px;border:1px solid #ded8cc;border-radius:6px;background:#fff;color:#222}.payment-row-actions form{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.admin-main .notice.error{background:#fff0ee;color:#8d2119}.admin-main .notice.success{background:#eaf7ed;color:#205b2c}@media(max-width:1000px) and (min-width:761px){.admin-sidebar{width:218px}.admin-main{margin-left:218px;width:calc(100% - 218px);padding:22px}.admin-sidebar nav a{padding:10px 8px}}@media(max-width:760px){.admin-sidebar{width:100%;padding:12px 14px}.admin-sidebar .brand.admin-brand{margin:0 0 10px}.admin-brand img{width:38px;height:38px;flex-basis:38px}.admin-main{width:100%;margin-left:0;padding:18px 14px 30px}.admin-top h1{font-size:29px}.admin-main .admin-panel{padding:16px}.booking-details-form{min-width:160px}.admin-main table{min-width:820px}}

/* Payment correction controls */
.payment-edit,.payment-reversal{margin:.25rem 0 .5rem}.payment-edit summary,.payment-reversal summary{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;font-weight:700;color:#805d20;padding:.45rem .7rem;border:1px solid rgba(180,139,65,.4);border-radius:9px;background:rgba(219,185,119,.12)}.payment-edit-form,.payment-reversal form{display:grid;gap:.65rem;min-width:220px;max-width:360px;padding:.8rem;margin-top:.5rem;border:1px solid rgba(160,140,110,.25);border-radius:12px;background:var(--panel,#fff)}.payment-edit-form label,.payment-reversal label{display:grid;gap:.25rem;font-size:.85rem}.payment-edit-form input,.payment-edit-form select,.payment-edit-form textarea,.payment-reversal textarea{width:100%;max-width:100%;box-sizing:border-box}.payment-help{max-width:360px;font-size:.82rem;line-height:1.5;color:var(--muted,#6b665f)}.payment-locked{display:inline-block;font-size:.82rem;color:#6d624e;padding:.35rem .5rem;border-radius:7px;background:rgba(140,120,80,.09)}.button-danger{border:1px solid #b74343!important;color:#a12828!important}
@media(max-width:700px){.payment-edit-form,.payment-reversal form{max-width:100%;min-width:0}.payment-row-actions form{display:flex;flex-wrap:wrap;gap:.35rem}}


/* =========================================================================
   SR Studio V31 — Aurora Studio
   Presentation-only layer appended after V30. Every effect is progressive:
   unsupported browsers keep the V30 look. Admin/login pages are excluded.
   ========================================================================= */
:root{
  --sr31-gold:240,212,156;
  --sr31-ease:cubic-bezier(.22,.68,0,1);
  --sr31-spring:cubic-bezier(.34,1.56,.64,1);
}
@supports (transition-timing-function:linear(0,1)){
  :root{--sr31-spring:linear(0,.18 5%,.62 11%,.96 18%,1.1 25%,1.12 29%,1.06 36%,.99 46%,1 60%,1)}
}

/* ---- 1. Hero aurora: slow gold/rose light that follows the cursor ---- */
.sr-aurora{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  mix-blend-mode:screen;opacity:0;transition:opacity 2.2s ease;contain:paint;
}
.sr-aurora.is-on{opacity:.62}
.sr-aurora i{
  position:absolute;display:block;border-radius:50%;will-change:transform;
  animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;
}
.sr-aurora .a1{
  width:62vmax;height:62vmax;right:-16vmax;top:-26vmax;
  background:radial-gradient(circle closest-side,rgba(240,212,156,.52),rgba(240,212,156,0));
  animation-name:sr31-drift-a;animation-duration:19s;
}
.sr-aurora .a2{
  width:54vmax;height:54vmax;right:12vmax;bottom:-34vmax;
  background:radial-gradient(circle closest-side,rgba(169,130,67,.62),rgba(169,130,67,0));
  animation-name:sr31-drift-b;animation-duration:26s;
}
.sr-aurora .a3{
  width:46vmax;height:46vmax;left:-22vmax;bottom:-30vmax;
  background:radial-gradient(circle closest-side,rgba(126,32,41,.55),rgba(126,32,41,0));
  animation-name:sr31-drift-c;animation-duration:31s;
}
.sr-aurora::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle 420px at var(--ax,72%) var(--ay,36%),rgba(var(--sr31-gold),.22),rgba(var(--sr31-gold),0) 70%);
  opacity:var(--aglow,0);transition:opacity .7s ease;
}
.sr-aurora.is-paused i{animation-play-state:paused}
@keyframes sr31-drift-a{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-12vw,14vh,0) scale(1.2)}}
@keyframes sr31-drift-b{from{transform:translate3d(0,0,0) scale(1.05)}to{transform:translate3d(-16vw,-12vh,0) scale(.88)}}
@keyframes sr31-drift-c{from{transform:translate3d(0,0,0) scale(.95)}to{transform:translate3d(14vw,-10vh,0) scale(1.15)}}

/* ---- 2. Hero headline: word-by-word focus-in (never splits Bengali conjuncts) ---- */
.sr-words .sr-w{display:inline-block;opacity:0;transform:translate3d(0,.5em,0);filter:blur(10px)}
.sr-words.sr-words-go .sr-w{
  animation:sr31-word .95s var(--sr31-ease) both;
  animation-delay:calc(var(--i,0) * 75ms + 80ms);
}
.sr-words.sr-words-done .sr-w{animation:none;opacity:1;transform:none;filter:none}
@keyframes sr31-word{
  from{opacity:0;transform:translate3d(0,.5em,0);filter:blur(10px)}
  to{opacity:1;transform:none;filter:blur(0)}
}

/* ---- 3. Spotlight edge light on cards (pointer devices only) ---- */
.sr-spot{
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;
  opacity:0;transition:opacity .35s ease;
}
.sr-spot-host:hover>.sr-spot,.sr-spot-host:focus-visible>.sr-spot{opacity:1}
.sr-spot::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:radial-gradient(240px circle at var(--sx,50%) var(--sy,50%),rgba(var(--sr31-gold),.95),rgba(var(--sr31-gold),0) 65%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  mask-composite:exclude;
}
.sr-spot::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(380px circle at var(--sx,50%) var(--sy,50%),rgba(var(--sr31-gold),.09),rgba(var(--sr31-gold),0) 62%);
}
.portfolio-card>.sr-spot::after{display:none}

/* ---- 4. Magnetic call-to-action buttons (uses the independent `translate` property) ---- */
.sr-magnetic{
  translate:var(--mx,0px) var(--my,0px);
  transition:translate .6s var(--sr31-spring),transform .25s var(--ease),background .25s,border-color .25s,box-shadow .25s,color .25s,filter .25s;
}
.sr-magnetic.sr-mag-live{
  transition:translate .14s ease-out,transform .25s var(--ease),background .25s,border-color .25s,box-shadow .25s,color .25s,filter .25s;
}

/* ---- 5. Reading progress line + scroll-driven parallax ---- */
.sr-progress{
  position:fixed;left:0;top:0;width:100%;height:2px;z-index:60;pointer-events:none;
  transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,#a98243,#f0d49c 60%,#fff3d2);
  box-shadow:0 0 12px rgba(240,212,156,.55);
}
@keyframes sr31-progress{to{transform:scaleX(1)}}
@keyframes sr31-parallax{from{translate:0 -6%}to{translate:0 6%}}
@supports (animation-timeline:scroll()){
  .sr-progress{animation:sr31-progress linear both;animation-timeline:scroll(root block)}
}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .manifesto-image{
      scale:1.14;
      animation:sr31-parallax linear both;
      animation-timeline:view();
      animation-range:cover 0% cover 100%;
    }
  }
}

/* ---- 6. Smart header: tucks away while reading down, returns on scroll up ---- */
.topbar{
  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,translate .45s var(--sr31-ease);
}
.topbar.sr-hide{translate:0 -110%}
.topbar:focus-within{translate:none}

/* ---- 7. Cross-document View Transitions (Chrome/Edge 126+, Safari 18.2+).
        Browsers without support keep the V20 curtain; see site.js. ---- */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
}
body:not(.admin-body):not(.login-body) .topbar{view-transition-name:sr-topbar}
::view-transition-group(sr-topbar){animation-duration:.45s;animation-timing-function:var(--sr31-ease)}
::view-transition-old(root){animation:sr31-vt-out .38s var(--sr31-ease) both}
::view-transition-new(root){animation:sr31-vt-in .62s var(--sr31-ease) .05s both}
@keyframes sr31-vt-out{to{opacity:0;transform:scale(.985) translateY(-8px);filter:blur(4px)}}
@keyframes sr31-vt-in{from{opacity:0;transform:scale(1.012) translateY(14px);filter:blur(6px)}}
/* Admin and login keep instant navigation. */
html:has(.admin-body,.login-body)::view-transition-old(root),
html:has(.admin-body,.login-body)::view-transition-new(root),
html:has(.admin-body,.login-body)::view-transition-group(*){animation:none!important}

/* ---- Small screens, touch devices and reduced motion ---- */
@media (max-width:760px),(hover:none){
  .sr-aurora .a3{display:none}
  .sr-aurora.is-on{opacity:.5}
  .sr-aurora .a1{width:90vmax;height:90vmax;right:-40vmax;top:-30vmax}
  .sr-aurora .a2{width:80vmax;height:80vmax;right:-20vmax;bottom:-50vmax}
}
@media (prefers-reduced-motion:reduce){
  .sr-aurora i{animation:none}
  .sr-aurora::after{display:none}
  .sr-words .sr-w{opacity:1;transform:none;filter:none;animation:none}
  .topbar,.topbar.sr-hide{transition:none;translate:none}
  .sr-magnetic{translate:none!important}
}


/* =========================================================================
   SR Studio V32 — Depth Studio
   Real 3D layer on top of V31: a WebGL bokeh depth field behind the hero and a
   3D cover-flow for the homepage stories. Both switch themselves off on phones,
   tablets, reduced-motion and when WebGL is unavailable; the V31 look remains.
   Set SR32.bokeh / SR32.gallery3d to false at the top of the V32 block in
   site.js to disable either feature.
   ========================================================================= */

/* ---- 1. WebGL bokeh depth field (hero) ---- */
.sr-gl{
  position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;
  mix-blend-mode:screen;opacity:0;transition:opacity 1.8s ease;
}
.sr-gl.is-on{opacity:1}

/* ---- 2. 3D cover-flow for homepage stories (desktop pointer devices, 4+ stories) ---- */
.portfolio-home.sr-cf{
  display:block;position:relative;height:var(--cf-h,620px);
  perspective:1500px;perspective-origin:50% 42%;transform-style:preserve-3d;overflow:visible;
  cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;
  /* In a preserve-3d context the container's own box sits on the z=0 plane, in front of cards pushed back in z.
     Let pointer events fall through to the cards instead (listeners still receive bubbled events). */
  pointer-events:none;
}
.portfolio-home.sr-cf.sr-cf-drag{cursor:grabbing}
.portfolio-home.sr-cf>.portfolio-card{
  position:absolute!important;left:50%;top:50%;
  width:var(--cf-w,360px);height:auto;aspect-ratio:4/5;margin:0!important;
  transform:var(--cf-t)!important;opacity:var(--cf-o,0)!important;filter:brightness(var(--cf-b,1));
  /* Frame-by-frame motion comes from script, so remove the older reveal/tilt transitions here. */
  transition:box-shadow .45s ease,border-color .45s ease!important;
  backface-visibility:hidden;-webkit-user-drag:none;will-change:transform,opacity;cursor:pointer;pointer-events:auto;
}
.portfolio-home.sr-cf>.portfolio-card img{-webkit-user-drag:none;pointer-events:none}
.portfolio-home.sr-cf>.portfolio-card.sr-cf-center{
  cursor:inherit;border-color:rgba(240,212,156,.34);
  box-shadow:0 34px 90px rgba(0,0,0,.6),0 0 60px rgba(216,183,123,.12);
}
.portfolio-home.sr-cf>.portfolio-card.sr-cf-off{pointer-events:none;visibility:hidden}
.portfolio-home.sr-cf::after{
  content:"";position:absolute;left:12%;right:12%;bottom:4px;height:70px;pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%,rgba(240,212,156,.22),rgba(240,212,156,0) 70%);
  filter:blur(14px);transform:translateZ(-420px);
}
.sr-cf-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:26px}
.sr-cf-controls[hidden]{display:none}
.sr-cf-btn{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line,rgba(223,191,130,.19));
  background:rgba(16,14,12,.6);color:var(--gold,#dfbf82);font-size:20px;line-height:1;cursor:pointer;
  transition:background .25s,border-color .25s,color .25s,translate .5s var(--sr31-spring,ease);
}
.sr-cf-btn:hover{background:var(--gold,#dfbf82);color:#17120a;border-color:var(--gold,#dfbf82)}
.sr-cf-btn:focus-visible{outline:2px solid var(--gold,#dfbf82);outline-offset:3px}
.sr-cf-count{min-width:72px;text-align:center;font-size:11px;letter-spacing:.14em;color:var(--muted,#a8a198)}


/* =========================================================================
   SR Studio V33 — Gloss Studio
   Glossy, tactile 3D finish for the rest of the homepage: metallic gold buttons,
   specular sheen on cards, 3D scroll unfold, a gold-foil headline, a 3D manifesto
   image with glare, and twin 3D wedding rings (WebGL) in the closing band.
   Everything degrades to the V32 look; switches live at the top of the V33 block
   in site.js (SR33).
   ========================================================================= */

/* ---- 1. Metallic gold buttons: bevel, specular band, moving sheen, press ---- */
.button.button-gold{
  background:
    linear-gradient(105deg,transparent 38%,rgba(255,255,255,.6) 50%,transparent 62%) 160% 0/260% 100% no-repeat,
    linear-gradient(180deg,rgba(255,255,255,.5) 0,rgba(255,255,255,.14) 46%,rgba(255,255,255,0) 52%,rgba(96,62,12,.16) 100%),
    linear-gradient(110deg,#d2ab68,#f3d9a1 52%,#d0a962);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 0 rgba(120,80,20,.28),
    0 10px 26px rgba(216,183,123,.16),0 2px 0 rgba(90,60,14,.5);
  text-shadow:0 1px 0 rgba(255,255,255,.35);
  transition:
    background-position .9s var(--ease),box-shadow .35s ease,translate .6s var(--sr31-spring),
    transform .25s var(--ease),scale .18s ease,color .25s,filter .25s;
}
.button.button-gold:hover{
  background-position:-60% 0,0 0,0 0;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),inset 0 -2px 0 rgba(120,80,20,.3),
    0 16px 38px rgba(216,183,123,.28),0 2px 0 rgba(90,60,14,.5);
}
.button.button-gold:active{scale:.97}
.button.button-gold.sr-mag-live{
  transition:
    background-position .9s var(--ease),box-shadow .35s ease,translate .14s ease-out,
    transform .25s var(--ease),scale .18s ease,color .25s,filter .25s;
}

/* ---- 2. Specular sheen + glass bevel on cards ---- */
.sr-gloss{
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,246,222,.16),inset 0 -1px 0 rgba(0,0,0,.4);
}
.sr-gloss::before{
  content:"";position:absolute;inset:-20%;opacity:0;transition:opacity .4s ease;
  background:linear-gradient(112deg,transparent 40%,rgba(255,244,214,.07) 46%,rgba(255,244,214,.2) 50%,rgba(255,244,214,.07) 54%,transparent 60%);
  translate:calc((var(--gx,50) - 50) * 1.2%) 0;
}
.sr-gloss-host:hover>.sr-gloss::before{opacity:1}
.sr-gloss-host.is-visible>.sr-gloss::before{animation:sr33-sweep 1.7s .3s ease-out 1 backwards}
@keyframes sr33-sweep{
  0%{translate:-70% 0;opacity:0}
  30%{opacity:1}
  100%{translate:70% 0;opacity:0}
}

/* ---- 3. 3D unfold of the main grids while scrolling into view ---- */
@keyframes sr33-unfold{
  from{transform:perspective(1300px) rotateX(16deg) translateY(36px) scale(.965)}
  to{transform:none}
}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference) and (min-width:761px){
    .service-grid,.package-grid,.testimonial-grid{
      transform-origin:50% 0;
      animation:sr33-unfold linear both;
      animation-timeline:view();
      animation-range:entry 0% entry 55%;
    }
  }
}

/* ---- 4. Gold-foil headline in the closing band (sweeps as you scroll past) ---- */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .quote-band em{
    background:linear-gradient(100deg,#a97f3e 0%,#e9c984 28%,#fff3cf 42%,#e3bd72 56%,#a97f3e 100%) 0 0/260% 100% no-repeat;
    -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  }
}
@keyframes sr33-foil{from{background-position:100% 0}to{background-position:0 0}}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .quote-band em{animation:sr33-foil linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  }
}

/* ---- 5. 3D manifesto image with glare (pointer devices) ---- */
.manifesto-band.sr-tilt .manifesto-image{
  transform:perspective(1200px) rotateY(var(--mry,0deg)) rotateX(var(--mrx,0deg)) scale(1.03)!important;
  transform-origin:30% 50%;
}
.sr-glare{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle 360px at var(--glx,40%) var(--gly,40%),rgba(255,244,214,.3),rgba(255,244,214,0) 62%);
  mix-blend-mode:soft-light;opacity:var(--gla,0);transition:opacity .6s ease;
}

/* ---- 6. Twin 3D wedding rings (WebGL) in the closing band ---- */
.quote-band{position:relative;isolation:isolate}
.sr-rings-canvas{
  position:absolute;right:3%;top:50%;translate:0 -50%;
  width:min(31vw,430px);height:min(31vw,430px);
  pointer-events:none;z-index:0;opacity:0;transition:opacity 1.4s ease;
}
.sr-rings-canvas.is-on{opacity:1}
.quote-band.sr-rings-on::before{
  content:"";position:absolute;right:calc(3% - 50px);top:50%;translate:0 -50%;
  width:min(40vw,540px);height:min(40vw,540px);z-index:-1;pointer-events:none;
  background:radial-gradient(circle,rgba(216,183,123,.16),rgba(216,183,123,0) 62%);
}
.quote-band.sr-rings-on>:not(.sr-rings-canvas){position:relative;z-index:1}
@media (max-width:900px){
  .quote-band.sr-rings-on{padding-top:270px}
  .sr-rings-canvas{right:auto;left:50%;top:14px;translate:-50% 0;width:240px;height:240px}
  .quote-band.sr-rings-on::before{right:auto;left:50%;top:14px;translate:-50% 0;width:340px;height:300px}
}
@media (prefers-reduced-motion:reduce){
  .button.button-gold{transition:box-shadow .2s ease}
  .sr-gloss::before{animation:none!important}
}
