@import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,300..700&display=swap');

:root{--cream:#f6f0e7;--ivory:#fffdf9;--beige:#e9ddcf;--gold:#c7a56a;--gold2:#e1c38d;--wine:#3b0b14;--wine2:#2b0810;--ink:#171513;--muted:#726a63;--line:rgba(23,21,19,.12);--white:#fff;--radius:22px;--shadow:0 22px 60px rgba(52,34,21,.12);--shadow-sm:0 10px 30px rgba(52,34,21,.08);--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Poppins,sans-serif;line-height:1.65;overflow-x:hidden}.progress{position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--wine),var(--gold));z-index:9999}.loader{position:fixed;inset:0;background:#180409;z-index:10000;display:grid;place-items:center;transition:opacity .15s ease,visibility .15s ease}.loader.hide{opacity:0;visibility:hidden}.loader-mark{width:74px;height:74px;object-fit:contain;filter:brightness(0) invert(1);animation:pulse 1.4s infinite}.cursor-glow{position:fixed;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(199,165,106,.18),transparent 68%);pointer-events:none;z-index:1;transform:translate(-50%,-50%)}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.section{padding:96px 0}.section-sm{padding:64px 0}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--wine);display:flex;gap:8px;align-items:center}.eyebrow:before{content:'✦';color:var(--gold)}h1,h2,h3,h4{font-family:'Playfair Display',serif;line-height:1.05;margin:0 0 18px}h1{font-size:clamp(3.3rem,7vw,7rem);letter-spacing:-.045em}h2{font-size:clamp(2.3rem,4.5vw,4.8rem);letter-spacing:-.035em}h3{font-size:clamp(1.45rem,2.4vw,2.4rem)}p{margin:0 0 18px;color:var(--muted)}.lead{font-size:1.08rem;max-width:720px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;padding:15px 25px;border:1px solid transparent;font-weight:500;transition:.3s;cursor:pointer;font-family:inherit}.btn-primary{background:var(--wine);color:white;box-shadow:0 12px 30px rgba(125,16,39,.2)}.btn-primary:hover{transform:translateY(-3px);background:var(--wine2)}.btn-outline{border-color:var(--line);background:rgba(255,255,255,.5);backdrop-filter:blur(12px)}.btn-outline:hover{border-color:var(--gold);transform:translateY(-3px)}.btn-dark{background:var(--ink);color:white}.btn-sm{padding:11px 18px;font-size:.85rem}.actions{display:flex;gap:12px;flex-wrap:wrap}.card{background:rgba(255,253,249,.9);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.muted{color:var(--muted)}
.site-header{position:sticky;top:0;z-index:1000;padding:12px 0;background:rgba(246,240,231,.75);backdrop-filter:blur(22px);border-bottom:1px solid rgba(255,255,255,.5)}.nav-wrap{display:grid;grid-template-columns:230px 1fr auto;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:600}.brand img{width:42px;height:48px;object-fit:contain}.brand-text small{display:block;font-size:.57rem;letter-spacing:.22em;text-transform:uppercase}.brand-text strong{font-family:'Playfair Display';font-size:1.15rem}.nav{display:flex;justify-content:center;gap:24px;font-size:.85rem}.nav a{position:relative}.nav a:after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--wine);transition:.3s}.nav a:hover:after,.nav a.active:after{width:100%}.nav-actions{display:flex;align-items:center;gap:14px;font-size:.85rem}.mobile-toggle{display:none;border:0;background:none;font-size:1.5rem}.mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);width:680px;padding:22px;display:none;background:rgba(255,253,249,.98);border-radius:0 0 22px 22px;box-shadow:var(--shadow)}.has-mega:hover .mega{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mega a{padding:12px;border-radius:12px}.mega a:hover{background:var(--cream)}
.hero{min-height:calc(100vh - 78px);position:relative;display:grid;align-items:center;background:linear-gradient(110deg,rgba(17,14,12,.87),rgba(17,14,12,.38)),url('https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=2000&q=88') center/cover;color:white;overflow:hidden}.hero:after{content:'';position:absolute;inset:-30%;background:radial-gradient(circle at 70% 40%,rgba(199,165,106,.28),transparent 35%);animation:drift 10s ease-in-out infinite alternate}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:80px 0}.hero-copy p{color:rgba(255,255,255,.78);max-width:600px}.hero .eyebrow{color:var(--gold2)}.hero-visual{position:relative;height:560px;perspective:1200px}.album-stack{position:absolute;inset:40px 20px;transform-style:preserve-3d}.album-book{position:absolute;width:330px;height:430px;border-radius:15px;overflow:hidden;box-shadow:0 35px 80px rgba(0,0,0,.42);border:8px solid rgba(255,255,255,.12);transition:.5s}.album-book img{width:100%;height:100%;object-fit:cover}.album-book:nth-child(1){right:100px;top:45px;transform:rotateY(-17deg) rotateZ(5deg);animation:float 6s ease-in-out infinite}.album-book:nth-child(2){right:10px;top:90px;transform:rotateY(-12deg) rotateZ(10deg);animation:float 7s ease-in-out infinite reverse}.album-book:nth-child(3){right:190px;top:95px;transform:rotateY(-20deg) rotateZ(-8deg);animation:float 8s ease-in-out infinite}.glass-stat{position:absolute;padding:16px 20px;border-radius:18px;background:rgba(255,255,255,.13);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.2);z-index:4}.glass-stat strong{font-family:'Playfair Display';font-size:1.8rem}.stat-a{left:0;bottom:60px}.stat-b{right:0;top:10px}.avatars{display:flex;align-items:center;margin-top:24px}.avatars img{width:36px;height:36px;object-fit:cover;border-radius:50%;border:2px solid white;margin-left:-8px}.avatars img:first-child{margin-left:0}.scroll-indicator{position:absolute;bottom:26px;left:50%;z-index:4;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.scroll-indicator:after{content:'';display:block;width:1px;height:42px;background:linear-gradient(white,transparent);margin:8px auto 0;animation:scrollLine 1.6s infinite}
.page-hero{padding:105px 0 65px;background:radial-gradient(circle at 80% 10%,rgba(199,165,106,.22),transparent 25%),linear-gradient(145deg,#fffdf9,#eee2d5)}.page-hero .container{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:48px}.page-hero-media{border-radius:var(--radius);height:370px;object-fit:cover;box-shadow:var(--shadow)}.breadcrumbs{font-size:.78rem;color:var(--muted);margin-bottom:22px}
.feature-strip{margin-top:-34px;position:relative;z-index:5}.feature-box{padding:28px;display:flex;align-items:center;gap:16px}.icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--wine);font-size:1.25rem}.image-card{position:relative;overflow:hidden;min-height:380px}.image-card img{width:100%;height:100%;object-fit:cover;transition:.7s}.image-card:hover img{transform:scale(1.06)}.image-card .overlay{position:absolute;inset:auto 18px 18px;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);padding:18px;border-radius:16px}.product-card{overflow:hidden}.product-card img{height:330px;width:100%;object-fit:cover}.product-card-body{padding:20px}.price{font-family:'Playfair Display';font-size:1.5rem;color:var(--wine)}.badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:var(--beige);font-size:.72rem}.rating{color:#b7832f}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.filter-btn{border:1px solid var(--line);background:transparent;padding:10px 17px;border-radius:99px;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:var(--ink);color:white}.masonry{columns:3;column-gap:20px}.masonry-item{break-inside:avoid;margin-bottom:20px;position:relative;border-radius:20px;overflow:hidden}.masonry-item img{width:100%;transition:.6s}.masonry-item:hover img{transform:scale(1.04)}.masonry-caption{position:absolute;inset:auto 12px 12px;padding:14px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border-radius:14px;opacity:0;transform:translateY(10px);transition:.35s}.masonry-item:hover .masonry-caption{opacity:1;transform:none}
.split-panel{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.split-panel>div{padding:60px}.split-panel img{height:100%;width:100%;object-fit:cover}.soft-panel{background:linear-gradient(135deg,#f8f2e9,#e8dbcb);border-radius:var(--radius);padding:60px}.dark-panel{background:#191614;color:white;border-radius:var(--radius);padding:60px}.dark-panel p{color:rgba(255,255,255,.65)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat-card{padding:30px}.stat-card strong{font-family:'Playfair Display';font-size:2.8rem}.timeline{position:relative;padding-left:35px}.timeline:before{content:'';position:absolute;left:9px;top:8px;bottom:8px;width:1px;background:var(--gold)}.timeline-item{position:relative;padding:0 0 32px}.timeline-item:before{content:'';position:absolute;left:-31px;top:7px;width:12px;height:12px;border-radius:50%;background:var(--wine);box-shadow:0 0 0 6px var(--cream)}.quote-card{padding:30px}.quote-card blockquote{font-family:'Playfair Display';font-size:1.35rem;margin:14px 0}.person{display:flex;gap:12px;align-items:center}.person img{width:48px;height:48px;border-radius:50%;object-fit:cover}.form-card{padding:38px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{position:relative}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.7);padding:18px 16px;border-radius:14px;font:inherit;outline:none}.field textarea{min-height:140px;resize:vertical}.field label{position:absolute;left:15px;top:-9px;background:var(--ivory);padding:0 6px;font-size:.72rem;color:var(--muted)}.auth{min-height:calc(100vh - 80px);display:grid;grid-template-columns:1.05fr .95fr}.auth-media{background:url('https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=1400&q=85') center/cover;position:relative}.auth-media:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.75))}.auth-caption{position:absolute;left:55px;bottom:55px;color:white;z-index:2;max-width:520px}.auth-form{display:grid;place-items:center;padding:55px}.auth-box{width:min(100%,480px)}.social-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.78rem;margin:22px 0}.divider:before,.divider:after{content:'';height:1px;background:var(--line);flex:1}
.dashboard-shell{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 80px)}.sidebar{padding:28px;background:#1b1715;color:white}.sidebar a{display:flex;padding:13px 15px;border-radius:12px;margin-bottom:5px;color:rgba(255,255,255,.72)}.sidebar a.active,.sidebar a:hover{background:rgba(255,255,255,.1);color:white}.dashboard-main{padding:40px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden}.data-table th,.data-table td{text-align:left;padding:18px;border-bottom:1px solid var(--line);font-size:.87rem}.status{padding:6px 10px;border-radius:999px;font-size:.72rem;background:#f4e8ce}.cart-item{display:grid;grid-template-columns:110px 1fr auto;gap:20px;padding:18px;border-bottom:1px solid var(--line)}.cart-item img{width:110px;height:100px;object-fit:cover;border-radius:14px}.order-summary{position:sticky;top:110px;padding:30px}.summary-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;display:flex;justify-content:space-between;padding:22px 0;background:none;border:0;font:600 1rem Poppins;text-align:left;cursor:pointer}.faq-a{max-height:0;overflow:hidden;transition:.35s}.faq-item.open .faq-a{max-height:240px;padding-bottom:20px}.policy{max-width:880px;margin:auto}.policy h2{font-size:2rem;margin-top:45px}.policy h3{font-size:1.3rem;margin-top:30px}.error-page{min-height:72vh;display:grid;place-items:center;text-align:center}.error-code{font:700 clamp(8rem,25vw,18rem)/.8 'Playfair Display';color:transparent;-webkit-text-stroke:2px var(--wine);opacity:.35}.marquee{overflow:hidden;border-block:1px solid var(--line);padding:18px 0}.marquee-track{display:flex;width:max-content;gap:55px;animation:marquee 22s linear infinite;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem}.comparison{position:relative;height:520px;overflow:hidden;border-radius:var(--radius)}.comparison img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison .after{clip-path:inset(0 50% 0 0)}.comparison input{position:absolute;inset:0;width:100%;opacity:0;cursor:ew-resize}.compare-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:white;pointer-events:none}.compare-line:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--ink)}
.site-footer{background:#171513;color:white;padding:80px 0 28px}.footer-top{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:38px}.footer-logo{width:58px;height:68px;object-fit:contain}.site-footer p,.site-footer a{color:rgba(255,255,255,.62)}.footer-col h4{font:600 .9rem Poppins;margin-bottom:18px}.footer-col a{display:block;margin:9px 0;font-size:.84rem}.newsletter-inline{display:flex;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:4px;margin-top:20px}.newsletter-inline input{flex:1;background:none;border:0;color:white;padding:0 14px;outline:none}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.1);margin-top:55px;padding-top:24px;font-size:.78rem}.instagram-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:35px}.instagram-strip img{height:105px;width:100%;object-fit:cover;border-radius:12px}
.reveal{opacity:0;transform:translateY(28px);transition:.8s}.reveal.show{opacity:1;transform:none}.tilt{transition:transform .25s}.toast{position:fixed;right:24px;bottom:24px;padding:16px 20px;border-radius:14px;background:#171513;color:white;transform:translateY(120px);transition:.4s;z-index:9000}.toast.show{transform:none}
@keyframes float{50%{transform:translateY(-15px) rotateY(-12deg) rotateZ(4deg)}}@keyframes drift{to{transform:translate(8%,5%) scale(1.1)}}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes pulse{50%{transform:scale(.9);opacity:.6}}
@media(max-width:1050px){.nav{display:none}.mobile-toggle{display:block}.nav-wrap{grid-template-columns:1fr auto}.nav-actions .plain{display:none}.mobile-nav{position:fixed;inset:78px 16px auto;background:var(--ivory);padding:20px;border-radius:20px;box-shadow:var(--shadow);display:none}.mobile-nav.open{display:block}.mobile-nav a{display:block;padding:12px}.hero-content,.page-hero .container,.split-panel,.auth{grid-template-columns:1fr}.hero{min-height:auto}.hero-visual{height:470px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:repeat(2,1fr)}.dashboard-shell{grid-template-columns:1fr}.sidebar{display:flex;overflow:auto;gap:6px}.sidebar a{white-space:nowrap}.masonry{columns:2}.auth-media{min-height:430px}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.container{width:min(calc(100% - 28px),var(--max))}.section{padding:70px 0}.hero-copy h1{font-size:3.3rem}.hero-visual{height:370px}.album-book{width:210px;height:290px}.album-book:nth-child(1){right:70px}.album-book:nth-child(3){right:120px}.grid-2,.grid-3,.grid-4,.form-grid,.stat-grid{grid-template-columns:1fr}.page-hero .container{gap:28px}.page-hero-media{height:280px}.masonry{columns:1}.soft-panel,.dark-panel,.split-panel>div{padding:32px}.footer-top{grid-template-columns:1fr}.footer-bottom{display:block}.instagram-strip{grid-template-columns:repeat(3,1fr)}.nav-actions .btn{display:none}.cart-item{grid-template-columns:80px 1fr}.cart-item>strong{grid-column:2}.dashboard-main{padding:22px}.auth-form{padding:28px}.auth-caption{left:25px;bottom:25px}.cursor-glow{display:none}}

/* === 2026 UI/UX quality pass === */
:root{--font:'Google Sans Flex',Arial,sans-serif}
html{scroll-behavior:auto}
body,button,input,textarea,select,.btn,.faq-q,.footer-col h4{font-family:var(--font)!important}
h1,h2,h3,h4,.brand-text strong,.price,.stat-card strong,.quote-card blockquote,.error-code,.glass-stat strong{font-family:var(--font)!important}
h1{font-size:clamp(42px,5vw,56px);line-height:1.08;letter-spacing:-.04em}
h2{font-size:clamp(32px,3.8vw,40px);line-height:1.12;letter-spacing:-.035em}
h3{font-size:clamp(25px,2.5vw,30px);line-height:1.18;letter-spacing:-.025em}
h4{font-size:24px;line-height:1.25}
body,p{font-size:16px}.btn{font-size:15px}
.site-header{isolation:isolate;background:rgba(246,240,231,.78);-webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%)}
.nav-wrap{grid-template-columns:minmax(205px,240px) minmax(0,1fr) auto;min-height:54px}
.nav{display:flex;align-items:center;justify-content:center;gap:clamp(13px,1.45vw,23px);white-space:nowrap}
.nav a{font-size:13px}
.nav-actions{white-space:nowrap;gap:12px}
.mobile-nav{display:none!important}
.mobile-nav.open{display:block!important}
.brand,.nav,.nav-actions{align-self:center}
.brand-text{line-height:1.15}.brand-text strong{font-size:17px}.brand img{width:39px;height:45px}
.hero-copy h1{font-size:clamp(42px,5vw,56px)}
.page-hero h1{font-size:clamp(42px,5vw,56px)}
.section{padding:88px 0}.section-sm{padding:58px 0}

/* Premium cursor */
.premium-cursor{position:fixed;left:0;top:0;width:46px;height:46px;border:1px solid rgba(125,16,39,.38);border-radius:50%;pointer-events:none;z-index:12000;transform:translate(-50%,-50%);mix-blend-mode:multiply;will-change:transform,width,height,background;display:grid;place-items:center}
.cursor-dot{width:5px;height:5px;border-radius:50%;background:var(--wine);transition:transform .25s ease}
.premium-cursor.is-link{width:72px;height:72px;background:rgba(199,165,106,.16);border-color:rgba(125,16,39,.18)}
.premium-cursor.is-link .cursor-dot{transform:scale(1.45)}
.premium-cursor.is-text{width:28px;height:28px}
@media(pointer:fine){body,a,button,.btn,input,textarea,select{cursor:none}}

/* Compact premium footer */
.footer-brand-row{display:flex;align-items:center;gap:13px;margin-bottom:15px}
.footer-brand-row h3{margin:0;font-size:25px;white-space:nowrap}
.footer-logo{width:50px;height:58px;flex:0 0 auto}
.site-footer{padding:62px 0 24px}
.footer-top{gap:30px}.footer-brand p{max-width:340px}
.footer-bottom{margin-top:38px}.instagram-strip{margin-top:28px}

/* Services motion affordances */
.service-card{overflow:hidden;position:relative;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,border-color .45s}
.service-card:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.75),transparent 48%);opacity:0;transition:.45s;pointer-events:none}
.service-card:hover{transform:translateY(-10px);box-shadow:0 30px 70px rgba(52,34,21,.16);border-color:rgba(199,165,106,.55)}
.service-card:hover:before{opacity:1}
.service-card .icon{transition:transform .55s cubic-bezier(.2,.9,.25,1),background .35s}
.service-card:hover .icon{transform:rotate(12deg) scale(1.08);background:var(--beige)}
.service-card a{display:inline-flex;transition:transform .3s,color .3s}.service-card:hover a{transform:translateX(5px);color:var(--wine)}
.service-hero-image{clip-path:inset(0 0 0 100%);will-change:clip-path}

/* Premium pricing cards */
.pricing-grid{align-items:stretch;perspective:1200px}
.pricing-card{position:relative;overflow:hidden;min-height:445px;padding:38px!important;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,253,249,.55));-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid transparent;box-shadow:0 24px 65px rgba(52,34,21,.12);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;transform-style:preserve-3d}
.pricing-card:before{content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,rgba(225,195,141,.95),rgba(255,255,255,.5),rgba(125,16,39,.52));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.pricing-card:after{content:'';position:absolute;width:190px;height:190px;border-radius:50%;right:-80px;bottom:-90px;background:radial-gradient(circle,rgba(199,165,106,.25),transparent 68%);filter:blur(4px);transition:.55s;pointer-events:none}
.pricing-card:hover{transform:translateY(-12px);box-shadow:0 34px 90px rgba(80,43,26,.2),0 0 45px rgba(199,165,106,.12)}
.pricing-card:hover:after{transform:translate(-18px,-18px) scale(1.2)}
.pricing-card .btn{position:relative;overflow:hidden;margin-top:auto}
.pricing-card .btn:after{content:'';position:absolute;inset:-2px;transform:translateX(-120%) skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:.7s}
.pricing-card:hover .btn:after{transform:translateX(120%) skewX(-20deg)}
.pricing-card ul{padding-left:20px;min-height:150px}.pricing-card li{margin:10px 0;color:var(--muted)}
.pricing-card.popular{transform:translateY(-12px);box-shadow:0 34px 90px rgba(125,16,39,.16)}
.pricing-card.popular:hover{transform:translateY(-20px)}
.popular-ribbon{position:absolute;top:18px;right:-39px;width:150px;text-align:center;padding:7px;background:linear-gradient(90deg,var(--wine),var(--wine2));color:white;font-size:11px;letter-spacing:.08em;text-transform:uppercase;transform:rotate(35deg);box-shadow:0 8px 20px rgba(125,16,39,.25)}

/* Responsive quality fixes */
img{height:auto}.card,.soft-panel,.dark-panel{min-width:0}
@media(max-width:1180px){.nav{gap:12px}.nav a{font-size:12px}.nav-actions{gap:9px}.nav-actions .plain{font-size:12px}.btn-sm{padding:10px 14px}.brand-text small{display:none}}
@media(max-width:1050px){.mobile-nav{display:none!important}.mobile-nav.open{display:block!important}.nav-wrap{grid-template-columns:1fr auto}.pricing-card.popular{transform:none}.pricing-card.popular:hover{transform:translateY(-10px)}}
@media(max-width:700px){
 body{line-height:1.6}.container{width:min(calc(100% - 28px),var(--max))}.section{padding:62px 0}.section-sm{padding:44px 0}
 h1,.hero-copy h1,.page-hero h1{font-size:40px}h2{font-size:32px}h3{font-size:25px}h4{font-size:21px}
 .site-header{padding:8px 0}.brand img{width:34px;height:39px}.brand-text strong{font-size:15px}.mobile-nav{inset:66px 14px auto;max-height:calc(100vh - 84px);overflow:auto}
 .site-footer{padding:42px 0 20px}.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.footer-brand{grid-column:1/-1}.footer-brand p{margin-bottom:12px}.footer-brand-row{margin-bottom:10px}.footer-brand-row h3{font-size:22px}.footer-logo{width:42px;height:48px}.newsletter-inline{margin-top:12px;max-width:420px}.footer-col h4{font-size:15px;margin-bottom:10px}.footer-col a{margin:6px 0;font-size:12px}.instagram-strip{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:22px}.instagram-strip img{height:72px}.footer-bottom{margin-top:24px;padding-top:18px;display:grid;gap:8px}.pricing-card{min-height:auto;padding:30px!important}.pricing-card ul{min-height:0}.premium-cursor{display:none!important}
}
@media(max-width:420px){.footer-top{grid-template-columns:1fr 1fr}.newsletter-inline .btn{padding-inline:14px}.instagram-strip img{height:64px}.nav-actions{gap:7px}.mobile-toggle{padding:4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.premium-cursor{display:none!important}}


/* ===== UI/UX refinement pass — July 2026 ===== */
:root{--wine:#3b0b14;--wine2:#2b0810;--burgundy:#1d050a;--cream:#f6f0e7;--ivory:#fffdf9;--gold:#c7a56a;--ink:#211d1b}
html,body,button,input,select,textarea{font-family:'Google Sans Flex',Arial,sans-serif}
body{font-family:'Google Sans Flex',Arial,sans-serif;font-optical-sizing:auto}
h1,h2,h3,h4,.brand-text strong,.price,.stat-card strong,.glass-stat strong,.quote-card blockquote{font-family:'Google Sans Flex',Arial,sans-serif;font-optical-sizing:auto}
h1{font-size:clamp(2.8rem,5.7vw,5.75rem);line-height:1.02;letter-spacing:-.055em;font-weight:560}
h2{font-size:clamp(2.05rem,3.7vw,3.95rem);line-height:1.08;letter-spacing:-.045em;font-weight:560}
h3{font-size:clamp(1.3rem,2vw,2rem);line-height:1.18;letter-spacing:-.028em;font-weight:560}
h4{font-weight:560}.lead{font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.72}

/* Single centered glass header only */
.site-header{position:sticky;top:0;z-index:1000;padding:10px 0;background:rgba(255,253,249,.72);-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%);border-bottom:1px solid rgba(122,23,50,.08);box-shadow:0 10px 35px rgba(44,26,21,.045)}
.nav-wrap{grid-template-columns:minmax(210px,1fr) auto minmax(300px,1fr);gap:24px}.nav{justify-self:center;justify-content:center;gap:clamp(12px,1.5vw,24px)}.nav-actions{justify-self:end}.mobile-nav{display:none!important}.mobile-nav.open{display:block!important}.brand-text strong{font-size:1.02rem}.brand-text small{font-family:'Google Sans Flex',Arial,sans-serif}

.btn-primary{background:var(--wine);box-shadow:0 13px 32px rgba(122,23,50,.22)}.btn-primary:hover{background:var(--wine2);box-shadow:0 18px 42px rgba(84,16,32,.28)}

/* Alternating premium color rhythm without changing layouts */
main>.section:nth-of-type(even),main>.section-sm:nth-of-type(even){background:linear-gradient(145deg,var(--wine),var(--burgundy));color:#fff;position:relative;overflow:hidden}
main>.section:nth-of-type(even):before,main>.section-sm:nth-of-type(even):before{content:'';position:absolute;width:430px;height:430px;border-radius:50%;right:-180px;top:-210px;background:radial-gradient(circle,rgba(199,165,106,.24),transparent 68%);pointer-events:none}
main>.section:nth-of-type(even) p,main>.section-sm:nth-of-type(even) p{color:rgba(255,255,255,.72)}
main>.section:nth-of-type(even) .eyebrow,main>.section-sm:nth-of-type(even) .eyebrow{color:var(--gold2)}
main>.section:nth-of-type(even) .card,main>.section-sm:nth-of-type(even) .card{background:rgba(255,255,255,.93);color:var(--ink)}
main>.section:nth-of-type(even) .card p,main>.section-sm:nth-of-type(even) .card p{color:var(--muted)}

/* Services interaction polish */
.services-grid{position:relative}.service-card{position:relative;overflow:hidden;isolation:isolate;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,border-color .45s;background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(255,249,242,.78))}
.service-card:before{content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,transparent,var(--gold),transparent,var(--wine));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:.45s;pointer-events:none}
.service-card:after{content:'';position:absolute;width:180px;height:180px;border-radius:50%;left:var(--mx,50%);top:var(--my,50%);transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(199,165,106,.2),transparent 70%);opacity:0;transition:opacity .35s;z-index:-1}
.service-card:hover{transform:translateY(-10px);box-shadow:0 28px 70px rgba(75,34,29,.17)}.service-card:hover:before,.service-card:hover:after{opacity:1}.service-card a{display:inline-block;position:relative;font-weight:560;color:var(--wine)}.service-card a:after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--wine);transition:.35s}.service-card:hover a:after{width:100%}.service-card .icon{transition:.45s}.service-card:hover .icon{transform:translateY(-4px) rotate(-5deg);background:var(--wine);color:#fff;box-shadow:0 12px 26px rgba(122,23,50,.2)}
.service-hero-image{clip-path:inset(0 100% 0 0);transition:clip-path 1s cubic-bezier(.77,0,.18,1)}

/* Pricing premium treatment */
.pricing-grid{perspective:1200px;position:relative}.pricing-grid:before,.pricing-grid:after{content:'';position:absolute;width:220px;height:220px;border-radius:50%;filter:blur(3px);pointer-events:none}.pricing-grid:before{left:-100px;top:-80px;background:radial-gradient(circle,rgba(199,165,106,.23),transparent 68%)}.pricing-grid:after{right:-100px;bottom:-90px;background:radial-gradient(circle,rgba(122,23,50,.16),transparent 68%)}
.pricing-card{display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:470px;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,253,249,.60));-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid rgba(199,165,106,.26);box-shadow:0 24px 65px rgba(52,34,21,.12);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;transform-style:preserve-3d}
.pricing-card:before{content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,rgba(225,195,141,.95),rgba(255,255,255,.5),rgba(122,23,50,.52));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.pricing-card:hover{box-shadow:0 34px 90px rgba(80,43,26,.2),0 0 45px rgba(199,165,106,.12)}.pricing-card .price{font-size:clamp(2.2rem,4vw,3.5rem);font-weight:620;letter-spacing:-.05em}.pricing-card .btn{margin-top:auto}.popular-ribbon{background:linear-gradient(90deg,var(--wine),var(--wine2))}

/* Premium cursor */
html.has-custom-cursor,html.has-custom-cursor a,html.has-custom-cursor button,html.has-custom-cursor input,html.has-custom-cursor select,html.has-custom-cursor textarea{cursor:none!important}
.premium-cursor{position:fixed;left:0;top:0;width:44px;height:44px;border:1px solid rgba(122,23,50,.45);border-radius:50%;pointer-events:none;z-index:12000;transform:translate(-50%,-50%);mix-blend-mode:multiply;will-change:transform,width,height,background;display:grid;place-items:center;transition:width .28s,height .28s,background .28s,border-color .28s}
.cursor-dot{width:5px;height:5px;border-radius:50%;background:var(--wine);transition:.28s}.premium-cursor:after{content:attr(data-label);font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:scale(.8);transition:.25s;color:#fff}.premium-cursor.has-label{width:92px;height:92px;background:var(--wine);border-color:transparent;mix-blend-mode:normal}.premium-cursor.has-label .cursor-dot{display:none}.premium-cursor.has-label:after{opacity:1;transform:scale(1)}.premium-cursor.is-link:not(.has-label){width:68px;height:68px;background:rgba(199,165,106,.18);border-color:rgba(122,23,50,.22)}.premium-cursor.is-image{width:92px;height:92px;background:rgba(122,23,50,.16);backdrop-filter:blur(4px)}

/* Footer: horizontal logo lockup + compact mobile accordion */
.footer-brand-row{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.footer-brand-row h3{margin:0;white-space:nowrap}.site-footer{padding:58px 0 22px}.footer-top{align-items:start}.footer-col h4{font-family:'Google Sans Flex',Arial,sans-serif;cursor:default}.newsletter-inline{max-width:350px}

/* WhatsApp form feedback */
.form-note{grid-column:1/-1;font-size:.82rem;color:var(--muted);margin:-4px 0 0}.whatsapp-submit:before{content:'↗';font-size:1rem}

@media(max-width:1180px){.nav-wrap{grid-template-columns:190px 1fr auto}.nav{gap:12px}.nav-actions{gap:8px}.nav-actions .btn{padding-inline:14px}}
@media(max-width:1050px){.nav-wrap{grid-template-columns:1fr auto}.nav{display:none}.mobile-toggle{display:block}.nav-actions .plain{display:none}.mobile-nav{position:fixed;inset:72px 16px auto;background:rgba(255,253,249,.96);backdrop-filter:blur(22px);padding:16px;border-radius:18px;box-shadow:var(--shadow);max-height:calc(100vh - 90px);overflow:auto}.mobile-nav.open{display:block!important}}
@media(max-width:700px){
 html.has-custom-cursor,html.has-custom-cursor a,html.has-custom-cursor button,html.has-custom-cursor input,html.has-custom-cursor select,html.has-custom-cursor textarea{cursor:auto!important}
 .site-footer{padding:32px 0 16px}.footer-top{display:block}.footer-brand{padding-bottom:16px}.footer-brand-row{margin-bottom:8px}.footer-brand-row h3{font-size:19px}.footer-logo{width:36px;height:41px}.footer-brand p{font-size:12px;line-height:1.55;margin-bottom:10px}.newsletter-inline{margin-top:10px;max-width:none}.newsletter-inline input{min-width:0;padding:0 10px}.newsletter-inline .btn{padding:9px 13px}
 .footer-col{border-top:1px solid rgba(255,255,255,.11);padding:0}.footer-col h4{position:relative;margin:0;padding:13px 28px 13px 0;font-size:13px;cursor:pointer}.footer-col h4:after{content:'+';position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:18px;font-weight:300}.footer-col.open h4:after{content:'−'}.footer-col a{display:none;margin:0;padding:6px 0;font-size:12px}.footer-col.open{padding-bottom:10px}.footer-col.open a{display:block}.instagram-strip{margin-top:16px;gap:5px}.instagram-strip img{height:58px;border-radius:8px}.footer-bottom{margin-top:17px;padding-top:14px;font-size:11px;gap:5px}.premium-cursor{display:none!important}
 main>.section:nth-of-type(even),main>.section-sm:nth-of-type(even){background:linear-gradient(145deg,#6d142c,#1d050a)}
}
@media(max-width:420px){.container{width:min(calc(100% - 24px),var(--max))}.nav-actions .btn{display:none}.brand-text small{display:none}.instagram-strip{grid-template-columns:repeat(3,1fr)}}


/* ===== Awwwards-quality polish pass — restrained luxury interactions ===== */
:root{--maroon-accessible:#3b0b14;--deep-burgundy:#2b0810;--cream-button:#fff7eb}

/* Global motion restraint */
.card,.image-card,.product-card,.masonry-item,.service-card,.pricing-card,.quote-card,.feature-box,.tilt{
  transition:transform .42s cubic-bezier(.2,.75,.25,1),box-shadow .42s ease,border-color .42s ease,background-color .42s ease!important;
}
.card:hover,.product-card:hover,.service-card:hover,.quote-card:hover,.feature-box:hover,.tilt:hover{transform:translateY(-2px)!important}
.image-card:hover,.masonry-item:hover,.pricing-card:hover{transform:none!important}
.image-card img,.product-card img,.masonry-item img,.page-hero-media{transition:transform .75s cubic-bezier(.2,.75,.25,1),filter .5s ease}
.image-card:hover img,.product-card:hover img,.masonry-item:hover img{transform:scale(1.08)!important}

/* Category cards: editorial frosted information panels */
.image-card{cursor:pointer;border:1px solid rgba(107,17,42,.08);box-shadow:0 16px 46px rgba(40,24,20,.10)}
.image-card:before{content:'';position:absolute;z-index:3;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--wine),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.75,.25,1)}
.image-card:hover:before{transform:scaleX(1)}
.image-card:hover{box-shadow:0 22px 58px rgba(40,24,20,.15)!important}
.image-card .overlay{inset:auto 14px 14px;padding:20px 20px 18px;border-radius:19px;background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(255,250,244,.56));border:1px solid rgba(255,255,255,.68);-webkit-backdrop-filter:blur(20px) saturate(135%);backdrop-filter:blur(20px) saturate(135%);box-shadow:0 14px 38px rgba(35,22,18,.14);transition:background .4s,box-shadow .4s}
.image-card:hover .overlay{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,250,244,.70));box-shadow:0 18px 45px rgba(35,22,18,.18)}
.image-card .overlay:before{content:'CURATED COLLECTION';display:block;margin-bottom:8px;color:var(--wine);font-size:.61rem;line-height:1;letter-spacing:.16em;font-weight:650}
.image-card .overlay h3{font-size:clamp(1.18rem,1.55vw,1.48rem);font-weight:600;letter-spacing:-.035em;line-height:1.18;margin:0 0 10px}
.image-card .overlay span{display:flex;align-items:center;justify-content:space-between;color:var(--wine);font-size:.8rem;font-weight:600;letter-spacing:.01em}
.image-card .overlay span:after{content:'↗';display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:rgba(107,17,42,.09);transition:background .3s,color .3s,transform .3s}
.image-card:hover .overlay span:after{background:var(--wine);color:#fff;transform:rotate(45deg)}

/* Newsletter: readable maroon glass card */
.newsletter-card{position:relative;overflow:hidden;background:linear-gradient(130deg,#3b0b14 0%,#2b0810 58%,#1d050a 100%)!important;color:#fff;border:1px solid rgba(255,255,255,.13);box-shadow:0 32px 85px rgba(70,11,28,.28);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.newsletter-card:before{content:'';position:absolute;width:360px;height:360px;border-radius:50%;right:-110px;top:-180px;background:radial-gradient(circle,rgba(255,239,208,.25),transparent 67%);filter:blur(2px);animation:newsletterLight 8s ease-in-out infinite alternate;pointer-events:none}
.newsletter-card>*{position:relative;z-index:1}.newsletter-card h2{color:#fff}.newsletter-card p{color:rgba(255,255,255,.9)!important}.newsletter-card .eyebrow{color:#efd59d}.newsletter-card .field input{color:#fff}.newsletter-card .field label{color:rgba(255,255,255,.78)}.newsletter-card .field:before{background:rgba(255,255,255,.35)}.newsletter-card .field:after{background:#fff}.newsletter-card .btn{background:var(--cream-button);color:var(--wine);box-shadow:0 12px 32px rgba(0,0,0,.16)}
@keyframes newsletterLight{to{transform:translate(-80px,80px) scale(1.12)}}

/* Floating underline fields — no boxed borders */
.field{position:relative;padding-top:9px}.field:before,.field:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none}.field:before{background:rgba(33,29,27,.22)}.field:after{background:var(--wine);transform:scaleX(0);transform-origin:center;transition:transform .42s cubic-bezier(.2,.75,.25,1)}
.field:is(.is-focused,:focus-within):after{transform:scaleX(1)}
.field input,.field textarea,.field select{width:100%;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;padding:20px 2px 10px!important;color:var(--ink);font:inherit}
.field textarea{min-height:118px;resize:vertical}.field select{appearance:none}
.field label{position:absolute;left:2px;top:25px;z-index:1;color:var(--muted);font-size:.9rem;line-height:1;pointer-events:none;transition:transform .3s ease,color .3s ease,font-size .3s ease;transform-origin:left top}
.field:is(.is-focused,.is-filled,:focus-within) label,.field:has(select) label{transform:translateY(-17px) scale(.82);color:var(--wine);font-weight:600;letter-spacing:.02em}

/* Pricing: fixed, poised and quietly premium */
.pricing-card{transform:none!important;animation:none!important;min-height:470px;border-top:2px solid transparent;box-shadow:0 20px 58px rgba(52,34,21,.11)}
.pricing-card:after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--wine),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .48s ease}
.pricing-card:hover{transform:scale(1.02)!important;background:rgba(255,255,255,.94);box-shadow:0 30px 75px rgba(70,28,28,.17),0 0 32px rgba(199,165,106,.10)!important}
.pricing-card:hover:after{transform:scaleX(1)}.pricing-card:hover .btn{box-shadow:0 0 0 5px rgba(122,23,50,.08),0 14px 34px rgba(122,23,50,.2)}

/* Balanced, editorial inner-page heroes */
.page-hero{position:relative;overflow:hidden;padding:120px 0;background:radial-gradient(circle at 82% 22%,rgba(107,17,42,.18),transparent 28%),radial-gradient(circle at 16% 76%,rgba(199,165,106,.18),transparent 30%),linear-gradient(145deg,#fffdf9,#eee2d5)}
.page-hero:before{content:'';position:absolute;inset:0;opacity:.16;pointer-events:none;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='.18'/%3E%3C/svg%3E")}
.page-hero:after{content:'';position:absolute;width:310px;height:310px;border-radius:50%;right:9%;top:13%;border:1px solid rgba(107,17,42,.16);box-shadow:inset 0 0 80px rgba(255,255,255,.32);pointer-events:none}
.page-hero .container{position:relative;z-index:1;align-items:center}.page-hero .container>div:first-child{position:relative;padding:30px 0}.page-hero .container>div:first-child:after{content:'';display:block;margin-top:30px;width:76px;height:1px;background:linear-gradient(90deg,var(--wine),transparent)}
.page-hero h1{max-width:750px}.page-hero .lead{max-width:610px}.breadcrumbs{display:inline-flex;padding:7px 11px;border-radius:99px;background:rgba(255,255,255,.48);border:1px solid rgba(107,17,42,.08);backdrop-filter:blur(10px);color:#6e5d57}
.page-hero-media{height:390px;object-fit:cover;border-radius:44% 56% 50% 50% / 52% 42% 58% 48%;border:8px solid rgba(255,255,255,.48);box-shadow:0 30px 80px rgba(71,36,25,.20);transform:rotate(1.2deg)}
.page-hero:hover .page-hero-media{transform:rotate(0deg) scale(1.015)}

/* Accessible maroon sections */
main>.section:nth-of-type(even),main>.section-sm:nth-of-type(even){background:linear-gradient(145deg,var(--maroon-accessible),var(--deep-burgundy))}
main>.section:nth-of-type(even) h1,main>.section:nth-of-type(even) h2,main>.section:nth-of-type(even) h3,main>.section:nth-of-type(even) h4,main>.section-sm:nth-of-type(even) h1,main>.section-sm:nth-of-type(even) h2,main>.section-sm:nth-of-type(even) h3,main>.section-sm:nth-of-type(even) h4{color:#fff}
main>.section:nth-of-type(even) p,main>.section-sm:nth-of-type(even) p{color:rgba(255,255,255,.85)}
main>.section:nth-of-type(even)>.container>.btn,main>.section-sm:nth-of-type(even)>.container>.btn,main>.section:nth-of-type(even) .actions>.btn,main>.section-sm:nth-of-type(even) .actions>.btn{background:var(--cream-button);color:var(--wine)}

/* Typography refinements */
.product-card h3,.service-card h3,.quote-card h3,.image-card h3{font-weight:600;letter-spacing:-.035em;line-height:1.2}.product-card p,.service-card p{line-height:1.65}

/* New custom cursor: dot + independently eased ring */
.premium-cursor{width:34px;height:34px;border:1px solid rgba(107,17,42,.52);background:transparent;mix-blend-mode:multiply;transition:width .22s ease,height .22s ease,background .22s ease,border-color .22s ease,opacity .22s ease!important}
.cursor-dot{width:4px;height:4px;background:var(--wine)}
.premium-cursor.cursor-button{width:22px;height:22px;background:rgba(107,17,42,.06);border-color:rgba(107,17,42,.36)}
.premium-cursor.cursor-card{width:64px;height:64px;border-color:rgba(107,17,42,.30)}
.premium-cursor.is-image{width:78px;height:78px;background:rgba(107,17,42,.14);border-color:rgba(107,17,42,.18);backdrop-filter:blur(2px)}
.premium-cursor.has-label{width:72px;height:72px}

@media(max-width:900px){.page-hero{padding:90px 0}.page-hero .container{grid-template-columns:1fr;gap:34px}.page-hero-media{height:330px;width:100%;border-radius:28px;transform:none}.page-hero:after{width:220px;height:220px;right:-90px;top:10%}.image-card .overlay{padding:17px}}
@media(max-width:700px){.page-hero{padding:72px 0}.page-hero .container>div:first-child{padding:0}.page-hero-media{height:280px}.newsletter-card{padding:34px 22px}.newsletter-card .grid-2{grid-template-columns:1fr}.image-card{min-height:340px}.image-card .overlay{inset:auto 10px 10px}.pricing-card:hover{transform:none!important}}


/* ===== Brand-consistent final polish — structure preserved ===== */
:root{
  --brand-maroon:#3b0b14;
  --brand-maroon-rgb:116,19,35;
  --brand-burgundy:#2b0810;
  --brand-burgundy-deep:#1d050a;
  --wine:var(--brand-maroon);
  --wine2:var(--brand-burgundy);
  --maroon-accessible:var(--brand-maroon);
  --deep-burgundy:var(--brand-burgundy);
  --brand-gold:#c8a96b;
}
html{scrollbar-gutter:stable}
body{font-family:'Google Sans Flex','Google Sans','Helvetica Neue',Arial,sans-serif;background:var(--cream);color:#1d1d1d}
p,.muted{color:#4a4a4a}
h1,h2,h3,h4,.price,.stat-card strong,.glass-stat strong,.quote-card blockquote,.brand-text strong{font-family:'Google Sans Flex','Google Sans','Helvetica Neue',Arial,sans-serif}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.035em}
.eyebrow,.badge,.image-card .overlay:before{color:var(--brand-gold)}
.progress{background:linear-gradient(90deg,var(--brand-maroon),var(--brand-gold))}
.btn-primary{background:var(--brand-maroon);color:#fff;box-shadow:0 12px 30px rgba(var(--brand-maroon-rgb),.22)}
.btn-primary:hover{background:var(--brand-burgundy);color:#fff;box-shadow:0 16px 38px rgba(var(--brand-maroon-rgb),.28)}
.nav a:after,.field:after,.timeline-item:before{background:var(--brand-maroon)}
.icon,.price{color:var(--brand-maroon)}

/* Contrast system */
.section:not(.maroon-section),.section-sm:not(.maroon-section),.soft-panel,.card,.page-hero{--local-heading:#1d1d1d;--local-copy:#4a4a4a}
.section:not(.maroon-section) h1,.section:not(.maroon-section) h2,.section:not(.maroon-section) h3,.section:not(.maroon-section) h4,.section-sm:not(.maroon-section) h1,.section-sm:not(.maroon-section) h2,.section-sm:not(.maroon-section) h3,.section-sm:not(.maroon-section) h4,.page-hero h1,.page-hero h2,.page-hero h3{color:var(--local-heading)}
.section:not(.maroon-section) p,.section-sm:not(.maroon-section) p,.page-hero p{color:var(--local-copy)}
main>.section:nth-of-type(even),main>.section-sm:nth-of-type(even),.maroon-section,.newsletter-card{background-color:var(--brand-maroon);background-image:linear-gradient(145deg,var(--brand-maroon),var(--brand-burgundy))}
main>.section:nth-of-type(even) h1,main>.section:nth-of-type(even) h2,main>.section:nth-of-type(even) h3,main>.section:nth-of-type(even) h4,main>.section-sm:nth-of-type(even) h1,main>.section-sm:nth-of-type(even) h2,main>.section-sm:nth-of-type(even) h3,main>.section-sm:nth-of-type(even) h4,.maroon-section h1,.maroon-section h2,.maroon-section h3,.maroon-section h4,.newsletter-card h1,.newsletter-card h2,.newsletter-card h3{color:#fff!important}
main>.section:nth-of-type(even) p,main>.section-sm:nth-of-type(even) p,.maroon-section p,.newsletter-card p{color:rgba(255,255,255,.88)!important}
main>.section:nth-of-type(even) .eyebrow,main>.section-sm:nth-of-type(even) .eyebrow,.maroon-section .eyebrow,.newsletter-card .eyebrow{color:var(--brand-gold)!important}
main>.section:nth-of-type(even) .btn-primary,main>.section-sm:nth-of-type(even) .btn-primary,.maroon-section .btn-primary,.newsletter-card .btn{background:#fff7eb;color:var(--brand-maroon);border-color:transparent}
main>.section:nth-of-type(even) .btn-primary:hover,main>.section-sm:nth-of-type(even) .btn-primary:hover,.maroon-section .btn-primary:hover,.newsletter-card .btn:hover{background:#fff;color:var(--brand-maroon);box-shadow:0 16px 38px rgba(0,0,0,.18)}

/* Cards remain anchored: image zoom, line, glass brightness and shadow only */
.card,.image-card,.product-card,.masonry-item,.service-card,.pricing-card,.quote-card,.feature-box,.tilt{
  transform:none!important;animation:none!important;will-change:auto;
  transition:box-shadow .42s ease,border-color .42s ease,background-color .42s ease,opacity .3s ease!important;
}
.card:hover,.image-card:hover,.product-card:hover,.masonry-item:hover,.service-card:hover,.pricing-card:hover,.quote-card:hover,.feature-box:hover,.tilt:hover{transform:none!important}
.image-card,.product-card,.masonry-item{overflow:hidden}
.image-card img,.product-card img,.masonry-item img{transition:transform .75s cubic-bezier(.2,.75,.25,1),filter .45s ease!important;will-change:transform}
.image-card:hover img,.product-card:hover img,.masonry-item:hover img{transform:scale(1.08)!important}
.image-card:before,.product-card:before{background:var(--brand-maroon)!important;height:2px;transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.75,.25,1)}
.image-card:hover:before,.product-card:hover:before{transform:scaleX(1)}
.image-card:hover,.product-card:hover{box-shadow:0 24px 62px rgba(36,24,20,.16)!important}
.image-card .overlay{background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(255,250,244,.58));border:1px solid rgba(255,255,255,.7);box-shadow:0 14px 38px rgba(35,22,18,.13)}
.image-card:hover .overlay{background:linear-gradient(145deg,rgba(255,255,255,.91),rgba(255,250,244,.75));box-shadow:0 18px 44px rgba(35,22,18,.16)}
.image-card .overlay h3,.product-card h3{font-weight:600;line-height:1.2;letter-spacing:-.025em}
.image-card .overlay span{color:var(--brand-maroon)}
.image-card .overlay span:after{background:rgba(var(--brand-maroon-rgb),.09)}
.image-card:hover .overlay span:after{background:var(--brand-maroon);color:#fff;transform:none}

/* Uniform minimal floating-line forms */
.field,.newsletter-inline{position:relative}
.field input,.field textarea,.field select,.newsletter-inline input,.auth-form input,.checkout-form input,.checkout-form textarea,.checkout-form select{
  border:0!important;border-bottom:1px solid rgba(29,29,29,.20)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;
}
.field:before{background:rgba(29,29,29,.20)}
.field:after{background:var(--brand-maroon);height:1.5px;transform-origin:center}
.field:is(.is-focused,:focus-within):after{transform:scaleX(1)}
.field label{color:#6b625e}
.field:is(.is-focused,.is-filled,:focus-within) label,.field:has(select) label{color:var(--brand-maroon)}
.newsletter-card .field:before{background:rgba(255,255,255,.40)}
.newsletter-card .field:after{background:#fff}
.newsletter-card .field input{color:#fff!important;border-bottom-color:rgba(255,255,255,.38)!important}
.newsletter-card .field label{color:rgba(255,255,255,.82)}

/* Premium editorial inner-page heroes — same DOM and dimensions, richer composition */
.page-hero{min-height:auto;padding:120px 0!important;display:grid;align-items:center;isolation:isolate;background:linear-gradient(135deg,#fffaf2 0%,#f2e4d8 52%,#ead5ce 100%)}
.page-hero:before{opacity:.12;mix-blend-mode:multiply}
.page-hero:after{border-color:rgba(var(--brand-maroon-rgb),.18);box-shadow:inset 0 0 90px rgba(255,255,255,.52),0 0 90px rgba(var(--brand-maroon-rgb),.08)}
.page-hero .container{align-items:center;min-height:430px}
.page-hero .container>div:first-child{padding:0;z-index:2}
.page-hero .container>div:first-child:after{background:linear-gradient(90deg,var(--brand-maroon),var(--brand-gold),transparent);height:2px;animation:dividerReveal 1.15s cubic-bezier(.2,.75,.25,1) both}
.page-hero h1{font-size:clamp(2.9rem,5.7vw,6rem);line-height:.98;max-width:720px}
.page-hero .lead{font-size:1.05rem;line-height:1.75}
.breadcrumbs{background:rgba(255,255,255,.58);border-color:rgba(var(--brand-maroon-rgb),.10);box-shadow:0 10px 30px rgba(51,31,25,.06)}
.page-hero-media{height:410px;filter:saturate(.88) contrast(1.04) sepia(.06);border-color:rgba(255,255,255,.62);box-shadow:0 36px 90px rgba(67,31,26,.22);animation:heroFloat 7s ease-in-out infinite;object-position:center}
.page-hero:hover .page-hero-media{transform:rotate(.4deg) scale(1.012)}
@keyframes dividerReveal{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
@keyframes heroFloat{0%,100%{transform:translate3d(0,0,0) rotate(.5deg)}50%{transform:translate3d(0,-4px,0) rotate(0deg)}}
/* Unique page moods without changing layout */
.page-albums .page-hero{background:radial-gradient(circle at 78% 28%,rgba(var(--brand-maroon-rgb),.16),transparent 28%),linear-gradient(135deg,#fffaf2,#eeddd2)}
.page-collections .page-hero{background:radial-gradient(circle at 16% 70%,rgba(200,169,107,.24),transparent 30%),linear-gradient(135deg,#fdf7ee,#e7d1cb)}
.page-pricing .page-hero{background:radial-gradient(circle at 82% 18%,rgba(var(--brand-maroon-rgb),.18),transparent 30%),linear-gradient(135deg,#fffaf3,#eee0d5)}
.page-portfolio .page-hero{background:radial-gradient(circle at 12% 20%,rgba(200,169,107,.24),transparent 28%),linear-gradient(135deg,#fffdf8,#e8d9cf)}
.page-services .page-hero{background:radial-gradient(circle at 82% 72%,rgba(var(--brand-maroon-rgb),.15),transparent 30%),linear-gradient(135deg,#fffaf2,#ead7cf)}
.page-gallery .page-hero{background:radial-gradient(circle at 20% 78%,rgba(var(--brand-maroon-rgb),.12),transparent 32%),linear-gradient(135deg,#fdf7ef,#e9d9cf)}
.page-blog .page-hero{background:radial-gradient(circle at 82% 24%,rgba(200,169,107,.22),transparent 30%),linear-gradient(135deg,#fffaf2,#ebded4)}
.page-about .page-hero{background:radial-gradient(circle at 16% 24%,rgba(var(--brand-maroon-rgb),.13),transparent 31%),linear-gradient(135deg,#fff9f0,#e8d5cd)}
.page-contact .page-hero{background:radial-gradient(circle at 86% 70%,rgba(var(--brand-maroon-rgb),.16),transparent 28%),linear-gradient(135deg,#fffaf4,#ead8cf)}

/* Newsletter legibility and depth */
.newsletter-card{background:linear-gradient(132deg,var(--brand-maroon) 0%,var(--brand-burgundy) 62%,var(--brand-burgundy-deep) 100%)!important;box-shadow:0 34px 90px rgba(var(--brand-maroon-rgb),.30)}
.newsletter-card h2{color:#fff!important;text-shadow:0 2px 20px rgba(0,0,0,.16)}
.newsletter-card p{color:rgba(255,255,255,.90)!important}
.newsletter-card:before{background:radial-gradient(circle,rgba(255,241,211,.30),transparent 68%)}

/* Pricing remains grounded */
.pricing-card:hover{transform:scale(1.02)!important}
.pricing-card:after{background:linear-gradient(90deg,var(--brand-maroon),var(--brand-gold))}

/* Lean Awwwards-style cursor */
.has-custom-cursor,.has-custom-cursor a,.has-custom-cursor button,.has-custom-cursor input,.has-custom-cursor textarea,.has-custom-cursor select{cursor:none!important}
.premium-cursor{position:fixed;top:0;left:0;width:34px;height:34px;border:1px solid rgba(var(--brand-maroon-rgb),.50);border-radius:50%;background:transparent;pointer-events:none;z-index:10050;transform:translate(-50%,-50%);mix-blend-mode:multiply;transition:width .18s ease,height .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease!important;display:grid;place-items:center}
.cursor-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--brand-maroon);transition:transform .18s ease,opacity .18s ease}
.premium-cursor.cursor-button{width:20px;height:20px;background:rgba(var(--brand-maroon-rgb),.04);border-color:rgba(var(--brand-maroon-rgb),.34)}
.premium-cursor.cursor-card{width:58px;height:58px;border-color:rgba(var(--brand-maroon-rgb),.28)}
.premium-cursor.is-image{width:74px;height:74px;background:rgba(var(--brand-maroon-rgb),.12);border-color:rgba(var(--brand-maroon-rgb),.18);backdrop-filter:blur(1px)}
.premium-cursor.has-label:after{display:none}

/* Responsive audit */
@media(max-width:1100px){.page-hero .container{min-height:390px}.page-hero-media{height:370px}.nav{gap:15px}.nav-wrap{grid-template-columns:205px 1fr auto}}
@media(max-width:900px){.page-hero{padding:92px 0!important}.page-hero .container{min-height:0}.page-hero-media{height:340px;animation:none}.page-hero:hover .page-hero-media{transform:none}}
@media(max-width:700px){.page-hero{padding:72px 0!important}.page-hero h1{font-size:clamp(2.55rem,12vw,4.2rem)}.page-hero-media{height:285px}.section{padding:72px 0}.section-sm{padding:52px 0}.card:hover,.image-card:hover,.product-card:hover,.masonry-item:hover,.service-card:hover,.pricing-card:hover,.quote-card:hover,.feature-box:hover{transform:none!important}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.premium-cursor{display:none!important}.has-custom-cursor,.has-custom-cursor *{cursor:auto!important}.page-hero-media{animation:none}.image-card img,.product-card img,.masonry-item img{transition:none!important}}

/* ===== Readability & restraint audit — 2026-07-30 ===== */
:root{
  --brand-maroon:#3b0b14;
  --brand-maroon-rgb:59,11,20;
  --brand-burgundy:#2b0810;
  --brand-burgundy-deep:#1d050a;
  --wine:#3b0b14;
  --wine2:#2b0810;
  --maroon-accessible:#3b0b14;
  --deep-burgundy:#2b0810;
  --cream:#f8f3ec;
  --ivory:#fffdf9;
  --ink:#1f1a17;
  --muted:#555;
  --gold:#d4af6a;
  --brand-gold:#d4af6a;
}

/* Core legibility */
body{color:var(--ink);font-size:16px;line-height:1.7}
p,.muted{color:#555;line-height:1.72}
h1,h2,h3,h4{font-weight:750;color:var(--ink);text-wrap:balance}
.section h2{margin-bottom:24px}.section h3{line-height:1.18}
a,button,input,select,textarea{font-family:inherit}
:focus-visible{outline:3px solid rgba(212,175,106,.72);outline-offset:4px;border-radius:8px}

/* Navbar always readable */
.site-header{background:rgba(248,243,236,.88);border-bottom:1px solid rgba(59,11,20,.10);box-shadow:0 8px 28px rgba(31,26,23,.05);transition:background .3s ease,box-shadow .3s ease,border-color .3s ease}
.site-header.is-scrolled{background:rgba(255,253,249,.94);box-shadow:0 12px 36px rgba(31,26,23,.10);border-color:rgba(59,11,20,.14)}
.nav a,.nav-actions a{color:#261d1b;font-weight:550;text-shadow:none}
.nav a:hover,.nav a.active{color:var(--brand-maroon)}
.nav a:after{height:2px;background:var(--brand-maroon);bottom:-7px}
.brand-text strong,.brand-text small{color:#241b19}

/* Hero depth, without DOM/layout changes */
.hero{background-image:linear-gradient(105deg,rgba(18,8,10,.90) 0%,rgba(24,9,13,.68) 48%,rgba(20,8,10,.34) 100%),url('https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=2200&q=92')}
.hero-copy h1{color:#fff;text-shadow:0 5px 34px rgba(0,0,0,.34)}
.hero-copy p{color:rgba(255,255,255,.88)}
.page-hero{padding:120px 0!important}
.page-hero .container{align-items:center}
.page-hero h1{color:#1f1a17!important;text-shadow:0 2px 18px rgba(255,255,255,.42)}
.page-hero .lead{color:#4a403c!important}
.page-hero-media{animation:none!important;transition:transform .35s ease,filter .35s ease,box-shadow .35s ease!important}
.page-hero:hover .page-hero-media{transform:scale(1.01)!important}

/* IMPORTANT: light cards inside maroon sections keep dark text */
main>.section:nth-of-type(even) .card,
main>.section-sm:nth-of-type(even) .card,
.maroon-section .card,
main>.section:nth-of-type(even) .service-card,
main>.section-sm:nth-of-type(even) .service-card,
.maroon-section .service-card,
main>.section:nth-of-type(even) .pricing-card,
main>.section-sm:nth-of-type(even) .pricing-card,
.maroon-section .pricing-card,
main>.section:nth-of-type(even) .quote-card,
.maroon-section .quote-card,
main>.section:nth-of-type(even) .form-card,
.maroon-section .form-card,
main>.section:nth-of-type(even) .image-card .overlay,
.maroon-section .image-card .overlay{
  color:var(--ink);
}
main>.section:nth-of-type(even) .card h1,main>.section:nth-of-type(even) .card h2,main>.section:nth-of-type(even) .card h3,main>.section:nth-of-type(even) .card h4,
main>.section-sm:nth-of-type(even) .card h1,main>.section-sm:nth-of-type(even) .card h2,main>.section-sm:nth-of-type(even) .card h3,main>.section-sm:nth-of-type(even) .card h4,
.maroon-section .card h1,.maroon-section .card h2,.maroon-section .card h3,.maroon-section .card h4,
.maroon-section .service-card h3,.maroon-section .pricing-card h3,.maroon-section .quote-card h3,
main>.section:nth-of-type(even) .service-card h3,main>.section:nth-of-type(even) .pricing-card h3,main>.section:nth-of-type(even) .quote-card h3,
main>.section:nth-of-type(even) .image-card .overlay h3,.maroon-section .image-card .overlay h3{
  color:#221b19!important;
}
main>.section:nth-of-type(even) .card p,main>.section-sm:nth-of-type(even) .card p,.maroon-section .card p,
main>.section:nth-of-type(even) .service-card p,.maroon-section .service-card p,
main>.section:nth-of-type(even) .pricing-card p,.maroon-section .pricing-card p,
main>.section:nth-of-type(even) .quote-card p,.maroon-section .quote-card p,
main>.section:nth-of-type(even) .image-card .overlay p,.maroon-section .image-card .overlay p{
  color:#5a514d!important;
}

/* Service cards: anchored and readable */
.service-card,.feature-box{background:rgba(255,253,249,.96);border:1px solid rgba(59,11,20,.10);box-shadow:0 16px 42px rgba(31,26,23,.08)}
.service-card h3,.feature-box h3{color:#211a18!important;font-weight:700}
.service-card p,.feature-box p{color:#5b524e!important}
.service-card .icon,.service-card .number,.feature-box .icon{color:var(--brand-maroon);opacity:1}
.service-card:hover,.feature-box:hover{transform:none!important;border-color:rgba(59,11,20,.32);box-shadow:0 20px 50px rgba(31,26,23,.13)!important}

/* Portfolio/masonry: fixed cards, readable bottom caption */
.masonry-item{position:relative;transform:none!important;box-shadow:0 12px 34px rgba(23,16,14,.10);transition:box-shadow .3s ease,border-color .3s ease!important;border:1px solid rgba(255,255,255,.08)}
.masonry-item:before{content:'';position:absolute;inset:auto 0 0;height:58%;background:linear-gradient(to top,rgba(17,7,9,.88),rgba(17,7,9,.35) 58%,transparent);z-index:1;pointer-events:none;transition:opacity .3s ease}
.masonry-item:after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--brand-maroon);transform:scaleX(0);transform-origin:left;z-index:3;transition:transform .3s ease-in-out}
.masonry-item:hover:after{transform:scaleX(1)}
.masonry-item:hover{transform:none!important;box-shadow:0 18px 46px rgba(18,8,10,.24)!important}
.masonry-item img{transition:transform .32s ease-in-out!important}
.masonry-item:hover img{transform:scale(1.07)!important}
.masonry-caption{inset:auto 18px 16px;z-index:2;opacity:1!important;transform:none!important;background:transparent!important;backdrop-filter:none!important;padding:0!important;color:#fff;box-shadow:none!important}
.masonry-caption h3,.masonry-caption strong{color:#fff!important;font-weight:750;text-shadow:0 2px 14px rgba(0,0,0,.45);margin-bottom:4px}
.masonry-caption p,.masonry-caption span{color:rgba(255,255,255,.88)!important;font-weight:550;text-shadow:0 2px 10px rgba(0,0,0,.38)}

/* Image cards: no jump */
.image-card,.product-card{transform:none!important;transition:box-shadow .3s ease-in-out,border-color .3s ease-in-out!important}
.image-card:hover,.product-card:hover{transform:none!important}
.image-card img,.product-card img{transition:transform .32s ease-in-out!important}
.image-card:hover img,.product-card:hover img{transform:scale(1.07)!important}
.image-card:before,.product-card:before{z-index:5;transition:transform .3s ease-in-out!important}

/* Pricing: no zero gravity */
.pricing-card{animation:none!important;transform:none!important;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out,border-color .3s ease-in-out,background .3s ease-in-out!important}
.pricing-card:hover{transform:scale(1.02)!important;box-shadow:0 26px 66px rgba(31,18,18,.16)!important;border-color:rgba(59,11,20,.30)}

/* Philosophy / dark panels */
.dark-panel{background:#171311;color:#fff}
.dark-panel h1,.dark-panel h2,.dark-panel h3,.dark-panel h4{color:#fff!important}
.dark-panel p{color:rgba(255,255,255,.84)!important}
.split-panel h2{margin-bottom:30px;line-height:1.08}
.split-panel p{line-height:1.75}
.soft-panel h1,.soft-panel h2,.soft-panel h3,.soft-panel h4{color:#211a18!important}
.soft-panel p,.soft-panel li{color:#4f4743!important}

/* Forms: always visible labels, center-out underline */
.form-card{background:rgba(255,253,249,.96);color:var(--ink)}
.form-card h1,.form-card h2,.form-card h3{color:#211a18!important}
.form-card p{color:#625954!important}
.field{position:relative;padding-top:21px}
.field input,.field textarea,.field select,.newsletter-inline input,.auth-form input,.checkout-form input,.checkout-form textarea,.checkout-form select{
 color:#211a18!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(31,26,23,.28)!important;border-radius:0!important;padding:13px 2px 12px!important;box-shadow:none!important;
}
.field textarea{min-height:120px}
.field label{position:absolute;left:2px;top:0!important;transform:none!important;color:#453d39!important;font-size:.78rem!important;font-weight:650!important;letter-spacing:.01em;background:transparent!important;padding:0!important;opacity:1!important}
.field:before{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(31,26,23,.20)}
.field:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brand-maroon);transform:scaleX(0);transform-origin:center;transition:transform .3s ease-in-out}
.field:focus-within:after{transform:scaleX(1)}
.field input::placeholder,.field textarea::placeholder{color:#8b817c;opacity:.72}
.field select{color:#302825!important}
.form-card .btn{margin-top:8px}

/* Newsletter */
.newsletter-card{background:linear-gradient(132deg,#3b0b14 0%,#2b0810 65%,#1d050a 100%)!important;color:#fff;box-shadow:0 34px 90px rgba(38,8,15,.38)}
.newsletter-card h1,.newsletter-card h2,.newsletter-card h3{color:#fff!important;font-weight:780;text-shadow:0 4px 26px rgba(0,0,0,.25)}
.newsletter-card p{color:rgba(255,255,255,.90)!important}
.newsletter-card input{color:#fff!important;border-bottom-color:rgba(255,255,255,.52)!important}
.newsletter-card input::placeholder{color:rgba(255,255,255,.75)}
.newsletter-card .field label{color:rgba(255,255,255,.90)!important}
.newsletter-card .field:before{background:rgba(255,255,255,.35)}
.newsletter-card .field:after{background:#fff}
.newsletter-card .btn{background:#f8f3ec!important;color:#3b0b14!important;font-weight:700}
.newsletter-card .btn:hover{background:#fff!important;box-shadow:0 16px 38px rgba(0,0,0,.20)}

/* Buttons */
.btn{transition:background-color .3s ease-in-out,color .3s ease-in-out,box-shadow .3s ease-in-out,border-color .3s ease-in-out,transform .3s ease-in-out!important}
.btn:hover{transform:translateY(-2px)!important}
.btn:active{transform:translateY(0)!important;box-shadow:none!important}
.btn-primary{background:#3b0b14;color:#fff}
.btn-primary:hover{background:#2b0810;color:#fff}

/* Subtle custom cursor */
.premium-cursor{width:30px;height:30px;border-color:rgba(59,11,20,.48);background:rgba(59,11,20,.02);box-shadow:0 0 22px rgba(59,11,20,.08);transition:width .22s ease,height .22s ease,background-color .22s ease,border-color .22s ease,opacity .22s ease!important}
.cursor-dot{width:3px;height:3px;background:#3b0b14}
.premium-cursor.cursor-button{width:22px;height:22px;background:rgba(59,11,20,.05)}
.premium-cursor.cursor-card,.premium-cursor.is-image{width:52px;height:52px;background:rgba(59,11,20,.08);border-color:rgba(59,11,20,.25);backdrop-filter:blur(1px)}

/* Global restrained motion */
.card,.service-card,.feature-box,.quote-card,.image-card,.product-card,.masonry-item,.pricing-card{animation:none!important}
.card:hover,.service-card:hover,.feature-box:hover,.quote-card:hover,.image-card:hover,.product-card:hover,.masonry-item:hover{transform:none!important}

/* Responsive */
@media(max-width:900px){.page-hero{padding:92px 0!important}.nav{color:#211a18}.masonry{columns:2}.form-grid{grid-template-columns:1fr}}
@media(max-width:700px){body{font-size:16px}.page-hero{padding:76px 0!important}.masonry{columns:1}.section{padding:68px 0}.section-sm{padding:48px 0}.newsletter-card h2{font-size:clamp(2rem,10vw,3.1rem)}.btn:hover{transform:none!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ===== Final contrast + control polish — requested 2026-07-30 ===== */
:root{
  --brand-maroon:#3b0b14;
  --brand-maroon-rgb:59,11,20;
  --cream:#f8f3ec;
  --ivory:#fffdf9;
}

/* All maroon controls use a cream keyline and readable cream copy */
.btn-primary,
.nav-actions .btn-primary,
.product-card .btn-primary,
.masonry-item .btn-primary,
.newsletter-card .btn-primary,
.site-footer .btn-primary{
  background:#3b0b14!important;
  color:#f8f3ec!important;
  border:1px solid rgba(248,243,236,.82)!important;
  box-shadow:0 12px 30px rgba(59,11,20,.24);
  text-shadow:none!important;
}
.btn-primary:hover,
.nav-actions .btn-primary:hover,
.product-card .btn-primary:hover,
.masonry-item .btn-primary:hover,
.newsletter-card .btn-primary:hover,
.site-footer .btn-primary:hover{
  background:#26070d!important;
  color:#fffdf9!important;
  border-color:#fffdf9!important;
  box-shadow:0 16px 36px rgba(59,11,20,.34),0 0 0 4px rgba(248,243,236,.10)!important;
  transform:none!important;
}

/* Header CTA: force visible label in every state */
.site-header .nav-actions .btn,
.site-header .nav-actions .btn:visited{color:#f8f3ec!important}
.site-header .nav-actions .btn:hover{color:#fffdf9!important}

/* Cream/light controls should use brand maroon copy */
.btn-outline,
.filter-btn,
.badge,
.product-card-body,
.card,
.soft-panel,
.form-card{color:#3b0b14}
.btn-outline{background:#fffdf9;border-color:rgba(59,11,20,.20);color:#3b0b14!important}
.btn-outline:hover{background:#f8f3ec;color:#3b0b14!important;border-color:#3b0b14;box-shadow:0 12px 28px rgba(59,11,20,.14);transform:none!important}

/* Album / gallery filter buttons remain readable on maroon canvases */
main>.section:nth-of-type(even) .filter-btn,
.maroon-section .filter-btn,
.page-albums main .section .filter-btn,
.page-portfolio main .section .filter-btn,
.page-gallery main .section .filter-btn{
  color:#f8f3ec!important;
  border-color:rgba(248,243,236,.45)!important;
  background:rgba(248,243,236,.04)!important;
}
main>.section:nth-of-type(even) .filter-btn:hover,
.maroon-section .filter-btn:hover,
.page-albums main .section .filter-btn:hover,
.page-portfolio main .section .filter-btn:hover,
.page-gallery main .section .filter-btn:hover,
main>.section:nth-of-type(even) .filter-btn.active,
.maroon-section .filter-btn.active,
.page-albums main .section .filter-btn.active,
.page-portfolio main .section .filter-btn.active,
.page-gallery main .section .filter-btn.active{
  background:#f8f3ec!important;
  color:#3b0b14!important;
  border-color:#f8f3ec!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
}

/* Album/portfolio actions: fixed alignment + cream border + controlled glow beneath */
.product-card-body>div:last-child{gap:14px;align-items:center!important}
.product-card .btn-outline,
.masonry-item .btn,
.portfolio-card .btn{
  min-width:112px;
  border:1px solid #f8f3ec!important;
  background:#3b0b14!important;
  color:#f8f3ec!important;
  box-shadow:0 12px 24px rgba(59,11,20,.24),0 9px 22px rgba(212,175,106,.12)!important;
  position:relative;
  isolation:isolate;
}
.product-card .btn-outline:after,
.masonry-item .btn:after,
.portfolio-card .btn:after{
  content:'';
  position:absolute;
  left:18%;right:18%;bottom:-10px;height:16px;
  border-radius:50%;
  background:rgba(212,175,106,.22);
  filter:blur(12px);
  z-index:-1;
  opacity:.72;
  transition:opacity .3s ease,filter .3s ease;
}
.product-card .btn-outline:hover,
.masonry-item .btn:hover,
.portfolio-card .btn:hover{
  background:#26070d!important;
  color:#fffdf9!important;
  border-color:#fffdf9!important;
  box-shadow:0 15px 32px rgba(59,11,20,.34),0 12px 28px rgba(212,175,106,.17)!important;
  transform:none!important;
}
.product-card .btn-outline:hover:after,
.masonry-item .btn:hover:after,
.portfolio-card .btn:hover:after{opacity:1;filter:blur(14px)}

/* Newsletter follows the dark footer language */
.newsletter-card{
  background:linear-gradient(135deg,#3b0b14 0%,#26070d 72%,#170408 100%)!important;
  border:1px solid rgba(248,243,236,.18)!important;
  box-shadow:0 30px 76px rgba(59,11,20,.34),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.newsletter-card h2,.newsletter-card .eyebrow{color:#f8f3ec!important}
.newsletter-card p{color:rgba(248,243,236,.90)!important}
.newsletter-card .field label{color:#f8f3ec!important;background:transparent!important}
.newsletter-card .field input{color:#f8f3ec!important;border-bottom-color:rgba(248,243,236,.48)!important}
.newsletter-card .field input::placeholder{color:rgba(248,243,236,.66)!important}
.newsletter-card .field:after{background:#f8f3ec!important}
.newsletter-card .btn{
  background:#f8f3ec!important;
  color:#3b0b14!important;
  border:1px solid #f8f3ec!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22)!important;
}
.newsletter-card .btn:hover{background:#fffdf9!important;color:#3b0b14!important;box-shadow:0 18px 42px rgba(0,0,0,.28)!important}

/* Cursor automatically swaps to cream over maroon/dark surfaces */
.premium-cursor.cursor-on-dark{border-color:rgba(248,243,236,.74)!important;mix-blend-mode:normal!important}
.premium-cursor.cursor-on-dark .cursor-dot{background:#f8f3ec!important;box-shadow:0 0 12px rgba(248,243,236,.45)}
.premium-cursor.cursor-on-dark.cursor-card,
.premium-cursor.cursor-on-dark.is-image{background:rgba(248,243,236,.10)!important;border-color:rgba(248,243,236,.72)!important}
.premium-cursor.cursor-on-dark.cursor-button{background:rgba(248,243,236,.06)!important;border-color:rgba(248,243,236,.74)!important}

/* No button/card jump from magnetic cursor code */
.btn,.filter-btn,.product-card,.masonry-item,.card{translate:none!important}

@media(max-width:700px){
  .product-card-body>div:last-child{align-items:flex-start!important;flex-wrap:wrap}
  .product-card .btn-outline{min-width:0}
}

/* ===== Precision refinements requested 2026-07-30 20:48 ===== */
/* 1) Feature bridge sits between hero and collection on cream, without a maroon band */
.page-home .feature-bridge,
body:not([class]) .feature-bridge,
.feature-bridge{
  background:#f8f3ec!important;
  background-image:none!important;
  color:#1f1a17!important;
  margin-top:0!important;
  padding:56px 0!important;
  overflow:visible!important;
}
.feature-bridge:before{display:none!important}
.feature-bridge .feature-box{
  background:#fffdf9!important;
  border:1px solid rgba(59,11,20,.10)!important;
  box-shadow:0 14px 36px rgba(59,11,20,.09)!important;
}
.feature-bridge .feature-box strong{color:#1f1a17!important}
.feature-bridge .feature-box p{color:#555!important}
.feature-bridge .feature-box .icon{color:#3b0b14!important;background:#f8f3ec!important}

/* 2) Gold micro-copy becomes brand maroon on light surfaces; cream on dark surfaces */
.eyebrow,.badge,.image-card .overlay:before,.product-card .badge,.breadcrumbs,
.section:not(.feature-bridge) .eyebrow{color:#3b0b14!important}
.hero .eyebrow,.page-hero .eyebrow,.newsletter-card .eyebrow,.site-footer .eyebrow,
.maroon-section .eyebrow,.dark-panel .eyebrow,
main>.section:nth-of-type(even):not(.feature-bridge)>.container>.eyebrow,
main>.section:nth-of-type(even):not(.feature-bridge) .eyebrow{
  color:#f8f3ec!important;
}

/* 3) Pre-footer newsletter uses the compact footer-style pill */
.newsletter-card .newsletter-compact{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center;
  gap:4px!important;
  max-width:560px;
  margin-left:auto;
  padding:5px;
  border:1px solid rgba(248,243,236,.36);
  border-radius:999px;
  background:rgba(10,5,6,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 34px rgba(0,0,0,.16);
}
.newsletter-card .newsletter-compact .field{flex:1;padding:0!important;min-width:0}
.newsletter-card .newsletter-compact .field label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.newsletter-card .newsletter-compact .field:before,
.newsletter-card .newsletter-compact .field:after{display:none!important}
.newsletter-card .newsletter-compact input{
  border:0!important;
  padding:14px 18px!important;
  min-width:0;
  color:#f8f3ec!important;
}
.newsletter-card .newsletter-compact input::placeholder{color:rgba(248,243,236,.68)!important}
.newsletter-card .newsletter-compact .btn{
  flex:0 0 auto;
  min-width:132px;
  border-radius:999px!important;
  padding:13px 24px!important;
  margin:0!important;
}

/* 4) Portfolio spacing tightened without changing masonry structure */
.page-portfolio main>.section{padding-top:76px!important;padding-bottom:76px!important}
.page-portfolio .filter-bar{margin:18px 0 28px!important}
.page-portfolio .masonry{column-gap:16px!important}
.page-portfolio .masonry-item{margin-bottom:16px!important}
.page-portfolio .masonry-item img{display:block}
.page-portfolio .masonry+div[style]{margin-top:22px!important}

/* 5) Contact page: both information panels stay cream; no black card */
.page-contact main>.section{background:#3b0b14!important;background-image:none!important}
.page-contact .form-card,
.page-contact .dark-panel,
.page-contact main>.section .card{
  background:#f8f3ec!important;
  color:#1f1a17!important;
  border:1px solid rgba(248,243,236,.48)!important;
  box-shadow:0 22px 56px rgba(18,4,8,.22)!important;
}
.page-contact .dark-panel h1,.page-contact .dark-panel h2,.page-contact .dark-panel h3,.page-contact .dark-panel h4,
.page-contact .dark-panel strong{color:#1f1a17!important}
.page-contact .dark-panel p,.page-contact .dark-panel a{color:#555!important}
.page-contact iframe{display:block}

/* Message field: only one resting underline, slower center-out focus line */
.page-contact .field textarea{border-bottom:0!important}
.page-contact .field:after{transition:transform .7s cubic-bezier(.22,.61,.36,1)!important}
.page-contact .field:before{height:1px;background:rgba(31,26,23,.24)!important}
.page-contact .field textarea+*{border-top:0!important}

/* Footer inline form remains exactly the compact pill language */
.site-footer .newsletter-inline{background:rgba(255,255,255,.015);border-color:rgba(248,243,236,.30)}
.site-footer .newsletter-inline .btn{border-color:#f8f3ec!important;box-shadow:none!important}

@media(max-width:900px){
  .feature-bridge{padding:44px 0!important}
  .newsletter-card .newsletter-compact{margin-left:0;max-width:none}
  .page-portfolio main>.section{padding-top:62px!important;padding-bottom:62px!important}
}
@media(max-width:700px){
  .feature-bridge{padding:36px 0!important}
  .newsletter-card .newsletter-compact{display:flex!important;flex-direction:row!important}
  .newsletter-card .newsletter-compact .btn{min-width:104px;padding-inline:16px!important}
  .page-contact main>.section{padding-top:58px!important;padding-bottom:58px!important}
  .page-portfolio main>.section{padding-top:52px!important;padding-bottom:52px!important}
}

/* =========================================================
   Final contact dropdown + portfolio density refinement
   ========================================================= */
.page-contact .dark-panel,
.page-contact .dark-panel *{
  color:#1f1a17!important;
}
.page-contact .dark-panel h3{
  color:#3b0b14!important;
  font-weight:800!important;
  letter-spacing:-.025em;
  margin-bottom:24px!important;
}
.page-contact .dark-panel p{
  color:#555!important;
  line-height:1.7!important;
}
.page-contact .dark-panel strong{
  color:#1f1a17!important;
  font-weight:750!important;
}

/* Keep the real select available to forms/validation while replacing its UI. */
.field.has-custom-select > select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.custom-select{
  position:relative;
  width:100%;
  z-index:5;
}
.custom-select-trigger{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 2px 12px;
  border:0;
  border-bottom:1px solid rgba(31,26,23,.30);
  border-radius:0;
  background:transparent;
  color:#1f1a17;
  font:inherit;
  font-size:1rem;
  text-align:left;
  cursor:pointer;
  transition:color .3s ease,border-color .3s ease;
}
.custom-select-trigger::after{
  content:'';
  width:9px;
  height:9px;
  border-right:1.5px solid #3b0b14;
  border-bottom:1.5px solid #3b0b14;
  transform:rotate(45deg) translateY(-3px);
  transition:transform .32s cubic-bezier(.22,.61,.36,1);
  flex:0 0 auto;
}
.custom-select.open .custom-select-trigger::after{
  transform:rotate(225deg) translate(-2px,-1px);
}
.custom-select-trigger::before{
  content:'';
  position:absolute;
  left:50%;
  right:50%;
  bottom:0;
  height:2px;
  background:#3b0b14;
  transition:left .55s cubic-bezier(.22,.61,.36,1),right .55s cubic-bezier(.22,.61,.36,1);
}
.custom-select.open .custom-select-trigger::before,
.custom-select-trigger:focus-visible::before{
  left:0;
  right:0;
}
.custom-select-trigger:focus-visible{
  outline:none;
  color:#3b0b14;
}
.custom-select-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 10px);
  margin:0;
  padding:8px;
  list-style:none;
  background:rgba(248,243,236,.97);
  border:1px solid rgba(59,11,20,.14);
  border-radius:16px;
  box-shadow:0 22px 54px rgba(26,6,10,.20),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px) scale(.985);
  transform-origin:top center;
  transition:opacity .28s ease,transform .28s cubic-bezier(.22,.61,.36,1),visibility .28s;
  max-height:280px;
  overflow:auto;
  z-index:100;
}
.custom-select.open .custom-select-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.custom-select-option{
  display:flex;
  align-items:center;
  min-height:42px;
  padding:10px 13px;
  border-radius:10px;
  color:#362f2c;
  font-size:.96rem;
  cursor:pointer;
  transition:background .25s ease,color .25s ease,padding-left .25s ease;
}
.custom-select-option:hover,
.custom-select-option[aria-selected="true"]{
  background:#3b0b14;
  color:#f8f3ec;
  padding-left:17px;
}
.custom-select-option.is-placeholder{
  color:#77706c;
}
.field.has-custom-select{overflow:visible!important}
.field.has-custom-select:before,
.field.has-custom-select:after{display:none!important}

/* True dense masonry: removes the large dead zones while keeping card order/content. */
.page-portfolio .masonry{
  columns:unset!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:8px;
  column-gap:14px!important;
  row-gap:0!important;
  align-items:start;
}
.page-portfolio .masonry-item{
  width:100%;
  margin:0!important;
  align-self:start;
}
.page-portfolio .masonry-item img{
  width:100%;
  height:auto;
}
.page-portfolio main>.section{
  padding-top:54px!important;
  padding-bottom:58px!important;
}
.page-portfolio .filter-bar{
  margin:8px 0 22px!important;
}
.page-portfolio .masonry+div[style]{
  margin-top:16px!important;
}

@media(max-width:900px){
  .page-portfolio .masonry{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .page-portfolio .masonry{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px!important}
  .page-portfolio .masonry-item{grid-row:auto!important}
  .custom-select-menu{max-height:240px}
}


/* 2026-07-30: refined inter-section rhythm and floating studio bridge */
.section{padding-top:104px!important;padding-bottom:104px!important}
.section-sm{padding-top:72px!important;padding-bottom:72px!important}

.studio-bridge{
  position:relative;
  z-index:8;
  padding:0!important;
  margin:-38px 0 70px;
}
.studio-bridge-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(440px,.95fr);
  align-items:center;
  gap:42px;
  min-height:210px;
  padding:34px 40px;
  border:1px solid rgba(59,11,20,.12);
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 15%,rgba(212,175,106,.18),transparent 26%),
    linear-gradient(120deg,rgba(255,255,255,.92),rgba(248,243,236,.80));
  box-shadow:0 26px 70px rgba(59,11,20,.12),0 2px 0 rgba(255,255,255,.7) inset;
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  overflow:hidden;
}
.studio-bridge-card:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(100deg,transparent 0 48%,rgba(255,255,255,.52) 58%,transparent 70%);
  transform:translateX(-110%);
  animation:studioSheen 9s ease-in-out infinite;
}
.studio-bridge-intro{position:relative;z-index:1;padding-right:12px}
.studio-bridge-label{
  display:block;
  margin-bottom:10px;
  color:#3b0b14;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.studio-bridge-intro h2{
  margin:0 0 10px!important;
  color:#1f1a17!important;
  font-size:clamp(1.65rem,2.6vw,2.55rem)!important;
  line-height:1.08!important;
  letter-spacing:-.045em;
}
.studio-bridge-intro p{margin:0;color:#555!important;max-width:680px;line-height:1.7}
.studio-bridge-stats{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-left:1px solid rgba(59,11,20,.12);
}
.studio-stat{min-height:126px;padding:12px 24px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(59,11,20,.10)}
.studio-stat:last-child{border-right:0}
.studio-stat-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;margin-bottom:10px;background:rgba(59,11,20,.06);color:#3b0b14;font-size:.9rem}
.studio-stat strong{display:block;color:#3b0b14;font-size:1.85rem;line-height:1;font-weight:750;letter-spacing:-.04em}
.studio-stat small{display:block;margin-top:7px;color:#666;font-size:.72rem;line-height:1.35}
@keyframes studioSheen{0%,72%,100%{transform:translateX(-110%)}86%{transform:translateX(115%)}}

.pre-footer-cream{
  position:relative;
  min-height:76px;
  background:#f8f3ec;
  border-top:1px solid rgba(59,11,20,.08);
}
.pre-footer-cream .container{height:76px;display:flex;align-items:center}
.pre-footer-line{display:block;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(59,11,20,.16),transparent)}

@media(max-width:1100px){
  .studio-bridge-card{grid-template-columns:1fr;gap:24px;padding:30px}
  .studio-bridge-stats{border-left:0;border-top:1px solid rgba(59,11,20,.12);padding-top:18px}
  .studio-stat{min-height:100px}
}
@media(max-width:760px){
  .section{padding-top:74px!important;padding-bottom:74px!important}
  .section-sm{padding-top:52px!important;padding-bottom:52px!important}
  .studio-bridge{margin:-20px 0 46px}
  .studio-bridge-card{padding:24px 20px;border-radius:22px;gap:20px}
  .studio-bridge-stats{grid-template-columns:1fr;gap:0;padding-top:8px}
  .studio-stat{min-height:auto;padding:16px 4px;border-right:0;border-bottom:1px solid rgba(59,11,20,.10);display:grid;grid-template-columns:38px 76px 1fr;align-items:center;justify-content:initial}
  .studio-stat:last-child{border-bottom:0}
  .studio-stat-icon{margin:0}
  .studio-stat small{margin:0}
  .pre-footer-cream,.pre-footer-cream .container{min-height:48px;height:48px}
}
@media(prefers-reduced-motion:reduce){.studio-bridge-card:before{animation:none}}


/* 2026-07-30 requested spacing + bridge centering refinement */
/* Desktop: generous 300px vertical rhythm on standard content sections. */
.section{
  padding-top:300px!important;
  padding-bottom:300px!important;
}
.section-sm{
  padding-top:300px!important;
  padding-bottom:300px!important;
}

/* Keep the floating studio bridge mathematically centered in the viewport. */
.studio-bridge{
  width:100%;
  margin:-38px auto 70px!important;
}
.studio-bridge>.container{
  width:min(calc(100% - 48px),1280px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.studio-bridge-card{
  width:100%;
  margin-inline:auto;
}

/* Footer breathing space requested: 400px cream field above every footer. */
.pre-footer-cream{
  min-height:400px!important;
  height:400px!important;
  background:#f8f3ec!important;
}
.pre-footer-cream .container{
  min-height:400px!important;
  height:400px!important;
}

/* The homepage moving marquee beneath the hero is intentionally removed. */
.page-home .marquee,
body:not([class]) .marquee{display:none!important}

@media(max-width:1100px){
  .section,.section-sm{
    padding-top:180px!important;
    padding-bottom:180px!important;
  }
  .pre-footer-cream,
  .pre-footer-cream .container{
    min-height:220px!important;
    height:220px!important;
  }
}
@media(max-width:760px){
  .section,.section-sm{
    padding-top:96px!important;
    padding-bottom:96px!important;
  }
  .studio-bridge>.container{
    width:min(calc(100% - 28px),1280px)!important;
  }
  .pre-footer-cream,
  .pre-footer-cream .container{
    min-height:120px!important;
    height:120px!important;
  }
}

/* 2026-07-30 final spacing, bridge position, contact readability and footer transition */
@media (min-width:1101px){
  .section,
  .section-sm{
    padding-top:200px!important;
    padding-bottom:200px!important;
  }
}

/* Raise the floating studio card while keeping it precisely centered. */
.studio-bridge{
  position:relative;
  z-index:8;
  width:100%;
  margin:-118px auto 46px!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.studio-bridge>.container{
  width:min(calc(100% - 48px),1280px)!important;
  margin:0 auto!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.studio-bridge-card{
  width:100%;
  margin:0 auto!important;
  align-self:center;
}

/* Contact page: guaranteed readable studio details on cream. */
.page-contact .dark-panel{
  background:#f8f3ec!important;
  border:1px solid rgba(59,11,20,.12)!important;
  box-shadow:0 24px 70px rgba(59,11,20,.12)!important;
}
.page-contact .dark-panel h3{
  color:#3b0b14!important;
  opacity:1!important;
}
.page-contact .dark-panel p,
.page-contact .dark-panel p strong,
.page-contact .dark-panel a{
  color:#1f1a17!important;
  opacity:1!important;
}
.page-contact .dark-panel p{
  line-height:1.75!important;
}

/* 300px cream field with a soft cinematic transition instead of hard color seams. */
.pre-footer-cream{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:300px!important;
  height:300px!important;
  background:
    radial-gradient(circle at 18% 28%,rgba(212,175,106,.16),transparent 34%),
    radial-gradient(circle at 82% 70%,rgba(59,11,20,.08),transparent 40%),
    linear-gradient(180deg,#f8f3ec 0%,#f8f3ec 66%,#efe5da 100%)!important;
}
.pre-footer-cream .container{
  min-height:300px!important;
  height:300px!important;
}
.pre-footer-cream::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 0 auto;
  height:92px;
  background:linear-gradient(180deg,rgba(59,11,20,.15),rgba(59,11,20,0));
  opacity:.42;
  pointer-events:none;
}
.pre-footer-cream::after{
  content:"";
  position:absolute;
  z-index:2;
  left:-4%;
  right:-4%;
  bottom:-58px;
  height:150px;
  border-radius:50% 50% 0 0 / 72% 72% 0 0;
  background:
    radial-gradient(circle at 50% 0,rgba(212,175,106,.14),transparent 44%),
    linear-gradient(180deg,#251719 0%,#171313 62%,#141212 100%);
  box-shadow:0 -28px 70px rgba(59,11,20,.10);
  pointer-events:none;
}
.pre-footer-line{display:none!important}
.site-footer{
  position:relative;
  border-top:0!important;
  background:#141212!important;
}

@media(max-width:1100px){
  .pre-footer-cream,
  .pre-footer-cream .container{
    min-height:220px!important;
    height:220px!important;
  }
  .studio-bridge{margin:-72px auto 42px!important}
}
@media(max-width:760px){
  .pre-footer-cream,
  .pre-footer-cream .container{
    min-height:150px!important;
    height:150px!important;
  }
  .pre-footer-cream::after{bottom:-78px;height:130px}
  .studio-bridge{margin:-46px auto 34px!important}
  .studio-bridge>.container{width:min(calc(100% - 28px),1280px)!important}
}

/* 2026-07-30 footer gradient + contrast refinement */
.pre-footer-cream{
  background:
    radial-gradient(ellipse at 50% 100%,rgba(111,72,255,.18) 0%,rgba(111,72,255,.08) 24%,transparent 58%),
    linear-gradient(180deg,#f8f3ec 0%,#f8f3ec 58%,#f2e9e1 84%,#e9ddd7 100%)!important;
}
.pre-footer-cream::before{
  height:120px!important;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(212,175,106,.10),transparent 62%),
    linear-gradient(180deg,rgba(59,11,20,.04),transparent)!important;
  opacity:1!important;
}
.pre-footer-cream::after{
  left:-7%!important;
  right:-7%!important;
  bottom:-74px!important;
  height:205px!important;
  border-radius:50% 50% 0 0 / 42% 42% 0 0!important;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(125,82,255,.82) 0%,rgba(98,55,231,.48) 22%,rgba(59,11,20,.20) 45%,transparent 70%),
    radial-gradient(ellipse at 50% 14%,rgba(175,125,255,.38),transparent 36%),
    linear-gradient(180deg,#2a1824 0%,#171315 56%,#111011 100%)!important;
  box-shadow:
    0 -28px 85px rgba(104,61,231,.22),
    0 -6px 28px rgba(59,11,20,.18)!important;
}
.site-footer{
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% -14%,rgba(111,72,255,.22),transparent 34%),
    radial-gradient(circle at 16% 8%,rgba(111,72,255,.07),transparent 20%),
    #111011!important;
  color:#f8f3ec!important;
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:105px;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(143,93,255,.28),transparent 58%),
    linear-gradient(180deg,rgba(108,67,255,.10),transparent);
  opacity:.9;
}
.site-footer .container{position:relative;z-index:1}
.site-footer .footer-brand-row h3,
.site-footer .footer-col h4{
  color:#f8f3ec!important;
  opacity:1!important;
  text-shadow:0 1px 18px rgba(255,255,255,.06);
}
.site-footer .footer-brand-row h3{font-weight:700!important}
.site-footer .footer-col h4{
  color:#d4af6a!important;
  letter-spacing:.02em;
}
.site-footer p,
.site-footer a,
.site-footer .footer-bottom span{
  color:rgba(248,243,236,.78)!important;
  opacity:1!important;
}
.site-footer a:hover,
.site-footer a:focus-visible{
  color:#fff!important;
  text-shadow:0 0 18px rgba(143,93,255,.35);
}
.site-footer .newsletter-inline{
  background:rgba(255,255,255,.025)!important;
  border-color:rgba(248,243,236,.30)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 28px rgba(0,0,0,.18);
}
.site-footer .newsletter-inline input,
.site-footer .newsletter-inline input::placeholder{color:rgba(248,243,236,.72)!important}
.site-footer .footer-bottom{border-color:rgba(248,243,236,.14)!important}

@media(max-width:760px){
  .pre-footer-cream::after{height:150px!important;bottom:-62px!important}
  .site-footer::before{height:72px}
}

/* 2026-07-30 normal cream-to-black footer gradient (no curve, no rainbow) */
.pre-footer-cream{
  background:linear-gradient(
    180deg,
    #f8f3ec 0%,
    #f8f3ec 52%,
    #e8dfd7 66%,
    #b9aaa6 76%,
    #766769 84%,
    #3b3134 91%,
    #171315 97%,
    #111111 100%
  )!important;
}
.pre-footer-cream::before,
.pre-footer-cream::after{
  display:none!important;
  content:none!important;
}
.site-footer{
  background:#111111!important;
}
.site-footer::before{
  display:none!important;
  content:none!important;
}
.site-footer a:hover,
.site-footer a:focus-visible{
  color:#fff!important;
  text-shadow:none!important;
}

/* 2026-07-30 approved footer reset: no gradient, glow, fade or decorative effect */
.pre-footer-cream{
  background:#f8f3ec!important;
  background-image:none!important;
}
.pre-footer-cream::before,
.pre-footer-cream::after,
.site-footer::before,
.site-footer::after{
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}
.pre-footer-line{display:none!important}
.site-footer{
  background:#111111!important;
  background-image:none!important;
  box-shadow:none!important;
}


/* 2026-07-30 final requested polish */
/* Remove the extra cream field above every footer. */
.pre-footer-cream{display:none!important}
.site-footer{margin-top:0!important}

/* Homepage story panel: stronger visibility and balanced split. */
.page-index .split-panel{
  overflow:hidden;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr;
  align-items:stretch!important;
  background:#f7f3f0!important;
  border:1px solid rgba(59,11,20,.10)!important;
  box-shadow:0 28px 75px rgba(35,15,20,.12)!important;
}
.page-index .split-panel>div{
  padding:58px 60px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:465px;
}
.page-index .split-panel h2{color:#211a18!important;font-size:clamp(2.5rem,4.3vw,4.35rem);line-height:1.02;max-width:580px}
.page-index .split-panel p{color:#5b524e!important;font-size:1.05rem;line-height:1.72;max-width:620px}
.page-index .split-panel img{width:100%;height:100%;min-height:465px;object-fit:cover;display:block}

/* Fade-only filtering: no jump, scale, slide or blur. */
[data-category]{transition:opacity 320ms ease-in-out;will-change:opacity}

/* Services: every service gets a dedicated image. */
.page-services .services-grid{align-items:stretch}
.page-services .service-card{padding:0!important;display:flex;flex-direction:column;overflow:hidden;border-radius:24px}
.page-services .service-card-media{position:relative;height:230px;overflow:hidden;background:#e9dfd7}
.page-services .service-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.page-services .service-card:hover .service-card-media img{transform:scale(1.045)}
.page-services .service-card-media .icon{position:absolute;left:18px;bottom:18px;margin:0!important;background:rgba(255,250,244,.92)!important;color:#3b0b14!important;border:1px solid rgba(255,255,255,.65);box-shadow:0 10px 28px rgba(35,15,20,.18);backdrop-filter:blur(10px)}
.page-services .service-card-content{padding:28px 28px 30px;display:flex;flex-direction:column;flex:1}
.page-services .service-card-content h3{margin-top:0}
.page-services .service-card-content p{flex:1}

/* Contact studio details: readable dark typography on cream. */
.page-contact .dark-panel{
  background:#f7f2ea!important;
  color:#211a18!important;
  border:1px solid rgba(59,11,20,.10)!important;
  box-shadow:0 22px 60px rgba(35,15,20,.10)!important;
}
.page-contact .dark-panel h3{color:#211a18!important;font-weight:750!important}
.page-contact .dark-panel p{color:#625954!important;opacity:1!important}
.page-contact .dark-panel strong{color:#2b211e!important;font-weight:750!important}
.page-contact .dark-panel a{color:#3b0b14!important}

@media(max-width:900px){
  .page-index .split-panel{grid-template-columns:1fr}
  .page-index .split-panel>div{padding:42px 32px;min-height:auto}
  .page-index .split-panel img{min-height:330px}
}
@media(max-width:700px){
  .page-services .service-card-media{height:210px}
}

/* 2026-07-30 urgent portfolio containment + contact contrast fix */
.page-portfolio main > section.section{
  position:relative;
  overflow:visible!important;
  min-height:max-content;
}
.page-portfolio main > section.section > .container{
  position:relative;
  display:flow-root;
  padding-bottom:24px;
}
.page-portfolio .masonry{
  position:relative;
  width:100%;
  min-height:1px;
}
.page-portfolio .masonry + div[style]{
  position:relative;
  clear:both;
  z-index:2;
  padding-top:18px;
  margin-top:0!important;
}

/* Higher specificity than the alternating dark-section typography rules. */
.page-contact main > section.section .dark-panel,
.page-contact main > section.section .dark-panel *{
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
  opacity:1!important;
}
.page-contact main > section.section .dark-panel h3{
  color:#3b0b14!important;
  -webkit-text-fill-color:#3b0b14!important;
  font-weight:800!important;
}
.page-contact main > section.section .dark-panel strong{
  color:#211a18!important;
  -webkit-text-fill-color:#211a18!important;
  font-weight:750!important;
}
.page-contact main > section.section .dark-panel p,
.page-contact main > section.section .dark-panel a{
  color:#5f5651!important;
  -webkit-text-fill-color:#5f5651!important;
}


/* Premium editorial pages + transparent hero header */
.site-header{position:fixed!important;top:0;left:0;right:0;width:100%;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom-color:transparent!important;box-shadow:none!important;transition:background .38s ease,box-shadow .38s ease,border-color .38s ease,backdrop-filter .38s ease!important}
.site-header.is-scrolled{background:rgba(255,253,249,.95)!important;-webkit-backdrop-filter:blur(22px) saturate(145%)!important;backdrop-filter:blur(22px) saturate(145%)!important;border-bottom:1px solid rgba(59,11,20,.12)!important;box-shadow:0 12px 38px rgba(31,26,23,.10)!important}
.page-hero{padding-top:150px!important}
.page-home .site-header:not(.is-scrolled) .nav a,.page-home .site-header:not(.is-scrolled) .nav-actions .plain,.page-home .site-header:not(.is-scrolled) .brand-text{color:#fffdf9}
.page-home .site-header:not(.is-scrolled) .mobile-toggle{color:#fffdf9}
.page-home .site-header:not(.is-scrolled) .brand img{filter:brightness(0) invert(1)}

.journal-section{background:#f8f3ec}
.journal-feature{display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border:1px solid rgba(59,11,20,.10);border-radius:30px;background:#fffdf9;box-shadow:0 30px 80px rgba(59,11,20,.09)}
.journal-feature-media{min-height:560px;overflow:hidden}.journal-feature-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}.journal-feature:hover img{transform:scale(1.035)}
.journal-feature-copy{padding:clamp(38px,6vw,86px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.journal-feature-copy h2{font-size:clamp(2.2rem,4.4vw,4.8rem);line-height:.98;margin:18px 0 24px}.journal-feature-copy p{font-size:1.05rem;max-width:560px}.journal-meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 26px}.journal-meta span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:7px 11px;border-radius:999px;background:#f1e7dc;color:#3b0b14}
.journal-heading{margin-top:130px;margin-bottom:48px}.journal-heading h2{max-width:720px}.journal-heading>p{max-width:500px}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.journal-card{overflow:hidden;border-radius:24px;background:#fffdf9;border:1px solid rgba(59,11,20,.08);box-shadow:0 18px 50px rgba(59,11,20,.055);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease}.journal-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(59,11,20,.11)}.journal-card-image{display:block;aspect-ratio:4/3;overflow:hidden}.journal-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}.journal-card:hover img{transform:scale(1.05)}.journal-card-body{padding:28px}.journal-card-body h3{font-size:1.55rem;line-height:1.12;margin:15px 0 13px}.journal-card-body p{min-height:76px}.text-link{display:inline-flex;gap:8px;align-items:center;font-weight:650;color:#3b0b14}.text-link span{transition:transform .3s}.text-link:hover span{transform:translateX(5px)}

.faq-premium{background:#f8f3ec}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}.faq-intro{position:sticky;top:120px;padding:50px;border-radius:28px;background:#3b0b14;color:#fffdf9;box-shadow:0 30px 80px rgba(59,11,20,.18)}.faq-intro h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1;margin:18px 0 22px}.faq-intro p{color:rgba(255,253,249,.76);margin-bottom:30px}.faq-intro .eyebrow{color:#e5bd73}.faq-note{display:flex;flex-direction:column;margin-top:32px;padding-top:25px;border-top:1px solid rgba(255,255,255,.18)}.faq-note span{color:rgba(255,255,255,.68);font-size:.9rem;margin-top:5px}.faq-list{display:grid;gap:16px}.faq-list .faq-item{background:#fffdf9;border:1px solid rgba(59,11,20,.10);border-radius:20px;overflow:hidden;box-shadow:0 12px 35px rgba(59,11,20,.045)}.faq-list .faq-q{padding:25px 27px;font-size:1.05rem}.faq-list .faq-a p{padding:0 27px 25px;line-height:1.8}

.legal-section{background:#f8f3ec}.legal-shell{display:grid;grid-template-columns:340px 1fr;gap:42px;align-items:start}.legal-summary{position:sticky;top:120px;padding:38px;border-radius:25px;background:#3b0b14;color:#fffdf9}.legal-summary h2{font-size:2rem;line-height:1.05;margin:17px 0}.legal-summary p{color:rgba(255,253,249,.72)}.legal-summary .eyebrow{color:#e5bd73}.legal-summary .text-link{color:#fffdf9;margin-top:14px}.legal-cards{display:grid;gap:18px}.legal-card{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:34px 36px;border-radius:22px;background:#fffdf9;border:1px solid rgba(59,11,20,.09);box-shadow:0 15px 45px rgba(59,11,20,.05);transition:transform .35s ease,box-shadow .35s ease}.legal-card:hover{transform:translateY(-4px);box-shadow:0 23px 58px rgba(59,11,20,.09)}.legal-number{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#f1e7dc;color:#3b0b14;font-size:.78rem;font-weight:700;letter-spacing:.08em}.legal-card h2{font-size:1.55rem;margin:2px 0 10px}.legal-card p{margin:0;line-height:1.8}
@media(max-width:980px){.journal-feature,.faq-layout,.legal-shell{grid-template-columns:1fr}.journal-grid{grid-template-columns:repeat(2,1fr)}.faq-intro,.legal-summary{position:relative;top:auto}.journal-feature-media{min-height:420px}}
@media(max-width:640px){.page-hero{padding-top:115px!important}.journal-grid{grid-template-columns:1fr}.journal-feature{border-radius:20px}.journal-feature-media{min-height:310px}.journal-feature-copy{padding:30px 24px}.journal-heading{margin-top:80px}.faq-intro{padding:34px 27px}.legal-card{grid-template-columns:1fr;padding:28px 24px}.legal-number{width:46px;height:46px}}

/* === Final readability and layout fixes: FAQ, journal/legal, auth pages === */

/* FAQ: left introduction remains visually fixed while answers expand. */
.page-faq .faq-layout{
  align-items:start !important;
}
.page-faq .faq-intro{
  position:sticky !important;
  top:110px !important;
  align-self:start !important;
  height:auto !important;
  min-height:0 !important;
  background:#f7f2ec !important;
  color:#211b18 !important;
  border:1px solid rgba(59,11,20,.10) !important;
  box-shadow:0 24px 70px rgba(59,11,20,.12) !important;
}
.page-faq .faq-intro .eyebrow{color:#b88732 !important;}
.page-faq .faq-intro h1,
.page-faq .faq-intro h2,
.page-faq .faq-intro h3,
.page-faq .faq-intro strong{color:#211b18 !important;}
.page-faq .faq-intro p{color:#69615d !important;}
.page-faq .faq-note{
  border-top:1px solid rgba(59,11,20,.14) !important;
}
.page-faq .faq-note span{color:#69615d !important;}
.page-faq .faq-list{align-self:start !important;}
.page-faq .faq-list .faq-item{background:#fffdf9 !important;}
.page-faq .faq-list .faq-q{color:#191513 !important;}
.page-faq .faq-list .faq-a,
.page-faq .faq-list .faq-a p{color:#68605c !important;}
.page-faq .faq-item.open .faq-a{max-height:420px !important;}

/* Journal cards: force strong contrast on light surfaces. */
.page-blog .journal-feature-copy,
.page-blog .journal-card-body,
.page-blog .journal-card,
.page-blog .journal-feature{
  color:#211b18 !important;
}
.page-blog .journal-feature-copy h1,
.page-blog .journal-feature-copy h2,
.page-blog .journal-card h2,
.page-blog .journal-card h3,
.page-blog .journal-heading h1,
.page-blog .journal-heading h2{color:#211b18 !important;}
.page-blog .journal-feature-copy p,
.page-blog .journal-card p,
.page-blog .journal-meta{color:#6a625d !important;}

/* Privacy / Terms / Refund / Shipping: white only on the maroon summary,
   dark readable text inside all cream cards. */
.page-privacy-policy .legal-card,
.page-terms .legal-card,
.page-refund-policy .legal-card,
.page-shipping-policy .legal-card{
  color:#211b18 !important;
  background:#fffdf9 !important;
}
.page-privacy-policy .legal-card h1,
.page-privacy-policy .legal-card h2,
.page-privacy-policy .legal-card h3,
.page-terms .legal-card h1,
.page-terms .legal-card h2,
.page-terms .legal-card h3,
.page-refund-policy .legal-card h1,
.page-refund-policy .legal-card h2,
.page-refund-policy .legal-card h3,
.page-shipping-policy .legal-card h1,
.page-shipping-policy .legal-card h2,
.page-shipping-policy .legal-card h3{color:#211b18 !important;}
.page-privacy-policy .legal-card p,
.page-privacy-policy .legal-card li,
.page-terms .legal-card p,
.page-terms .legal-card li,
.page-refund-policy .legal-card p,
.page-refund-policy .legal-card li,
.page-shipping-policy .legal-card p,
.page-shipping-policy .legal-card li{color:#665e59 !important;}
.page-privacy-policy .legal-summary,
.page-terms .legal-summary,
.page-refund-policy .legal-summary,
.page-shipping-policy .legal-summary{color:#fffdf9 !important;}
.page-privacy-policy .legal-summary h1,
.page-privacy-policy .legal-summary h2,
.page-privacy-policy .legal-summary h3,
.page-terms .legal-summary h1,
.page-terms .legal-summary h2,
.page-terms .legal-summary h3,
.page-refund-policy .legal-summary h1,
.page-refund-policy .legal-summary h2,
.page-refund-policy .legal-summary h3,
.page-shipping-policy .legal-summary h1,
.page-shipping-policy .legal-summary h2,
.page-shipping-policy .legal-summary h3{color:#fffdf9 !important;}
.page-privacy-policy .legal-summary p,
.page-terms .legal-summary p,
.page-refund-policy .legal-summary p,
.page-shipping-policy .legal-summary p{color:rgba(255,253,249,.78) !important;}

/* Login / register: centered glass content box over the image. */
.page-login .auth-media,
.page-register .auth-media{
  display:grid !important;
  place-items:center !important;
  padding:48px !important;
}
.page-login .auth-media:after,
.page-register .auth-media:after{
  background:linear-gradient(rgba(20,9,11,.25),rgba(20,9,11,.58)) !important;
}
.page-login .auth-caption,
.page-register .auth-caption{
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  width:min(88%,560px) !important;
  max-width:560px !important;
  padding:38px 42px !important;
  text-align:center !important;
  border-radius:26px !important;
  background:rgba(36,12,17,.64) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:0 28px 75px rgba(0,0,0,.28) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  backdrop-filter:blur(14px) !important;
}
.page-login .auth-caption .eyebrow,
.page-register .auth-caption .eyebrow{color:#e5bd73 !important;}
.page-login .auth-caption h2,
.page-register .auth-caption h2{
  color:#fffdf9 !important;
  font-size:clamp(2rem,4vw,4rem) !important;
  line-height:1.02 !important;
  margin:14px 0 18px !important;
}
.page-login .auth-caption p,
.page-register .auth-caption p{
  color:rgba(255,253,249,.86) !important;
  margin:0 auto !important;
  max-width:440px !important;
}

@media(max-width:980px){
  .page-faq .faq-intro{position:relative !important;top:auto !important;}
}
@media(max-width:700px){
  .page-login .auth-media,
  .page-register .auth-media{padding:24px !important;}
  .page-login .auth-caption,
  .page-register .auth-caption{width:100% !important;padding:28px 22px !important;}
}

/* === Absolute final text contrast fix: Journal + Legal pages === */
body.page-blog main .journal-section .journal-feature,
body.page-blog main .journal-section .journal-feature-copy,
body.page-blog main .journal-section .journal-card,
body.page-blog main .journal-section .journal-card-body,
body.page-blog main .journal-section .journal-heading{
  color:#211b18!important;
  -webkit-text-fill-color:#211b18!important;
}
body.page-blog main .journal-section .journal-feature-copy h1,
body.page-blog main .journal-section .journal-feature-copy h2,
body.page-blog main .journal-section .journal-feature-copy h3,
body.page-blog main .journal-section .journal-card h1,
body.page-blog main .journal-section .journal-card h2,
body.page-blog main .journal-section .journal-card h3,
body.page-blog main .journal-section .journal-heading h1,
body.page-blog main .journal-section .journal-heading h2,
body.page-blog main .journal-section .journal-heading h3{
  color:#211b18!important;
  -webkit-text-fill-color:#211b18!important;
}
body.page-blog main .journal-section .journal-feature-copy p,
body.page-blog main .journal-section .journal-card p,
body.page-blog main .journal-section .journal-heading p{
  color:#655d58!important;
  -webkit-text-fill-color:#655d58!important;
}

body.page-privacy-policy main .legal-section .legal-card,
body.page-terms main .legal-section .legal-card,
body.page-refund-policy main .legal-section .legal-card,
body.page-shipping-policy main .legal-section .legal-card{
  color:#211b18!important;
  -webkit-text-fill-color:#211b18!important;
  background:#fffdf9!important;
}
body.page-privacy-policy main .legal-section .legal-card h1,
body.page-privacy-policy main .legal-section .legal-card h2,
body.page-privacy-policy main .legal-section .legal-card h3,
body.page-terms main .legal-section .legal-card h1,
body.page-terms main .legal-section .legal-card h2,
body.page-terms main .legal-section .legal-card h3,
body.page-refund-policy main .legal-section .legal-card h1,
body.page-refund-policy main .legal-section .legal-card h2,
body.page-refund-policy main .legal-section .legal-card h3,
body.page-shipping-policy main .legal-section .legal-card h1,
body.page-shipping-policy main .legal-section .legal-card h2,
body.page-shipping-policy main .legal-section .legal-card h3{
  color:#211b18!important;
  -webkit-text-fill-color:#211b18!important;
  opacity:1!important;
}
body.page-privacy-policy main .legal-section .legal-card p,
body.page-privacy-policy main .legal-section .legal-card li,
body.page-privacy-policy main .legal-section .legal-card a,
body.page-terms main .legal-section .legal-card p,
body.page-terms main .legal-section .legal-card li,
body.page-terms main .legal-section .legal-card a,
body.page-refund-policy main .legal-section .legal-card p,
body.page-refund-policy main .legal-section .legal-card li,
body.page-refund-policy main .legal-section .legal-card a,
body.page-shipping-policy main .legal-section .legal-card p,
body.page-shipping-policy main .legal-section .legal-card li,
body.page-shipping-policy main .legal-section .legal-card a{
  color:#625a55!important;
  -webkit-text-fill-color:#625a55!important;
  opacity:1!important;
}
body.page-privacy-policy main .legal-section .legal-number,
body.page-terms main .legal-section .legal-number,
body.page-refund-policy main .legal-section .legal-number,
body.page-shipping-policy main .legal-section .legal-number{
  color:#3b0b14!important;
  -webkit-text-fill-color:#3b0b14!important;
}


/* === Unified FAQ-style journal and policy accordions === */
.page-faq .faq-layout,
.page-blog .journal-accordion-layout,
.page-privacy-policy .legal-shell,
.page-terms .legal-shell,
.page-refund-policy .legal-shell,
.page-shipping-policy .legal-shell{
  align-items:start!important;
}
.page-faq .faq-intro,
.page-blog .journal-intro,
.page-privacy-policy .legal-summary,
.page-terms .legal-summary,
.page-refund-policy .legal-summary,
.page-shipping-policy .legal-summary{
  position:sticky!important;
  top:120px!important;
  align-self:start!important;
  height:max-content!important;
}
.faq-list .faq-item{
  transition:background-color .34s ease,border-color .34s ease,box-shadow .34s ease,transform .34s ease!important;
}
.faq-list .faq-item.open{
  background:#f2e4d7!important;
  border-color:rgba(59,11,20,.22)!important;
  box-shadow:0 18px 48px rgba(59,11,20,.12)!important;
}
.faq-list .faq-item.open .faq-q{
  color:#3b0b14!important;
}
.faq-list .faq-q{
  width:100%;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  text-align:left!important;
  cursor:pointer;
}
.faq-list .faq-icon{
  flex:0 0 auto;
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(59,11,20,.06);
  color:#3b0b14!important;
  transition:transform .34s cubic-bezier(.22,1,.36,1),background .34s ease!important;
}
.faq-list .faq-item.open .faq-icon{
  transform:rotate(45deg);
  background:#3b0b14;
  color:#fffdf9!important;
}
.faq-list .faq-a{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-6px);
  transition:max-height .5s cubic-bezier(.22,1,.36,1),opacity .3s ease,transform .4s ease!important;
}
.faq-list .faq-item.open .faq-a{
  max-height:520px!important;
  opacity:1;
  transform:translateY(0);
}
.policy-accordion .policy-question-label,
.journal-question-wrap{
  display:flex;align-items:center;gap:20px;min-width:0;
}
.policy-accordion .legal-number,
.journal-index{
  flex:0 0 48px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:#f1e7dc;color:#3b0b14!important;font-size:.76rem;font-weight:800;letter-spacing:.08em;
}
.policy-accordion .policy-title{font-size:1.08rem;font-weight:750;color:#211b18!important;}
.policy-accordion .faq-a p,
.policy-accordion .faq-a li{padding:0 28px 26px 96px!important;color:#625a55!important;line-height:1.8!important;}
.policy-accordion .faq-item.open .legal-number,
.journal-accordion-item.open .journal-index{background:#3b0b14;color:#fffdf9!important;}
.page-blog .journal-section{background:#f8f3ec!important;}
.journal-accordion-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start;}
.journal-intro{background:#fffdf9!important;color:#211b18!important;box-shadow:0 30px 80px rgba(59,11,20,.12)!important;}
.journal-intro h2{color:#211b18!important;}
.journal-intro p,.journal-intro .faq-note span{color:#69615d!important;}
.journal-question-text{display:flex;flex-direction:column;gap:5px;min-width:0;}
.journal-question-text strong{font-size:1.02rem;color:#211b18!important;line-height:1.3;}
.journal-question-text small{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#8a746b!important;}
.journal-accordion-list .faq-a{padding:0 28px 28px 96px;}
.journal-accordion-list .faq-a p{padding:0!important;margin:0 0 14px;color:#625a55!important;line-height:1.75;}
.journal-accordion-list .faq-a .text-link{color:#3b0b14!important;}
@media(max-width:980px){
  .page-faq .faq-intro,.page-blog .journal-intro,.page-privacy-policy .legal-summary,.page-terms .legal-summary,.page-refund-policy .legal-summary,.page-shipping-policy .legal-summary{position:relative!important;top:auto!important;}
  .journal-accordion-layout{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .policy-accordion .faq-a p,.policy-accordion .faq-a li,.journal-accordion-list .faq-a{padding-left:24px!important;padding-right:24px!important;}
  .policy-accordion .policy-question-label,.journal-question-wrap{gap:12px;}
  .policy-accordion .legal-number,.journal-index{flex-basis:40px;width:40px;height:40px;}
}

/* === Video review fixes: stable sidebar + answer-only highlight + readable copy === */
@media (min-width:981px){
  body.page-faq .faq-intro,
  body.page-blog .journal-intro,
  body.page-privacy-policy .legal-summary,
  body.page-terms .legal-summary,
  body.page-refund-policy .legal-summary,
  body.page-shipping-policy .legal-summary{
    position:sticky!important;
    top:110px!important;
    align-self:start!important;
    margin:0!important;
    transform:none!important;
    translate:none!important;
    overflow-anchor:none!important;
    will-change:auto!important;
  }
}

body.page-faq .faq-list,
body.page-blog .journal-accordion-list,
body.page-privacy-policy .policy-accordion,
body.page-terms .policy-accordion,
body.page-refund-policy .policy-accordion,
body.page-shipping-policy .policy-accordion{
  overflow-anchor:none!important;
}

/* Keep the question/header card unchanged. Only the opened description changes tone. */
body .faq-list .faq-item,
body .faq-list .faq-item.open{
  background:#fffdf9!important;
  border-color:rgba(59,11,20,.10)!important;
  box-shadow:0 12px 35px rgba(59,11,20,.055)!important;
  transform:none!important;
}
body .faq-list .faq-item.open{
  border-color:rgba(59,11,20,.16)!important;
  box-shadow:0 16px 44px rgba(59,11,20,.09)!important;
}
body .faq-list .faq-q,
body .faq-list .faq-item.open .faq-q,
body .faq-list .faq-q *,
body .faq-list .faq-item.open .faq-q *{
  color:#211b18!important;
}
body .faq-list .faq-item.open .faq-a{
  background:#efe2d5!important;
  border-top:1px solid rgba(59,11,20,.10)!important;
}
body .faq-list .faq-a,
body .faq-list .faq-a p,
body .faq-list .faq-a li,
body .faq-list .faq-a a,
body .policy-accordion .faq-a,
body .policy-accordion .faq-a p,
body .policy-accordion .faq-a li,
body .policy-accordion .faq-a a,
body .journal-accordion-list .faq-a,
body .journal-accordion-list .faq-a p,
body .journal-accordion-list .faq-a li,
body .journal-accordion-list .faq-a a{
  color:#514945!important;
}
body .faq-list .faq-a a,
body .policy-accordion .faq-a a,
body .journal-accordion-list .faq-a a{
  color:#3b0b14!important;
  font-weight:700!important;
}

/* Policy and journal titles remain dark in both closed and open states. */
body .policy-accordion .policy-title,
body .policy-accordion .faq-item.open .policy-title,
body .journal-question-text strong,
body .journal-accordion-item.open .journal-question-text strong{
  color:#211b18!important;
}
body .journal-question-text small,
body .journal-accordion-item.open .journal-question-text small{
  color:#806f67!important;
}

/* Left information cards: guaranteed contrast on all unified pages. */
body.page-faq .faq-intro,
body.page-blog .journal-intro,
body.page-privacy-policy .legal-summary,
body.page-terms .legal-summary,
body.page-refund-policy .legal-summary,
body.page-shipping-policy .legal-summary{
  background:#fffaf4!important;
  color:#211b18!important;
}
body.page-faq .faq-intro h1,
body.page-faq .faq-intro h2,
body.page-faq .faq-intro h3,
body.page-blog .journal-intro h1,
body.page-blog .journal-intro h2,
body.page-blog .journal-intro h3,
body.page-privacy-policy .legal-summary h1,
body.page-privacy-policy .legal-summary h2,
body.page-privacy-policy .legal-summary h3,
body.page-terms .legal-summary h1,
body.page-terms .legal-summary h2,
body.page-terms .legal-summary h3,
body.page-refund-policy .legal-summary h1,
body.page-refund-policy .legal-summary h2,
body.page-refund-policy .legal-summary h3,
body.page-shipping-policy .legal-summary h1,
body.page-shipping-policy .legal-summary h2,
body.page-shipping-policy .legal-summary h3{
  color:#211b18!important;
}
body.page-faq .faq-intro p,
body.page-faq .faq-intro span,
body.page-blog .journal-intro p,
body.page-blog .journal-intro span,
body.page-privacy-policy .legal-summary p,
body.page-privacy-policy .legal-summary span,
body.page-terms .legal-summary p,
body.page-terms .legal-summary span,
body.page-refund-policy .legal-summary p,
body.page-refund-policy .legal-summary span,
body.page-shipping-policy .legal-summary p,
body.page-shipping-policy .legal-summary span{
  color:#625a55!important;
}
body.page-faq .faq-intro .eyebrow,
body.page-blog .journal-intro .eyebrow,
body.page-privacy-policy .legal-summary .eyebrow,
body.page-terms .legal-summary .eyebrow,
body.page-refund-policy .legal-summary .eyebrow,
body.page-shipping-policy .legal-summary .eyebrow{
  color:#b98228!important;
}


/* === Final accordion height and sticky-column correction === */
@media (min-width:981px){
  body.page-faq .faq-layout,
  body.page-blog .journal-accordion-layout,
  body.page-privacy-policy .legal-shell,
  body.page-terms .legal-shell,
  body.page-refund-policy .legal-shell,
  body.page-shipping-policy .legal-shell{
    height:620px!important;
    min-height:620px!important;
    max-height:620px!important;
    align-items:stretch!important;
    overflow:visible!important;
  }

  body.page-faq .faq-intro,
  body.page-blog .journal-intro,
  body.page-privacy-policy .legal-summary,
  body.page-terms .legal-summary,
  body.page-refund-policy .legal-summary,
  body.page-shipping-policy .legal-summary{
    position:sticky!important;
    top:110px!important;
    align-self:start!important;
    height:620px!important;
    min-height:620px!important;
    max-height:620px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    margin:0!important;
    transform:none!important;
  }

  body.page-faq .faq-list,
  body.page-blog .journal-accordion-list,
  body.page-privacy-policy .policy-accordion,
  body.page-terms .policy-accordion,
  body.page-refund-policy .policy-accordion,
  body.page-shipping-policy .policy-accordion{
    height:620px!important;
    min-height:620px!important;
    max-height:620px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    align-self:start!important;
    padding-right:8px!important;
    overscroll-behavior:contain!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(59,11,20,.34) transparent;
  }

  body.page-faq .faq-list::-webkit-scrollbar,
  body.page-blog .journal-accordion-list::-webkit-scrollbar,
  body.page-privacy-policy .policy-accordion::-webkit-scrollbar,
  body.page-terms .policy-accordion::-webkit-scrollbar,
  body.page-refund-policy .policy-accordion::-webkit-scrollbar,
  body.page-shipping-policy .policy-accordion::-webkit-scrollbar{width:6px}
  body.page-faq .faq-list::-webkit-scrollbar-thumb,
  body.page-blog .journal-accordion-list::-webkit-scrollbar-thumb,
  body.page-privacy-policy .policy-accordion::-webkit-scrollbar-thumb,
  body.page-terms .policy-accordion::-webkit-scrollbar-thumb,
  body.page-refund-policy .policy-accordion::-webkit-scrollbar-thumb,
  body.page-shipping-policy .policy-accordion::-webkit-scrollbar-thumb{
    background:rgba(59,11,20,.30);border-radius:999px
  }
}

/* The heading row never changes colour; only the answer panel is highlighted. */
body .faq-list .faq-q,
body .faq-list .faq-item.open .faq-q{
  background:#fffdf9!important;
  color:#211b18!important;
  border:0!important;
}
body .faq-list .faq-item.open .faq-a{
  background:#f0e1d3!important;
  border-top:1px solid rgba(59,11,20,.12)!important;
}
body .faq-list .faq-item.open .faq-a p,
body .faq-list .faq-item.open .faq-a li{
  color:#514945!important;
}
body .faq-list .faq-icon{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#f4efe9!important;
  color:#3b0b14!important;
  font-size:1.25rem!important;
  line-height:1!important;
  font-weight:500!important;
  transition:background .25s ease,color .25s ease,transform .25s ease!important;
}
body .faq-list .faq-item.open .faq-icon{
  background:#3b0b14!important;
  color:#fffdf9!important;
  transform:none!important;
}

@media (max-width:980px){
  body.page-faq .faq-layout,
  body.page-blog .journal-accordion-layout,
  body.page-privacy-policy .legal-shell,
  body.page-terms .legal-shell,
  body.page-refund-policy .legal-shell,
  body.page-shipping-policy .legal-shell,
  body.page-faq .faq-intro,
  body.page-blog .journal-intro,
  body.page-privacy-policy .legal-summary,
  body.page-terms .legal-summary,
  body.page-refund-policy .legal-summary,
  body.page-shipping-policy .legal-summary,
  body.page-faq .faq-list,
  body.page-blog .journal-accordion-list,
  body.page-privacy-policy .policy-accordion,
  body.page-terms .policy-accordion,
  body.page-refund-policy .policy-accordion,
  body.page-shipping-policy .policy-accordion{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* === Approved compact accordion styling: 30 Jul 2026 === */
/* Compact question/header row so opened descriptions have more room. */
body .faq-list .faq-q,
body .faq-list .faq-item.open .faq-q{
  min-height:72px!important;
  height:72px!important;
  padding:10px 24px!important;
  box-sizing:border-box!important;
  color:#3B0B14!important;
}

/* Replace black accordion headings with Signature Album burgundy. */
body .faq-list .faq-q,
body .faq-list .faq-q strong,
body .faq-list .faq-q .policy-title,
body .faq-list .faq-q .journal-question-text strong,
body .faq-list .faq-item.open .faq-q,
body .faq-list .faq-item.open .faq-q strong,
body .faq-list .faq-item.open .faq-q .policy-title,
body .faq-list .faq-item.open .faq-q .journal-question-text strong{
  color:#3B0B14!important;
}

/* Compact, readable numbered badge. */
body .policy-accordion .legal-number,
body .journal-accordion-list .journal-index{
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  background:#F2E8DC!important;
  color:#3B0B14!important;
  line-height:1!important;
}

/* Open state: burgundy badge with clearly visible cream number. */
body .policy-accordion .faq-item.open .legal-number,
body .journal-accordion-list .faq-item.open .journal-index,
body .journal-accordion-list .journal-accordion-item.open .journal-index{
  background:#3B0B14!important;
  color:#F8F3EC!important;
}

/* Keep + and − centred and legible in the compact header. */
body .faq-list .faq-icon,
body .faq-list .faq-item.open .faq-icon{
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  line-height:1!important;
  font-size:1.18rem!important;
}

/* Description remains a separate highlighted panel. */
body .faq-list .faq-item.open .faq-a{
  background:#F5E9DD!important;
}
body .faq-list .faq-item.open .faq-a p,
body .faq-list .faq-item.open .faq-a li{
  color:#514945!important;
}

@media (max-width:640px){
  body .faq-list .faq-q,
  body .faq-list .faq-item.open .faq-q{
    min-height:66px!important;
    height:auto!important;
    padding:10px 16px!important;
  }
  body .policy-accordion .legal-number,
  body .journal-accordion-list .journal-index{
    flex-basis:38px!important;
    width:38px!important;
    height:38px!important;
  }
}

/* === Smooth accordion motion + clean open panel edge === */
body .faq-list .faq-a{
  height:0;
  max-height:none!important;
  opacity:0;
  transform:none!important;
  overflow:hidden;
  padding-top:0!important;
  padding-bottom:0!important;
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  transition:height .42s cubic-bezier(.22,1,.36,1), opacity .22s ease!important;
  will-change:height,opacity;
}
body .faq-list .faq-item.open .faq-a{
  max-height:none!important;
  opacity:1;
  background:#F5E9DD!important;
  border-top:1px solid rgba(59,11,20,.10)!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
body .faq-list .faq-item,
body .faq-list .faq-item.open{
  transform:none!important;
  overflow:hidden!important;
  background:#fffdf9!important;
  border:1px solid rgba(59,11,20,.12)!important;
  box-shadow:0 12px 35px rgba(59,11,20,.055)!important;
}
body .faq-list .faq-item.open{
  border-color:rgba(59,11,20,.18)!important;
  box-shadow:0 15px 38px rgba(59,11,20,.075)!important;
}
body .faq-list .faq-a > :last-child{
  margin-bottom:0!important;
}
body .faq-list .faq-item.open .faq-a::after{
  content:none!important;
  display:none!important;
}
@media (prefers-reduced-motion:reduce){
  body .faq-list .faq-a{transition:none!important;}
}

/* === FINAL requested accordion correction: all FAQ / Journal / Legal pages === */
/* Keep any residual area beneath the expanded answer cream, never white. */
body .faq-list .faq-item.open,
body .policy-accordion .faq-item.open,
body .journal-accordion-list .faq-item.open{
  background:#F5E9DD!important;
  border-bottom-color:rgba(59,11,20,.18)!important;
}

/* Header remains white while the answer reaches the rounded bottom edge. */
body .faq-list .faq-item.open > .faq-q,
body .policy-accordion .faq-item.open > .faq-q,
body .journal-accordion-list .faq-item.open > .faq-q{
  background:#FFFDF9!important;
}
body .faq-list .faq-item.open > .faq-a,
body .policy-accordion .faq-item.open > .faq-a,
body .journal-accordion-list .faq-item.open > .faq-a{
  display:block!important;
  width:100%!important;
  margin:0!important;
  background:#F5E9DD!important;
  border:0!important;
  border-radius:0 0 19px 19px!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
body .faq-list .faq-item.open > .faq-a::before,
body .faq-list .faq-item.open > .faq-a::after{
  content:none!important;
  display:none!important;
}

/* Force the opened number to remain visibly cream/white on burgundy. */
body .policy-accordion .faq-item.open .legal-number,
body .journal-accordion-list .faq-item.open .journal-index,
body .journal-accordion-list .journal-accordion-item.open .journal-index{
  background:#3B0B14!important;
  color:#FFFDF9!important;
  -webkit-text-fill-color:#FFFDF9!important;
  opacity:1!important;
  visibility:visible!important;
  font-weight:700!important;
  text-shadow:none!important;
}

/* === FINAL APPROVED GLOBAL BRAND TEXT + ACCORDION SPACING === */
/* All default dark/black text now follows the Signature Album burgundy. */
body{
  color:#3B0B14;
}
body :is(h1,h2,h3,h4,h5,h6,
  .section-title,.card-title,.form-title,.dashboard-title,.widget-title,
  .policy-title,.journal-question-text strong,.faq-q,.faq-q strong,
  label,legend,th,.breadcrumbs,.brand-text strong){
  color:#3B0B14!important;
}
/* Preserve intentionally light text on dark/photo backgrounds. */
:is(.hero,.dark-panel,.site-footer,.sidebar,.auth-media,.auth-caption,
  .faq-intro,.journal-intro,.legal-summary,.newsletter-card,
  [class*="maroon"],[class*="wine"],[class*="dark-bg"]) :is(h1,h2,h3,h4,h5,h6,strong,label,legend,th,.section-title,.card-title,.form-title,.dashboard-title,.widget-title,.breadcrumbs){
  color:inherit!important;
}
.site-footer,.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,
.site-footer h5,.site-footer h6,.site-footer .footer-col h4{
  color:#FFFDF9!important;
}
.hero,.hero h1,.hero h2,.hero h3,.hero h4,.hero h5,.hero h6,
.auth-media,.auth-media h1,.auth-media h2,.auth-media h3,.auth-media h4,
.auth-caption,.auth-caption h1,.auth-caption h2,.auth-caption h3,.auth-caption h4{
  color:#FFFDF9!important;
}

/* Approved answer spacing: text starts 10px below the question row. */
body .faq-list .faq-item.open > .faq-a,
body .policy-accordion .faq-item.open > .faq-a,
body .journal-accordion-list .faq-item.open > .faq-a{
  padding-top:10px!important;
  background:#F5E9DD!important;
  border-bottom:0!important;
}
/* Keep the opened number clearly white/cream on burgundy. */
body .policy-accordion .faq-item.open .legal-number,
body .journal-accordion-list .faq-item.open .journal-index,
body .journal-accordion-list .journal-accordion-item.open .journal-index{
  color:#FFFDF9!important;
  -webkit-text-fill-color:#FFFDF9!important;
}

/* === Final left-card brand colour and bottom breathing room === */
body.page-faq .faq-intro,
body.page-blog .journal-intro,
body.page-privacy-policy .legal-summary,
body.page-terms .legal-summary,
body.page-refund-policy .legal-summary,
body.page-shipping-policy .legal-summary{
  display:flex!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
  padding-bottom:42px!important;
}

/* Left-card eyebrow/label uses the Signature Album brand burgundy. */
body.page-faq .faq-intro .eyebrow,
body.page-blog .journal-intro .eyebrow,
body.page-privacy-policy .legal-summary .eyebrow,
body.page-terms .legal-summary .eyebrow,
body.page-refund-policy .legal-summary .eyebrow,
body.page-shipping-policy .legal-summary .eyebrow{
  color:#3B0B14!important;
}

/* Keep the final note/link comfortably away from the card's bottom edge. */
body.page-faq .faq-intro .faq-note,
body.page-blog .journal-intro .faq-note{
  margin-top:auto!important;
  margin-bottom:0!important;
  padding-bottom:4px!important;
}
body.page-privacy-policy .legal-summary .text-link,
body.page-terms .legal-summary .text-link,
body.page-refund-policy .legal-summary .text-link,
body.page-shipping-policy .legal-summary .text-link{
  margin-top:auto!important;
  margin-bottom:4px!important;
  color:#3B0B14!important;
}

body.page-faq .faq-intro .faq-note strong,
body.page-blog .journal-intro .faq-note strong{
  color:#3B0B14!important;
}
body.page-faq .faq-intro .faq-note span,
body.page-blog .journal-intro .faq-note span{
  display:block!important;
  margin-top:8px!important;
  color:#625a55!important;
}

/* Homepage studio statistics: smooth count-up finish. */
.studio-counter{display:inline-block;min-width:4.25ch;font-variant-numeric:tabular-nums;will-change:transform,opacity}
.studio-counter.count-complete{animation:studioCounterSettle .42s cubic-bezier(.22,1,.36,1)}
@keyframes studioCounterSettle{0%{transform:translateY(2px) scale(.97)}55%{transform:translateY(-2px) scale(1.035)}100%{transform:translateY(0) scale(1)}}
@media (prefers-reduced-motion:reduce){.studio-counter.count-complete{animation:none}}


/* =========================================================
   GLOBAL PREMIUM SELECTS + DRAWING BUTTON BORDERS
   ========================================================= */

/* Custom dropdown scrollbar: theme matched, slim and easy to drag. */
.custom-select-menu{
  overscroll-behavior:contain;
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:#3b0b14 rgba(59,11,20,.10);
  scrollbar-gutter:stable;
  touch-action:pan-y;
}
.custom-select-menu::-webkit-scrollbar{width:8px}
.custom-select-menu::-webkit-scrollbar-track{
  background:rgba(59,11,20,.08);
  border-radius:999px;
  margin:8px 0;
}
.custom-select-menu::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#7a1226,#3b0b14);
  border:2px solid #f8f3ec;
  border-radius:999px;
  min-height:38px;
}
.custom-select-menu::-webkit-scrollbar-thumb:hover{background:#26070d}
.custom-select-menu::-webkit-scrollbar-button{display:none;width:0;height:0}

/* Every enhanced form select follows the same premium visual system. */
.custom-select{isolation:isolate}
.custom-select-menu{padding-right:7px}
.custom-select-option{user-select:none;-webkit-user-select:none}

/* Animated border is drawn on hover instead of appearing instantly. */
.btn,
.filter-btn,
form button[type="submit"],
form button[type="button"]:not(.custom-select-trigger){
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.btn::before,
.filter-btn::before,
form button[type="submit"]::before,
form button[type="button"]:not(.custom-select-trigger)::before{
  content:"";
  position:absolute;
  inset:2px;
  border:1px solid currentColor;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .58s cubic-bezier(.22,.61,.36,1),opacity .18s ease;
  z-index:2;
}
.btn:hover::before,
.btn:focus-visible::before,
.filter-btn:hover::before,
.filter-btn:focus-visible::before,
form button[type="submit"]:hover::before,
form button[type="submit"]:focus-visible::before,
form button[type="button"]:not(.custom-select-trigger):hover::before,
form button[type="button"]:not(.custom-select-trigger):focus-visible::before{
  opacity:.78;
  transform:scaleX(1);
}

/* Light buttons draw a maroon line; dark buttons draw a cream line. */
.btn-outline::before,
.filter-btn::before,
.newsletter-card .btn::before{border-color:#3b0b14}
.btn-primary::before,
.btn-dark::before,
.maroon-section .btn::before,
.site-footer .btn-primary::before{border-color:#f8f3ec}

/* Keep labels and icons above the animated outline. */
.btn > *,
.filter-btn > *,
form button[type="submit"] > *,
form button[type="button"]:not(.custom-select-trigger) > *{position:relative;z-index:3}

@media (hover:none), (max-width:700px){
  .btn::before,.filter-btn::before,form button[type="submit"]::before,
  form button[type="button"]:not(.custom-select-trigger)::before{display:none}
}

/* =========================================================
   BUTTON BORDER + GLOBAL SCROLLBAR REFINEMENT
   - animated line sits on the existing button edge
   - reveal begins from the top centre, not from the left
   ========================================================= */

/* Website scrollbar */
html{
  scrollbar-width:thin;
  scrollbar-color:#3b0b14 #f3ede4;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{width:10px;height:10px}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track{
  background:#f3ede4;
}
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#7a1226,#3b0b14);
  border:2px solid #f3ede4;
  border-radius:999px;
  min-height:46px;
}
html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover{background:#26070d}
html::-webkit-scrollbar-button,
body::-webkit-scrollbar-button{display:none;width:0;height:0}

/* Replace the previous inset/left-origin outline. */
.btn::before,
.filter-btn::before,
form button[type="submit"]::before,
form button[type="button"]:not(.custom-select-trigger)::before{
  inset:0!important;
  box-sizing:border-box;
  border-width:1px!important;
  border-style:solid;
  border-radius:inherit;
  opacity:0;
  transform:scaleX(0);
  transform-origin:50% 0;
  transition:transform .56s cubic-bezier(.22,.61,.36,1),opacity .14s ease!important;
}

.btn:hover::before,
.btn:focus-visible::before,
.filter-btn:hover::before,
.filter-btn:focus-visible::before,
form button[type="submit"]:hover::before,
form button[type="submit"]:focus-visible::before,
form button[type="button"]:not(.custom-select-trigger):hover::before,
form button[type="button"]:not(.custom-select-trigger):focus-visible::before{
  opacity:1;
  transform:scaleX(1);
}

/* =========================================================
   PERIMETER-FOLLOWING BUTTON BORDER ANIMATION
   Starts at the top centre, travels around the existing edge,
   and completes back at the top centre without adding an inset line.
   ========================================================= */
@property --sa-border-turn{
  syntax:'<angle>';
  inherits:false;
  initial-value:0deg;
}

.btn,
.filter-btn,
form button[type="submit"],
form button[type="button"]:not(.custom-select-trigger){
  --sa-border-color:#3b0b14;
}

.btn-primary,
.btn-dark,
.maroon-section .btn,
.site-footer .btn-primary,
form button[type="submit"]{
  --sa-border-color:#f8f3ec;
}

.btn-outline,
.filter-btn,
.newsletter-card .btn{
  --sa-border-color:#3b0b14;
}

.btn::before,
.filter-btn::before,
form button[type="submit"]::before,
form button[type="button"]:not(.custom-select-trigger)::before{
  inset:0 !important;
  padding:1px;
  border:0 !important;
  border-radius:inherit;
  box-sizing:border-box;
  opacity:1;
  transform:none !important;
  transform-origin:center;
  background:conic-gradient(
    from -90deg,
    var(--sa-border-color) 0deg,
    var(--sa-border-color) var(--sa-border-turn),
    transparent var(--sa-border-turn),
    transparent 360deg
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  transition:--sa-border-turn .85s cubic-bezier(.65,0,.35,1) !important;
  pointer-events:none;
}

.btn:hover::before,
.btn:focus-visible::before,
.filter-btn:hover::before,
.filter-btn:focus-visible::before,
form button[type="submit"]:hover::before,
form button[type="submit"]:focus-visible::before,
form button[type="button"]:not(.custom-select-trigger):hover::before,
form button[type="button"]:not(.custom-select-trigger):focus-visible::before{
  --sa-border-turn:360deg;
  opacity:1;
  transform:none !important;
}

.btn:not(:hover):not(:focus-visible)::before,
.filter-btn:not(:hover):not(:focus-visible)::before,
form button[type="submit"]:not(:hover):not(:focus-visible)::before,
form button[type="button"]:not(.custom-select-trigger):not(:hover):not(:focus-visible)::before{
  --sa-border-turn:0deg;
}

@media (hover:none), (max-width:700px){
  .btn::before,
  .filter-btn::before,
  form button[type="submit"]::before,
  form button[type="button"]:not(.custom-select-trigger)::before{display:none}
}


/* =========================================================
   2026-07-31 FAST PERIMETER ANIMATION + PORTFOLIO POLISH
   ========================================================= */

/* Fast, smooth full-perimeter trace. Starts and closes at top-centre. */
.btn::before,
.filter-btn::before,
form button[type="submit"]::before,
form button[type="button"]:not(.custom-select-trigger)::before{
  transition:--sa-border-turn .42s linear !important;
  will-change:--sa-border-turn;
  backface-visibility:hidden;
  transform:translateZ(0)!important;
}

/* Portfolio: richer editorial background and better top rhythm. */
.page-portfolio main > .section{
  background:
    radial-gradient(circle at 8% 5%,rgba(122,18,38,.34),transparent 30%),
    radial-gradient(circle at 94% 28%,rgba(248,243,236,.10),transparent 24%),
    linear-gradient(145deg,#26070d 0%,#3b0b14 42%,#20060b 100%)!important;
  padding-top:86px!important;
  padding-bottom:96px!important;
}
.page-portfolio main > .section > .container{max-width:1380px}
.page-portfolio .portfolio-intro{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);
  align-items:end;
  gap:54px;
  margin:0 0 42px;
  padding:0 4px;
}
.page-portfolio .portfolio-intro .eyebrow{color:#d8b36a!important;margin-bottom:14px}
.page-portfolio .portfolio-intro h2{
  margin:0;
  color:#fff8f0!important;
  font-size:clamp(2.8rem,5.5vw,5.7rem);
  line-height:.91;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.page-portfolio .portfolio-intro p{
  margin:0 0 8px;
  color:rgba(255,248,240,.72)!important;
  font-size:1.04rem;
  line-height:1.75;
  max-width:500px;
}
.page-portfolio .filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 38px!important;
  padding:10px;
  width:max-content;
  max-width:100%;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  box-shadow:0 18px 45px rgba(0,0,0,.18);
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
}
.page-portfolio .filter-btn{
  min-height:44px;
  padding:0 22px!important;
  border-color:rgba(255,248,240,.34)!important;
  color:#fff8f0!important;
  background:transparent!important;
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
.page-portfolio .filter-btn:hover{transform:translateY(-1px)}
.page-portfolio .filter-btn.active{
  background:#f8f3ec!important;
  color:#3b0b14!important;
  border-color:#f8f3ec!important;
  box-shadow:0 10px 28px rgba(0,0,0,.20);
}
.page-portfolio .masonry{column-gap:18px!important}
.page-portfolio .masonry-item{
  position:relative;
  overflow:hidden;
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.14);
  background:#1b070b;
  box-shadow:0 16px 42px rgba(0,0,0,.22);
  transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease;
}
.page-portfolio .masonry-item:hover{
  transform:translateY(-7px);
  border-color:rgba(248,243,236,.42);
  box-shadow:0 28px 68px rgba(0,0,0,.34);
  z-index:3;
}
.page-portfolio .masonry-item img{
  display:block;
  width:100%;
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s ease;
  filter:saturate(.92) contrast(1.03) brightness(.92);
}
.page-portfolio .masonry-item:hover img{
  transform:scale(1.045);
  filter:saturate(1.04) contrast(1.04) brightness(.98);
}
.page-portfolio .masonry-item::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 42%,rgba(20,3,7,.18) 62%,rgba(20,3,7,.92) 100%);
}
.page-portfolio .masonry-caption{
  left:20px!important;
  right:20px!important;
  bottom:18px!important;
  z-index:2;
  color:#fff!important;
  transform:translateY(2px);
  transition:transform .3s ease;
}
.page-portfolio .masonry-item:hover .masonry-caption{transform:translateY(-3px)}
.page-portfolio .masonry-caption strong{
  display:block;
  font-size:clamp(1.02rem,1.35vw,1.28rem);
  line-height:1.15;
  letter-spacing:-.02em;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}
.page-portfolio .masonry-caption small{
  display:inline-flex;
  margin-top:9px;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(248,243,236,.14);
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.88)!important;
  font-size:.73rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.page-portfolio .masonry + div[style]{padding-top:34px!important}
.page-portfolio .masonry + div[style] .btn{
  min-width:220px;
  min-height:54px;
  color:#fff8f0!important;
  border-color:rgba(255,248,240,.55)!important;
  background:rgba(255,255,255,.04)!important;
}

@media(max-width:900px){
  .page-portfolio main > .section{padding-top:68px!important}
  .page-portfolio .portfolio-intro{grid-template-columns:1fr;gap:20px;margin-bottom:32px}
  .page-portfolio .portfolio-intro p{max-width:640px}
  .page-portfolio .filter-bar{width:100%;border-radius:24px;margin-bottom:28px!important}
}
@media(max-width:620px){
  .page-portfolio main > .section{padding-top:54px!important;padding-bottom:70px!important}
  .page-portfolio .portfolio-intro h2{font-size:clamp(2.55rem,14vw,4rem)}
  .page-portfolio .filter-bar{gap:8px;padding:8px}
  .page-portfolio .filter-btn{flex:1 1 auto;padding:0 15px!important;min-height:42px}
  .page-portfolio .masonry{gap:16px!important}
  .page-portfolio .masonry-item{border-radius:20px!important}
}


/* =========================================================
   FINAL BUTTON LIGHT-SWEEP + BALANCED PORTFOLIO/SERVICES SPACING
   Border drawing animation removed. A soft exposure light now
   travels left-to-right inside the existing button shape.
   ========================================================= */
.btn::before,
.filter-btn::before,
form button[type="submit"]::before,
form button[type="button"]:not(.custom-select-trigger)::before{
  display:none!important;
  content:none!important;
  background:none!important;
  -webkit-mask:none!important;
  mask:none!important;
}

.btn,
.filter-btn,
form button[type="submit"],
form button[type="button"]:not(.custom-select-trigger){
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.btn::after,
.filter-btn::after,
form button[type="submit"]::after,
form button[type="button"]:not(.custom-select-trigger)::after{
  content:"";
  position:absolute;
  z-index:0;
  top:-55%;
  bottom:-55%;
  left:-52%;
  width:34%;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-140%,0,0) skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),rgba(255,255,255,.62),rgba(255,255,255,.10),transparent);
  filter:blur(.2px);
}

.btn:hover::after,
.btn:focus-visible::after,
.filter-btn:hover::after,
.filter-btn:focus-visible::after,
form button[type="submit"]:hover::after,
form button[type="submit"]:focus-visible::after,
form button[type="button"]:not(.custom-select-trigger):hover::after,
form button[type="button"]:not(.custom-select-trigger):focus-visible::after{
  opacity:1;
  transform:translate3d(500%,0,0) skewX(-22deg);
  transition:transform .62s cubic-bezier(.22,.61,.36,1),opacity .12s ease;
}

.btn > *, .filter-btn > *,
form button[type="submit"] > *,
form button[type="button"]:not(.custom-select-trigger) > *{
  position:relative;
  z-index:1;
}

/* Preserve readable text when buttons contain direct text nodes. */
.btn,.filter-btn,form button[type="submit"],form button[type="button"]:not(.custom-select-trigger){
  text-shadow:0 0 0 currentColor;
}

.page-portfolio main > .section{
  padding-top:96px!important;
  padding-bottom:110px!important;
}
.page-portfolio .portfolio-intro{margin-bottom:44px!important}
.page-portfolio .filter-bar{margin-bottom:42px!important}
.page-portfolio .masonry + div[style]{padding-top:46px!important;margin-bottom:0!important}

.page-services main > .section{
  padding-top:92px!important;
  padding-bottom:104px!important;
}
.page-services .services-intro{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);
  align-items:end;
  gap:54px;
  margin:0 0 48px;
}
.page-services .services-intro .eyebrow{margin-bottom:14px;color:#9b6b2f!important}
.page-services .services-intro h2{
  margin:0;
  color:#3b0b14!important;
  font-size:clamp(2.8rem,5.25vw,5.45rem);
  line-height:.92;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.page-services .services-intro p{
  margin:0 0 8px;
  max-width:520px;
  color:#766d68!important;
  font-size:1.04rem;
  line-height:1.75;
}

@media(max-width:900px){
  .page-portfolio main > .section{padding-top:72px!important;padding-bottom:86px!important}
  .page-services main > .section{padding-top:70px!important;padding-bottom:86px!important}
  .page-services .services-intro{grid-template-columns:1fr;gap:20px;margin-bottom:36px}
  .page-services .services-intro p{max-width:650px}
}
@media(max-width:620px){
  .page-portfolio main > .section{padding-top:58px!important;padding-bottom:74px!important}
  .page-portfolio .portfolio-intro{margin-bottom:32px!important}
  .page-portfolio .filter-bar{margin-bottom:30px!important}
  .page-portfolio .masonry + div[style]{padding-top:34px!important}
  .page-services main > .section{padding-top:56px!important;padding-bottom:74px!important}
  .page-services .services-intro{margin-bottom:30px}
  .page-services .services-intro h2{font-size:clamp(2.55rem,14vw,4rem)}
}
@media (hover:none){
  .btn::after,.filter-btn::after,
  form button[type="submit"]::after,
  form button[type="button"]:not(.custom-select-trigger)::after{display:none!important}
}

/* =========================================================
   PREMIUM SECTION INTRO PANELS + DOUBLE EXPOSURE SWEEP
   ========================================================= */
.page-portfolio .portfolio-intro,
.page-services .services-intro,
.page-services .soft-panel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(248,243,236,.20)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 88% 8%,rgba(248,243,236,.18),transparent 34%),
    linear-gradient(135deg,#4a0d18 0%,#2a070d 58%,#180306 100%)!important;
  box-shadow:0 24px 70px rgba(35,4,10,.22)!important;
}
.page-portfolio .portfolio-intro,
.page-services .services-intro{
  padding:58px 62px!important;
  align-items:center!important;
  gap:70px!important;
  margin-bottom:50px!important;
}
.page-portfolio .portfolio-intro::after,
.page-services .services-intro::after,
.page-services .soft-panel::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-58px;
  bottom:-80px;
  border-radius:50%;
  border:1px solid rgba(248,243,236,.12);
  pointer-events:none;
}
.page-portfolio .portfolio-intro > *,
.page-services .services-intro > *,
.page-services .soft-panel > *{position:relative;z-index:1}

.page-portfolio .portfolio-intro .eyebrow,
.page-services .services-intro .eyebrow,
.page-services .soft-panel .eyebrow{
  display:block;
  color:#d8b36a!important;
  margin:0 0 18px!important;
  letter-spacing:.18em;
}
.page-portfolio .portfolio-intro h2,
.page-services .services-intro h2,
.page-services .soft-panel h2{
  color:#fffaf5!important;
  margin:0!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
}
.page-portfolio .portfolio-intro p,
.page-services .services-intro p,
.page-services .soft-panel p{
  color:rgba(255,250,245,.78)!important;
  line-height:1.8!important;
  margin:0!important;
}
.page-portfolio .portfolio-intro p,
.page-services .services-intro > p{
  padding-top:10px;
  max-width:540px!important;
}

.page-services .soft-panel{
  padding:62px!important;
  margin-top:8px;
  margin-bottom:8px;
}
.page-services .soft-panel .grid-2{gap:72px!important;align-items:start!important}
.page-services .soft-panel .timeline{display:grid;gap:20px!important}
.page-services .soft-panel .timeline-item{
  padding:0 0 20px!important;
  margin:0!important;
  border-bottom:1px solid rgba(248,243,236,.14)!important;
}
.page-services .soft-panel .timeline-item:last-child{padding-bottom:0!important;border-bottom:0!important}
.page-services .soft-panel .timeline-item strong{display:block;color:#fffaf5!important;margin-bottom:8px!important}

/* Maintain clean vertical rhythm around portfolio and services content. */
.page-portfolio main > .section{padding-top:104px!important;padding-bottom:116px!important}
.page-portfolio .filter-bar{margin-top:0!important;margin-bottom:44px!important}
.page-portfolio .masonry{margin-top:0!important}
.page-portfolio .masonry + div[style]{padding-top:50px!important}
.page-services main > .section{padding-top:100px!important;padding-bottom:108px!important}
.page-services main > .section-sm{padding-top:78px!important;padding-bottom:106px!important}
.page-services .services-grid{row-gap:30px!important}

/* Two slower exposure-light passes on hover/focus. */
@keyframes signatureDoubleExposureSweep{
  0%{opacity:0;transform:translate3d(-165%,0,0) skewX(-22deg)}
  8%{opacity:1}
  39%{opacity:1;transform:translate3d(520%,0,0) skewX(-22deg)}
  44%{opacity:0;transform:translate3d(520%,0,0) skewX(-22deg)}
  45%{opacity:0;transform:translate3d(-165%,0,0) skewX(-22deg)}
  53%{opacity:1}
  88%{opacity:1;transform:translate3d(520%,0,0) skewX(-22deg)}
  100%{opacity:0;transform:translate3d(520%,0,0) skewX(-22deg)}
}
.btn:hover::after,
.btn:focus-visible::after,
.filter-btn:hover::after,
.filter-btn:focus-visible::after,
form button[type="submit"]:hover::after,
form button[type="submit"]:focus-visible::after,
form button[type="button"]:not(.custom-select-trigger):hover::after,
form button[type="button"]:not(.custom-select-trigger):focus-visible::after{
  transition:none!important;
  animation:signatureDoubleExposureSweep 1.55s cubic-bezier(.22,.61,.36,1) 1 both!important;
}

@media(max-width:900px){
  .page-portfolio .portfolio-intro,
  .page-services .services-intro{padding:44px 38px!important;gap:24px!important;margin-bottom:38px!important}
  .page-services .soft-panel{padding:44px 38px!important}
  .page-services .soft-panel .grid-2{gap:34px!important}
  .page-portfolio main > .section,
  .page-services main > .section{padding-top:74px!important;padding-bottom:88px!important}
  .page-services main > .section-sm{padding-top:62px!important;padding-bottom:88px!important}
}
@media(max-width:620px){
  .page-portfolio .portfolio-intro,
  .page-services .services-intro,
  .page-services .soft-panel{padding:32px 24px!important;border-radius:22px!important}
  .page-portfolio .portfolio-intro,
  .page-services .services-intro{margin-bottom:30px!important}
  .page-portfolio .portfolio-intro p,
  .page-services .services-intro > p{padding-top:0}
  .page-portfolio main > .section,
  .page-services main > .section{padding-top:58px!important;padding-bottom:76px!important}
  .page-services main > .section-sm{padding-top:52px!important;padding-bottom:76px!important}
  .page-portfolio .filter-bar{margin-bottom:32px!important}
  .page-portfolio .masonry + div[style]{padding-top:38px!important}
}


/* =========================================================
   SMOOTH DOUBLE EXPOSURE + PAGE INTRO PANELS
   ========================================================= */
.premium-page-intro{
  position:relative;
  overflow:hidden;
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  align-items:center;
  gap:70px;
  width:100%;
  padding:58px 62px;
  margin:0 0 50px;
  border:1px solid rgba(248,243,236,.20);
  border-radius:28px;
  background:radial-gradient(circle at 88% 8%,rgba(248,243,236,.18),transparent 34%),linear-gradient(135deg,#4a0d18 0%,#2a070d 58%,#180306 100%);
  box-shadow:0 24px 70px rgba(35,4,10,.22);
}
.premium-page-intro::after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-58px;bottom:-80px;
  border-radius:50%;
  border:1px solid rgba(248,243,236,.12);
  pointer-events:none;
}
.premium-page-intro > *{position:relative;z-index:1}
.premium-page-intro .eyebrow{display:block;color:#d8b36a!important;margin:0 0 18px!important;letter-spacing:.18em}
.premium-page-intro h2{color:#fffaf5!important;margin:0!important;line-height:.98!important;letter-spacing:-.045em!important}
.premium-page-intro p{color:rgba(255,250,245,.78)!important;line-height:1.8!important;margin:0!important;padding-top:10px;max-width:540px}

.page-albums main > .section,
.page-collections main > .section,
.page-pricing main > .section,
.page-contact main > .section{padding-top:100px!important;padding-bottom:108px!important}
.page-albums .filter-bar{margin-top:0!important;margin-bottom:42px!important}
.page-collections .premium-page-intro{margin-bottom:42px}
.page-pricing .pricing-grid{row-gap:30px}
.page-contact .premium-page-intro{margin-bottom:42px}

/* Replace the previous stepped sweep with two fluid, non-jerky passes. */
@keyframes signatureDoubleExposureSweepSmooth{
  0%{opacity:0;transform:translate3d(-190%,0,0) skewX(-20deg)}
  5%{opacity:.15}
  12%{opacity:.72}
  43%{opacity:.72;transform:translate3d(560%,0,0) skewX(-20deg)}
  48%{opacity:0;transform:translate3d(590%,0,0) skewX(-20deg)}
  49.9%{opacity:0;transform:translate3d(-190%,0,0) skewX(-20deg)}
  55%{opacity:.15}
  62%{opacity:.72}
  93%{opacity:.72;transform:translate3d(560%,0,0) skewX(-20deg)}
  100%{opacity:0;transform:translate3d(590%,0,0) skewX(-20deg)}
}
.btn::after,.filter-btn::after,
form button[type="submit"]::after,
form button[type="button"]:not(.custom-select-trigger)::after{
  will-change:transform,opacity;
  backface-visibility:hidden;
  transform-style:preserve-3d;
  pointer-events:none;
}
.btn:hover::after,.btn:focus-visible::after,
.filter-btn:hover::after,.filter-btn:focus-visible::after,
form button[type="submit"]:hover::after,
form button[type="submit"]:focus-visible::after,
form button[type="button"]:not(.custom-select-trigger):hover::after,
form button[type="button"]:not(.custom-select-trigger):focus-visible::after{
  transition:none!important;
  animation:signatureDoubleExposureSweepSmooth 2.05s linear 1 both!important;
}

@media(max-width:900px){
  .premium-page-intro{grid-template-columns:1fr;gap:24px;padding:44px 38px;margin-bottom:38px}
  .premium-page-intro p{max-width:650px;padding-top:0}
  .page-albums main > .section,.page-collections main > .section,.page-pricing main > .section,.page-contact main > .section{padding-top:74px!important;padding-bottom:88px!important}
}
@media(max-width:620px){
  .premium-page-intro{padding:32px 24px;border-radius:22px;margin-bottom:30px}
  .premium-page-intro h2{font-size:clamp(2.45rem,13vw,3.8rem)!important}
  .page-albums main > .section,.page-collections main > .section,.page-pricing main > .section,.page-contact main > .section{padding-top:58px!important;padding-bottom:76px!important}
}


/* Final native page scroll + borderless scrollbar */
html, body {
  scroll-behavior: auto !important;
}
html {
  scrollbar-width: thin;
  scrollbar-color: #3B0B14 transparent;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
  background: #3B0B14 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 999px;
}


/* Dynamic logged-in profile in the public website header */
.header-account{position:relative;display:flex;align-items:center;gap:9px}.header-bell{position:relative;width:38px;height:38px;border:1px solid rgba(59,11,20,.14);border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer}.header-bell b{position:absolute;right:-2px;top:-4px;min-width:17px;height:17px;border-radius:20px;background:#3B0B14;color:#fff;font:700 10px/17px Arial;text-align:center}.header-profile-trigger{display:flex;align-items:center;gap:9px;border:1px solid rgba(59,11,20,.14);background:#fff;border-radius:999px;padding:5px 10px 5px 5px;cursor:pointer;color:#3B0B14}.header-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#3B0B14;color:#fff;font-size:12px;font-weight:800}.header-avatar img{width:100%;height:100%;object-fit:cover}.header-user-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}.header-user-copy strong{font-size:12px;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-user-copy small{font-size:9px;opacity:.65;margin-top:4px}.header-chevron{font-size:14px}.header-profile-menu{position:absolute;right:0;top:calc(100% + 13px);width:220px;background:#fff;border:1px solid rgba(59,11,20,.12);border-radius:16px;box-shadow:0 18px 55px rgba(59,11,20,.16);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s ease;z-index:1000}.header-account.open .header-profile-menu{opacity:1;visibility:visible;transform:none}.header-menu-head{padding:11px 12px;border-bottom:1px solid #eee5df;margin-bottom:5px;display:flex;flex-direction:column}.header-menu-head small{font-size:11px;opacity:.65;margin-top:3px}.header-profile-menu a,.header-profile-menu button{width:100%;display:block;text-align:left;padding:10px 11px;border:0;background:none;border-radius:9px;color:#3B0B14;text-decoration:none;font:inherit;font-size:13px;cursor:pointer}.header-profile-menu a:hover,.header-profile-menu button:hover{background:#fbf3f0}.mobile-account-links{border-top:1px solid rgba(59,11,20,.12);margin-top:8px;padding-top:8px}.mobile-account-links button{width:100%;border:0;background:none;text-align:left;padding:12px;color:#3B0B14;font:inherit}@media(max-width:1080px){.header-user-copy{display:none}.header-profile-trigger{padding-right:7px}.header-bell{display:none}}@media(max-width:780px){.header-account{margin-left:auto}.header-profile-trigger{display:none}}

/* Premium editorial gallery page */
.page-gallery main{overflow:hidden}.gallery-hero{position:relative;min-height:760px;padding:130px 0 92px;background:#f7efe8;isolation:isolate}.gallery-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 14% 20%,rgba(198,164,105,.22),transparent 27%),radial-gradient(circle at 86% 78%,rgba(91,17,38,.14),transparent 29%),linear-gradient(135deg,#fffaf5 0%,#f1dfd4 100%);z-index:-2}.gallery-hero:after{content:'';position:absolute;right:-160px;top:110px;width:470px;height:470px;border:1px solid rgba(91,17,38,.13);border-radius:50%;z-index:-1}.gallery-hero-inner{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:80px}.gallery-hero-copy h1{font-size:clamp(4.2rem,7vw,7.5rem);max-width:720px;color:#241b18}.gallery-hero-copy>p{font-size:1.08rem;max-width:620px;line-height:1.85}.gallery-hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px}.gallery-text-link{font-weight:600;color:var(--wine);border-bottom:1px solid rgba(91,17,38,.3);padding-bottom:5px}.gallery-text-link span{display:inline-block;margin-left:7px;transition:.3s}.gallery-text-link:hover span{transform:translate(4px,-4px)}.gallery-hero-stats{display:flex;gap:34px;margin-top:52px;padding-top:28px;border-top:1px solid rgba(91,17,38,.13)}.gallery-hero-stats div{display:flex;flex-direction:column}.gallery-hero-stats strong{font-family:'Playfair Display',serif;font-size:1.75rem;color:var(--wine)}.gallery-hero-stats span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.gallery-hero-collage{position:relative;height:590px}.hero-frame{position:absolute;margin:0;overflow:hidden;box-shadow:0 35px 85px rgba(50,25,21,.23)}.hero-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.75,.25,1)}.hero-frame:hover img{transform:scale(1.04)}.hero-frame-main{inset:0 60px 0 90px;border-radius:190px 190px 24px 24px}.hero-frame-small{width:210px;height:280px;left:0;bottom:26px;border:10px solid #f8eee7;border-radius:110px 110px 18px 18px}.hero-seal{position:absolute;right:0;top:54px;width:148px;height:148px;border-radius:50%;background:var(--wine);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 22px 50px rgba(91,17,38,.25);border:1px solid rgba(255,255,255,.35);transform:rotate(7deg)}.hero-seal span{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#e7ca91}.hero-seal strong{font-family:'Playfair Display',serif;font-size:1.55rem}.hero-seal small{font-size:.58rem;letter-spacing:.13em;margin-top:5px}.gallery-showcase{background:#fffaf6!important;color:var(--ink)!important}.gallery-showcase:before{display:none!important}.gallery-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:60px;margin-bottom:38px}.gallery-intro h2{max-width:700px}.gallery-intro p{max-width:520px;justify-self:end}.gallery-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid rgba(91,17,38,.12)}.gallery-filter-btn{appearance:none;border:1px solid rgba(91,17,38,.16);background:#fff;padding:11px 18px;border-radius:999px;font:inherit;font-size:.78rem;letter-spacing:.04em;cursor:pointer;transition:.3s;color:#493b37}.gallery-filter-btn:hover,.gallery-filter-btn.active{background:var(--wine);border-color:var(--wine);color:white;transform:translateY(-2px)}.editorial-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:290px;gap:18px}.gallery-card{position:relative;margin:0;overflow:hidden;border-radius:22px;cursor:zoom-in;background:#e7d8cd;transition:opacity .35s,transform .35s;box-shadow:0 16px 40px rgba(50,25,21,.08)}.gallery-card.gallery-hidden{display:none}.gallery-card-wide{grid-column:span 2}.gallery-card-tall{grid-row:span 2}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.25,1),filter .5s}.gallery-card:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(24,12,10,.82),transparent 56%);opacity:.62;transition:.35s}.gallery-card:hover img{transform:scale(1.06);filter:saturate(.8)}.gallery-card:hover:after{opacity:.9}.gallery-card figcaption{position:absolute;z-index:2;inset:auto 24px 22px;color:#fff}.gallery-card figcaption span{display:block;color:#e8cc96;font-size:.67rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:7px}.gallery-card figcaption h3{font-size:clamp(1.35rem,2vw,2rem);margin:0;padding-right:52px}.gallery-card figcaption button{position:absolute;right:0;bottom:2px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);backdrop-filter:blur(8px);color:#fff;font-size:1.2rem;cursor:pointer;transition:.3s}.gallery-card:hover figcaption button{background:#fff;color:var(--wine);transform:rotate(45deg)}.gallery-cta{background:#2b0a12;color:white}.gallery-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.gallery-cta h2{max-width:780px;margin-bottom:0}.gallery-cta .eyebrow{color:#e8cc96}.gallery-lightbox{position:fixed;inset:0;background:rgba(17,8,8,.94);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.35s;padding:40px}.gallery-lightbox.open{opacity:1;visibility:visible}.lightbox-stage{max-width:min(1200px,82vw);max-height:86vh;position:relative}.lightbox-stage img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px;box-shadow:0 30px 100px rgba(0,0,0,.5)}.lightbox-caption{color:white;padding-top:16px}.lightbox-caption span{color:#e5c68c;font-size:.67rem;text-transform:uppercase;letter-spacing:.18em}.lightbox-caption h3{font-size:1.45rem;margin:5px 0 0}.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:3;transition:.25s}.lightbox-close{right:28px;top:24px;width:48px;height:48px;border-radius:50%;font-size:1.8rem}.lightbox-nav{top:50%;transform:translateY(-50%);width:52px;height:70px;border-radius:30px;font-size:2.2rem}.lightbox-prev{left:28px}.lightbox-next{right:28px}.lightbox-close:hover,.lightbox-nav:hover{background:#fff;color:var(--wine)}body.lightbox-open{overflow:hidden}
@media(max-width:1000px){.gallery-hero{padding:105px 0 75px}.gallery-hero-inner{grid-template-columns:1fr;gap:55px}.gallery-hero-collage{height:520px;max-width:650px;width:100%;margin:auto}.gallery-intro{grid-template-columns:1fr;gap:12px}.gallery-intro p{justify-self:start}.editorial-gallery{grid-template-columns:repeat(2,1fr)}.gallery-card-wide{grid-column:span 2}.gallery-cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.gallery-hero{padding:82px 0 62px}.gallery-hero-copy h1{font-size:clamp(3.15rem,15vw,5rem)}.gallery-hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.gallery-hero-stats{gap:18px;justify-content:space-between}.gallery-hero-stats strong{font-size:1.4rem}.gallery-hero-stats span{font-size:.56rem}.gallery-hero-collage{height:410px}.hero-frame-main{inset:0 14px 0 54px;border-radius:120px 120px 20px 20px}.hero-frame-small{width:130px;height:180px;border-width:7px}.hero-seal{width:104px;height:104px;right:-5px;top:34px}.hero-seal strong{font-size:1.08rem}.hero-seal span,.hero-seal small{font-size:.48rem}.editorial-gallery{display:block}.gallery-card,.gallery-card-wide,.gallery-card-tall{height:390px;margin-bottom:15px}.gallery-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:18px}.gallery-filter-btn{flex:0 0 auto}.gallery-lightbox{padding:20px}.lightbox-stage{max-width:94vw}.lightbox-nav{width:42px;height:58px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{right:12px;top:12px}.gallery-cta h2{font-size:2.5rem}}

/* =========================================================
   FINAL APPROVED EDIT — Album dropdowns + cream contact card
   2026-07-31
   ========================================================= */

/* Album details: warm luxury cream product card. */
.page-album-details .form-card{
  background:linear-gradient(180deg,#fffaf4 0%,#fff5ea 100%)!important;
  border:1px solid rgba(59,11,20,.11)!important;
  box-shadow:0 24px 64px rgba(28,7,12,.13)!important;
}

/* Album details: visible filled dropdown/input surfaces instead of transparent lines. */
.page-album-details .field .custom-select-trigger,
.page-album-details .field input,
.page-album-details .field > select{
  min-height:56px!important;
  padding:15px 46px 15px 16px!important;
  background:#f8eadc!important;
  border:1px solid rgba(59,11,20,.13)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
  color:#2c2020!important;
}
.page-album-details .field input{padding-right:16px!important}
.page-album-details .field .custom-select-trigger::before{display:none!important}
.page-album-details .field .custom-select-trigger:hover,
.page-album-details .field .custom-select-trigger:focus-visible,
.page-album-details .field .custom-select.open .custom-select-trigger,
.page-album-details .field input:focus{
  background:#fff4e9!important;
  border-color:rgba(59,11,20,.40)!important;
  box-shadow:0 0 0 4px rgba(59,11,20,.08),inset 0 1px 0 rgba(255,255,255,.8)!important;
}
.page-album-details .custom-select-menu{
  top:calc(100% + 8px)!important;
  padding:8px!important;
  background:#fff8f1!important;
  border:1px solid rgba(59,11,20,.14)!important;
  border-radius:15px!important;
  box-shadow:0 22px 50px rgba(29,7,12,.18)!important;
}
.page-album-details .custom-select-option:hover,
.page-album-details .custom-select-option:focus-visible{
  background:#4b0d18!important;
  color:#fffaf4!important;
}
.page-album-details .custom-select-option.is-selected{
  background:#f0ddcd!important;
  color:#3b0b14!important;
  font-weight:700!important;
}

/* Contact page: replace remaining white card surfaces with matching cream. */
.page-contact .form-card,
.page-contact main > .section .card,
.page-contact .dark-panel{
  background:linear-gradient(180deg,#fffaf4 0%,#fff5ea 100%)!important;
  border:1px solid rgba(59,11,20,.11)!important;
  box-shadow:0 24px 64px rgba(24,5,9,.20)!important;
}

/* Contact form fields and dropdowns receive a soft cream fill. */
.page-contact .form-card .field input,
.page-contact .form-card .field textarea,
.page-contact .form-card .field .custom-select-trigger,
.page-contact .form-card .field > select{
  background:#f8eadc!important;
  border:1px solid rgba(59,11,20,.13)!important;
  border-radius:14px!important;
  padding:16px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.page-contact .form-card .field textarea{min-height:132px!important}
.page-contact .form-card .field .custom-select-trigger{padding-right:46px!important}
.page-contact .form-card .field:before,
.page-contact .form-card .field:after,
.page-contact .form-card .custom-select-trigger::before{display:none!important}
.page-contact .form-card .field input:focus,
.page-contact .form-card .field textarea:focus,
.page-contact .form-card .custom-select-trigger:hover,
.page-contact .form-card .custom-select-trigger:focus-visible,
.page-contact .form-card .custom-select.open .custom-select-trigger{
  background:#fff4e9!important;
  border-color:rgba(59,11,20,.40)!important;
  box-shadow:0 0 0 4px rgba(59,11,20,.08),inset 0 1px 0 rgba(255,255,255,.8)!important;
}
.page-contact .custom-select-menu{
  background:#fff8f1!important;
  border:1px solid rgba(59,11,20,.14)!important;
  box-shadow:0 22px 50px rgba(29,7,12,.18)!important;
}
.page-contact .custom-select-option:hover,
.page-contact .custom-select-option:focus-visible{
  background:#4b0d18!important;
  color:#fffaf4!important;
}
.page-contact .custom-select-option.is-selected{
  background:#f0ddcd!important;
  color:#3b0b14!important;
  font-weight:700!important;
}

@media(max-width:700px){
  .page-album-details .form-card,
  .page-contact .form-card,
  .page-contact .dark-panel{border-radius:22px!important}
}


/* =========================================================
   V8 FINAL FIX — album dropdown stacking + gallery premium intro/CTA
   ========================================================= */
/* Keep every open album selector above the following fields and action buttons. */
.page-album-details .form-card,
.page-album-details .form-grid,
.page-album-details .field{overflow:visible!important}
.page-album-details .field{position:relative;z-index:1}
.page-album-details .field:focus-within,
.page-album-details .field.has-custom-select:has(.custom-select.open){z-index:500!important}
.page-album-details .custom-select{z-index:2!important}
.page-album-details .custom-select.open{z-index:600!important}
.page-album-details .custom-select-menu{
  z-index:9999!important;
  background:#fff8f1!important;
  opacity:1;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.page-album-details .actions{position:relative;z-index:0}

/* Gallery intro uses the exact wide premium-panel language of the Albums page,
   recoloured in the requested warm cream palette. */
.page-gallery .gallery-premium-intro{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;
  align-items:center!important;
  gap:64px!important;
  margin:0 0 38px!important;
  padding:54px 62px!important;
  overflow:hidden;
  border-radius:28px!important;
  background:linear-gradient(135deg,#fffaf4 0%,#f8eadc 100%)!important;
  border:1px solid rgba(59,11,20,.14)!important;
  box-shadow:0 22px 58px rgba(48,15,20,.10),inset 0 1px 0 rgba(255,255,255,.85)!important;
}
.page-gallery .gallery-premium-intro::after{
  content:'';
  position:absolute;
  right:-88px;
  bottom:-112px;
  width:245px;
  height:245px;
  border:1px solid rgba(91,17,38,.13);
  border-radius:50%;
}
.page-gallery .gallery-premium-intro>*{position:relative;z-index:1}
.page-gallery .gallery-premium-intro .eyebrow{color:#a36d21!important;margin-bottom:16px!important}
.page-gallery .gallery-premium-intro h2{color:#3b0b14!important;margin:0!important;line-height:1.02!important}
.page-gallery .gallery-premium-intro p{color:#665754!important;line-height:1.8!important;margin:0!important;max-width:520px;justify-self:end!important}

/* Footer-above CTA must remain fully visible even when reveal JS is delayed. */
.page-gallery .gallery-cta{
  position:relative;
  z-index:2;
  background:linear-gradient(135deg,#3b0b14 0%,#26070d 100%)!important;
  color:#fffaf4!important;
}
.page-gallery .gallery-cta .gallery-cta-inner,
.page-gallery .gallery-cta .gallery-cta-inner.reveal{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.page-gallery .gallery-cta h2{color:#fffaf4!important}
.page-gallery .gallery-cta .eyebrow{color:#d8b36a!important}
.page-gallery .gallery-cta .btn{color:#fffaf4!important;border-color:rgba(255,250,244,.7)!important}

@media(max-width:900px){
  .page-gallery .gallery-premium-intro{grid-template-columns:1fr!important;gap:20px!important;padding:42px 36px!important}
  .page-gallery .gallery-premium-intro p{justify-self:start!important}
}
@media(max-width:650px){
  .page-gallery .gallery-premium-intro{padding:30px 23px!important;border-radius:22px!important}
}


/* =========================================================
   V9 FINAL — approved readability + exact cream premium box
   ========================================================= */
:root{--signature-text:#3B0B14}

/* Exact Album-page-style premium panel on Gallery. */
.page-gallery .gallery-intro.gallery-premium-intro{
  color:var(--signature-text)!important;
}
.page-gallery .gallery-intro.gallery-premium-intro h2,
.page-gallery .gallery-intro.gallery-premium-intro p,
.page-gallery .gallery-intro.gallery-premium-intro span{
  color:var(--signature-text)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.page-gallery .gallery-intro.gallery-premium-intro .eyebrow{
  color:var(--signature-text)!important;
  font-weight:700!important;
}

/* Strong readable text on all approved cream cards only. */
.page-album-details .form-card h1,
.page-album-details .form-card h2,
.page-album-details .form-card h3,
.page-album-details .form-card p,
.page-album-details .form-card label,
.page-album-details .form-card .price,
.page-album-details .form-card .muted,
.page-contact .form-card h1,
.page-contact .form-card h2,
.page-contact .form-card h3,
.page-contact .form-card p,
.page-contact .form-card label,
.page-contact main > .section .card h1,
.page-contact main > .section .card h2,
.page-contact main > .section .card h3,
.page-contact main > .section .card p{
  color:var(--signature-text)!important;
  opacity:1!important;
}
.page-album-details .custom-select-trigger,
.page-album-details .custom-select-option,
.page-album-details .field input,
.page-contact .custom-select-trigger,
.page-contact .custom-select-option,
.page-contact .field input,
.page-contact .field textarea{
  color:var(--signature-text)!important;
}

/* Final dropdown stacking safeguard. */
.page-album-details .form-card{isolation:isolate;overflow:visible!important}
.page-album-details .form-grid{position:relative;overflow:visible!important}
.page-album-details .custom-select.open{position:relative;z-index:10000!important}
.page-album-details .custom-select.open .custom-select-menu{
  z-index:10001!important;
  background:#FFF8F1!important;
  color:var(--signature-text)!important;
}
.page-album-details .actions{position:relative;z-index:1!important}

/* Keep footer CTA visible while preserving white text on burgundy. */
.page-gallery .gallery-cta,
.page-gallery .gallery-cta *{visibility:visible!important}
.page-gallery .gallery-cta h2,
.page-gallery .gallery-cta .btn{color:#fffaf4!important}
.page-gallery .gallery-cta .eyebrow{color:#d8b36a!important}

/* Logged-in account dropdown */
.sa-public-account{position:relative;margin:0}.sa-public-account summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer;color:inherit;min-width:150px}.sa-public-account summary::-webkit-details-marker{display:none}.sa-public-account summary img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid rgba(122,0,31,.12)}.sa-public-account summary span{display:grid;line-height:1.12}.sa-public-account summary strong{font-size:13px;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-public-account summary small{font-size:10px;opacity:.65}.sa-public-account summary i{font-style:normal;margin-left:auto}.sa-public-account>div{position:absolute;right:0;top:calc(100% + 12px);z-index:1000;background:#fff;border:1px solid rgba(59,11,20,.12);border-radius:12px;box-shadow:0 18px 50px rgba(43,10,16,.16);padding:8px;min-width:210px}.sa-public-account>div a{display:block;padding:11px 12px;border-radius:8px;color:#2b171b!important;text-decoration:none;font-size:13px}.sa-public-account>div a:hover{background:#f8edf0;color:#7a001f!important}@media(max-width:900px){.sa-public-account summary span{display:none}.sa-public-account summary{min-width:auto}.sa-public-account>div{right:-48px}.nav-actions .btn{display:none}}

/* V2.1 live account/header correction */
.site-header .nav-actions{position:relative;z-index:1002;min-width:max-content}.header-account{position:relative;display:flex!important;align-items:center;gap:9px;min-width:0;flex:0 0 auto}.header-bell{position:relative;width:38px;height:38px;border:1px solid rgba(59,11,20,.14);border-radius:50%;background:#fff;display:grid!important;place-items:center;color:#3B0B14}.header-bell svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-profile-trigger{max-width:220px;min-width:0;display:flex!important;align-items:center;gap:9px;border:1px solid rgba(59,11,20,.14);background:#fff;border-radius:999px;padding:5px 10px 5px 5px;cursor:pointer;color:#3B0B14;white-space:nowrap}.header-avatar{flex:0 0 34px}.header-user-copy{min-width:0;max-width:128px}.header-user-copy strong{display:block;max-width:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-copy small{display:block}.header-chevron{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.header-profile-menu{z-index:10050!important}.header-profile-menu a{display:flex!important;align-items:center;gap:10px}.header-profile-menu a span{width:20px;text-align:center;color:#3B0B14}.header-profile-menu .header-logout{border-top:1px solid #eee5df;margin-top:5px;color:#8d1c31}.sa-wp-header{min-height:76px;padding:12px 5%;display:flex;align-items:center;gap:30px;border-bottom:1px solid rgba(59,11,20,.1);background:#fff;position:relative;z-index:1000}.sa-wp-brand{display:flex;align-items:center}.sa-wp-brand img,.sa-wp-brand .custom-logo{width:54px;height:54px;object-fit:contain}.sa-wp-nav{display:flex;gap:22px;margin:auto}.sa-wp-nav a,.sa-wp-actions>a{color:#2b2022;text-decoration:none}.sa-wp-actions{display:flex;align-items:center;gap:14px}.sa-auth-open{color:#3B0B14!important;font-weight:650}
@media(max-width:1280px){.site-header .nav-wrap{grid-template-columns:minmax(185px,210px) minmax(0,1fr) auto!important;gap:14px!important}.site-header .nav{gap:12px!important}.header-user-copy{display:none}.header-profile-trigger{padding-right:7px}.header-bell{width:36px;height:36px}}
@media(max-width:1050px){.site-header .nav-actions{margin-left:auto}.header-user-copy{display:none}.header-profile-trigger{display:flex!important}.header-bell{display:grid!important}}
@media(max-width:700px){.header-bell{display:none!important}.header-profile-trigger{padding:4px;border:0;background:transparent}.header-profile-trigger .header-chevron{display:none}.header-avatar{width:38px;height:38px;flex-basis:38px}.header-profile-menu{position:fixed;right:12px;top:68px;width:min(280px,calc(100vw - 24px))}.sa-wp-nav{display:none}.sa-wp-header{padding-inline:18px}.sa-wp-actions{margin-left:auto}}


/* ===== V2.2 public header collision + account polish ===== */
.site-header .nav-wrap{grid-template-columns:minmax(205px,220px) minmax(0,1fr) minmax(350px,max-content)!important;gap:14px!important}.site-header .nav{min-width:0;gap:clamp(10px,1vw,17px)!important;font-size:clamp(.76rem,.78vw,.84rem)}.site-header .nav a{white-space:nowrap}.site-header .nav-actions{min-width:0;gap:10px!important;display:flex;align-items:center;justify-content:flex-end}.site-header .header-account{margin-left:4px}.site-header .header-bell{flex:0 0 40px;z-index:2}.site-header .header-profile-trigger{flex:0 1 auto;box-shadow:0 8px 24px rgba(59,11,20,.08);background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,rgba(59,11,20,.32),rgba(212,175,106,.42),rgba(59,11,20,.18)) border-box;border:1px solid transparent!important}.site-header .header-profile-trigger:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(59,11,20,.14)}.site-header .header-profile-menu:before{content:'';position:absolute;right:24px;top:-7px;width:13px;height:13px;background:#fff;border-left:1px solid rgba(59,11,20,.12);border-top:1px solid rgba(59,11,20,.12);transform:rotate(45deg)}
html.sa-auth-lock .premium-cursor,body.sa-auth-active .premium-cursor{display:none!important}html.sa-auth-lock,html.sa-auth-lock *,body.sa-auth-active,body.sa-auth-active *{cursor:auto!important}
@media(max-width:1450px){.site-header .nav-wrap{grid-template-columns:190px minmax(0,1fr) minmax(300px,max-content)!important}.site-header .brand-text small{display:none}.site-header .nav{gap:10px!important;font-size:.75rem}.site-header .header-user-copy{display:none}.site-header .header-profile-trigger{padding-right:7px}.site-header .nav-actions>.btn{padding-inline:17px}}
@media(max-width:1180px){.site-header .nav{display:none!important}.site-header .nav-wrap{grid-template-columns:1fr auto!important}.site-header .mobile-toggle{display:block!important}.site-header .nav-actions{justify-self:end}.site-header .mobile-nav{top:72px}}


/* ===== V2.3 simplified navigation + mobile overlap correction ===== */
.site-header .nav-wrap{
  grid-template-columns:minmax(205px,240px) minmax(0,1fr) auto!important;
}
.site-header .nav{gap:clamp(14px,1.35vw,24px)!important}
.site-header .nav-actions{min-width:max-content!important}
.site-header .nav-actions>.plain.sa-auth-open{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 18px;
  border:1px solid rgba(59,11,20,.18);
  border-radius:999px;
  background:linear-gradient(135deg,#fff,#fbf4f1);
  color:#3B0B14!important;
  box-shadow:0 9px 26px rgba(59,11,20,.08);
  font-weight:750;
  text-decoration:none;
}
.site-header .nav-actions>.plain.sa-auth-open:hover,
.site-header .nav-actions>.plain.sa-auth-open:focus-visible{
  background:#3B0B14;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 13px 30px rgba(59,11,20,.18);
}
@media(max-width:1180px){
  .site-header .nav-wrap{grid-template-columns:minmax(0,1fr) auto!important}
  .site-header .nav-actions{display:flex!important;align-items:center!important;gap:9px!important}
  .site-header .nav-actions>.plain.sa-auth-open{display:inline-flex!important;min-height:38px;padding:7px 14px;font-size:.82rem}
  .site-header .mobile-toggle{flex:0 0 40px;width:40px;height:40px;display:grid!important;place-items:center;margin:0!important}
  .site-header .mobile-nav{top:72px;left:12px;right:12px;width:auto;z-index:10020}
}
@media(max-width:480px){
  .site-header .container.nav-wrap{width:min(calc(100% - 22px),1280px)!important}
  .site-header .brand-text strong{font-size:.88rem!important}
  .site-header .brand img{width:31px!important;height:36px!important}
  .site-header .nav-actions>.plain.sa-auth-open{padding:7px 12px;font-size:.78rem}
  .site-header .mobile-toggle{width:38px;height:38px;flex-basis:38px}
}
@media(max-width:760px){
  .studio-stat{
    grid-template-columns:38px minmax(108px,max-content) minmax(0,1fr)!important;
    column-gap:10px!important;
    width:100%;
    min-width:0;
  }
  .studio-stat strong{
    min-width:0;
    white-space:nowrap;
    font-size:clamp(1.5rem,7.2vw,1.85rem)!important;
    letter-spacing:-.055em;
  }
  .studio-stat small{
    min-width:0;
    padding-left:2px;
    overflow-wrap:anywhere;
    line-height:1.3;
  }
}
@media(max-width:365px){
  .studio-stat{grid-template-columns:34px minmax(96px,max-content) minmax(0,1fr)!important;column-gap:7px!important}
  .studio-stat strong{font-size:1.42rem!important}
  .studio-stat small{font-size:.68rem!important}
}


/* ===== WordPress V2.4 header/account corrections ===== */
html{margin-top:0!important}body.admin-bar .site-header,body.admin-bar .sa-wp-header{top:0!important}.site-header{z-index:10020!important}.site-header .nav-wrap{grid-template-columns:minmax(190px,220px) minmax(500px,1fr) minmax(245px,auto)!important;column-gap:18px!important}.site-header .nav{justify-content:center!important;gap:clamp(12px,1.25vw,22px)!important}.site-header .nav a{flex:0 0 auto}.site-header .nav-actions{isolation:isolate;padding-left:8px;min-width:245px!important}.site-header .header-account{display:grid!important;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;width:100%;max-width:260px}.site-header .header-bell{grid-column:1;position:relative!important;inset:auto!important;margin:0!important}.site-header .header-profile-trigger{grid-column:2;min-width:0;max-width:205px;width:100%}.site-header .header-profile-menu{right:0!important;top:calc(100% + 14px)!important}.sa-wp-header{display:grid;grid-template-columns:minmax(190px,230px) minmax(460px,1fr) minmax(230px,auto);gap:18px;padding:10px clamp(20px,4vw,70px)}.sa-wp-nav{margin:0;justify-content:center;min-width:0;gap:clamp(12px,1.3vw,24px)}.sa-wp-actions{justify-content:flex-end;min-width:0}.sa-auth-open{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 22px;border:1px solid rgba(59,11,20,.18);border-radius:999px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,#3B0B14,#d1aa67) border-box;box-shadow:0 9px 24px rgba(59,11,20,.1)}
@media(max-width:1320px){.site-header .nav-wrap{grid-template-columns:185px minmax(430px,1fr) minmax(190px,auto)!important}.site-header .header-user-copy{display:none!important}.site-header .header-profile-trigger{width:auto}.site-header .header-account{grid-template-columns:40px auto;max-width:130px}.sa-wp-header{grid-template-columns:180px minmax(420px,1fr) auto}.header-user-copy{display:none!important}}
@media(max-width:1080px){.site-header .nav{display:none!important}.site-header .nav-wrap{grid-template-columns:minmax(180px,1fr) auto!important}.site-header .nav-actions{min-width:0!important}.site-header .mobile-toggle{display:grid!important}.sa-wp-header{grid-template-columns:1fr auto}.sa-wp-nav{display:none}.sa-wp-actions{grid-column:2}}
@media(max-width:700px){.site-header .header-account{display:flex!important;width:auto}.site-header .header-bell{display:none!important}.site-header .header-profile-trigger{display:flex!important}.sa-wp-header{padding:10px 16px}.sa-wp-brand img,.sa-wp-brand .custom-logo{width:46px;height:46px}}


/* ===== V2.4 FINAL FRONTEND ACCOUNT / WORDPRESS CHROME FIX ===== */
html{margin-top:0!important}
body.admin-bar{margin-top:0!important;padding-top:0!important}
body.admin-bar #wpadminbar{display:none!important}
.site-header .nav-actions{overflow:visible!important}
.site-header .header-account{position:relative!important;z-index:10040!important}
.site-header .header-bell{flex:0 0 42px!important;margin-left:10px!important}
.site-header .header-profile-trigger{flex:0 0 auto!important}
.site-header .header-profile-menu{z-index:10080!important}
.sa-wp-header .header-account{position:relative;z-index:10040}
.sa-wp-header .header-bell{flex:0 0 42px;margin-left:8px}
.sa-wp-header .header-profile-menu{z-index:10080}
@media(max-width:1320px){
 .site-header .nav-wrap{grid-template-columns:minmax(175px,205px) minmax(420px,1fr) minmax(150px,auto)!important}
 .site-header .nav-actions{padding-left:16px!important}
 .site-header .header-bell{margin-left:0!important}
}
@media(max-width:1080px){
 .site-header .nav-wrap{grid-template-columns:minmax(170px,1fr) auto!important}
 .site-header .header-account{width:auto!important;max-width:none!important}
}

/* ===== V2.4.1 homepage-after-hero header + mobile chrome + footer tone ===== */
/* Homepage only: keep the complete navigation outside the hero and reveal it only
   after the hero has fully left the viewport. Other page headers are untouched. */
.page-index .site-header{
  transform:translate3d(0,-112%,0)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  background:rgba(255,253,249,.97)!important;
  border-bottom:1px solid rgba(59,11,20,.12)!important;
  box-shadow:0 12px 38px rgba(31,26,23,.10)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;
  transition:transform .86s cubic-bezier(.22,1,.36,1),opacity .64s ease,visibility 0s linear .86s!important;
  will-change:transform,opacity;
}
.page-index .site-header.is-after-hero{
  transform:translate3d(0,0,0)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transition:transform .86s cubic-bezier(.22,1,.36,1),opacity .64s ease .08s,visibility 0s linear 0s!important;
}
.page-index .site-header .nav a,
.page-index .site-header .nav-actions .plain,
.page-index .site-header .brand-text,
.page-index .site-header .mobile-toggle{color:#261d1b!important}
.page-index .site-header .brand img{filter:none!important}
.page-index .hero{min-height:100svh!important}

/* Public mobile header: remove the gold/yellow ring and retain a clean white avatar border. */
@media(max-width:700px){
  .site-header .header-profile-trigger,
  .sa-wp-header .header-profile-trigger{
    border:0!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    padding:3px!important;
    transform:none!important;
  }
  .site-header .header-avatar,
  .sa-wp-header .header-avatar{
    border:2px solid #fff!important;
    outline:1px solid rgba(59,11,20,.18)!important;
    outline-offset:0!important;
    box-shadow:0 3px 12px rgba(59,11,20,.12)!important;
    background:#fff!important;
  }
  .site-header .mobile-nav{
    border:1px solid rgba(59,11,20,.12)!important;
    background:rgba(255,253,249,.98)!important;
    background-image:none!important;
    box-shadow:0 18px 48px rgba(31,26,23,.14)!important;
  }
}

/* Approved footer tone across public pages and the WordPress fallback footer. */
.site-footer{
  background:#180409!important;
  background-image:none!important;
}



/* ===== V2.4.2 slower homepage reveal + footer newsletter spacing ===== */
/* Homepage only: add a restrained reveal duration without changing other page headers. */
.page-index .site-header{
  transition:transform .86s cubic-bezier(.22,1,.36,1),opacity .64s ease,visibility 0s linear .86s!important;
}
.page-index .site-header.is-after-hero{
  transition:transform .86s cubic-bezier(.22,1,.36,1),opacity .64s ease .08s,visibility 0s linear 0s!important;
}

/* Final approved footer tone. */
.site-footer{background:#180409!important;background-image:none!important}

/* Keep the newsletter placeholder comfortably away from the pill border. */
.site-footer .newsletter-inline input{
  min-width:0!important;
  padding-left:20px!important;
  padding-right:14px!important;
}
@media(max-width:760px){
  .site-footer .newsletter-inline input{padding-left:18px!important;padding-right:12px!important}
}


/* ===== V2.4.3 footer Join button — clean solid pill, no border ===== */
.site-footer .newsletter-inline .btn,
.site-footer .newsletter-inline button.btn{
  border:0!important;
  outline:0!important;
  background:#f8f3ec!important;
  color:#3b0b14!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
.site-footer .newsletter-inline .btn::before,
.site-footer .newsletter-inline button.btn::before{
  content:none!important;
  display:none!important;
}
.site-footer .newsletter-inline .btn:hover,
.site-footer .newsletter-inline .btn:focus-visible,
.site-footer .newsletter-inline button.btn:hover,
.site-footer .newsletter-inline button.btn:focus-visible{
  border:0!important;
  background:#fffdf9!important;
  color:#3b0b14!important;
  box-shadow:none!important;
  transform:none!important;
}


/* =========================================================
   V2.4.5 CONTACT SELECT RELIABILITY
   Keep contact dropdowns above sibling fields without clipping.
   The native select remains untouched for validation/submission.
   ========================================================= */
.page-contact .form-card,
.page-contact .form-card form,
.page-contact .form-card .form-grid,
.page-contact .form-card .field{
  overflow:visible!important;
}
.page-contact .form-card .field{
  position:relative;
  z-index:1;
}
.page-contact .form-card .field:focus-within,
.page-contact .form-card .field.has-custom-select:has(.custom-select.open){
  z-index:700!important;
}
.page-contact .form-card .custom-select{
  position:relative;
  z-index:2!important;
  isolation:isolate;
}
.page-contact .form-card .custom-select.open{
  z-index:800!important;
}
.page-contact .form-card .custom-select-menu{
  z-index:9999!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.page-contact .form-card .custom-select.open .custom-select-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.page-contact .form-card .custom-select-option{
  position:relative;
  z-index:1;
}
@media(max-width:700px){
  .page-contact .form-card .custom-select-menu{
    max-height:min(46vh,280px)!important;
    overscroll-behavior:contain;
  }
}


/* =========================================================
   V2.4.6 CONTACT DROPDOWN ACTIVE TEXT VISIBILITY
   Keep active/hover/focused options readable on burgundy,
   including mobile WebKit and editor-injected child nodes.
   ========================================================= */
.page-contact .form-card .custom-select-option:hover,
.page-contact .form-card .custom-select-option:focus,
.page-contact .form-card .custom-select-option:focus-visible,
.page-contact .form-card .custom-select-option:active,
.page-contact .form-card .custom-select-option[aria-selected="true"],
.page-contact .form-card .custom-select-option.is-selected{
  background:#4b0d18!important;
  color:#fff4e6!important;
  -webkit-text-fill-color:#fff4e6!important;
  opacity:1!important;
  font-weight:600!important;
  text-shadow:none!important;
}
.page-contact .form-card .custom-select-option:hover *,
.page-contact .form-card .custom-select-option:focus *,
.page-contact .form-card .custom-select-option:focus-visible *,
.page-contact .form-card .custom-select-option:active *,
.page-contact .form-card .custom-select-option[aria-selected="true"] *,
.page-contact .form-card .custom-select-option.is-selected *{
  color:#fff4e6!important;
  -webkit-text-fill-color:#fff4e6!important;
  opacity:1!important;
}
.page-contact .form-card .custom-select-option.is-placeholder:not(:hover):not(:focus):not(:focus-visible)[aria-selected="true"]{
  background:#f0ddcd!important;
  color:#3b0b14!important;
  -webkit-text-fill-color:#3b0b14!important;
  font-weight:500!important;
}


/* =========================================================
   V2.4.7 CONTACT DROPDOWN MINIMAL OPTION SPACING
   Separate adjacent options and keep hover restrained/readable.
   ========================================================= */
.page-contact .form-card .custom-select-menu{
  padding:8px!important;
}
.page-contact .form-card .custom-select-option{
  margin:4px 0!important;
  min-height:44px;
  padding:10px 13px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  box-shadow:none;
  transform:none!important;
  font-weight:400!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.page-contact .form-card .custom-select-option:first-child{margin-top:0!important}
.page-contact .form-card .custom-select-option:last-child{margin-bottom:0!important}

/* Minimal hover/focus: pale surface, burgundy text and a slim inset marker. */
.page-contact .form-card .custom-select-option:hover:not([aria-selected="true"]):not(.is-selected),
.page-contact .form-card .custom-select-option:focus:not([aria-selected="true"]):not(.is-selected),
.page-contact .form-card .custom-select-option:focus-visible:not([aria-selected="true"]):not(.is-selected){
  background:#f3e4dc!important;
  color:#3b0b14!important;
  -webkit-text-fill-color:#3b0b14!important;
  border-color:rgba(59,11,20,.08)!important;
  box-shadow:inset 3px 0 0 #3b0b14!important;
  font-weight:500!important;
}

/* Selected option stays premium burgundy/cream with clear space around it. */
.page-contact .form-card .custom-select-option[aria-selected="true"],
.page-contact .form-card .custom-select-option.is-selected,
.page-contact .form-card .custom-select-option[aria-selected="true"]:hover,
.page-contact .form-card .custom-select-option.is-selected:hover{
  background:#4b0d18!important;
  color:#fff4e6!important;
  -webkit-text-fill-color:#fff4e6!important;
  border-color:#4b0d18!important;
  box-shadow:none!important;
  font-weight:600!important;
}

/* Keep the disabled placeholder calm and readable. */
.page-contact .form-card .custom-select-option.is-placeholder{
  background:transparent!important;
  color:#5e4a46!important;
  -webkit-text-fill-color:#5e4a46!important;
  border-color:transparent!important;
  box-shadow:none!important;
  font-weight:400!important;
}
.page-contact .form-card .custom-select-option.is-placeholder:hover,
.page-contact .form-card .custom-select-option.is-placeholder:focus-visible{
  background:#f7eee8!important;
  color:#3b0b14!important;
  -webkit-text-fill-color:#3b0b14!important;
}


/* =========================================================
   V2.4.9 ALBUM COLLECTION + VIEW ALBUM EXPERIENCE
   Price-free collection cards and editorial album detail pages.
   ========================================================= */
.page-albums .product-card{position:relative;display:flex;flex-direction:column;min-height:100%}
.page-albums .album-card-media{display:block;overflow:hidden;background:#eadfd5}
.page-albums .album-card-media img{transition:transform .65s cubic-bezier(.22,1,.36,1),filter .35s ease!important}
.page-albums .product-card:hover .album-card-media img{transform:scale(1.045)!important;filter:saturate(.96)}
.page-albums .product-card-body{display:flex;flex-direction:column;flex:1;padding:22px 22px 20px}
.page-albums .product-card-body>p{min-height:3.15em;margin-bottom:22px}
.page-albums .album-card-action{margin-top:auto;padding-top:16px;border-top:1px solid rgba(59,11,20,.11);display:flex;align-items:center;justify-content:space-between;gap:18px}
.page-albums .album-card-note{font-size:.69rem;line-height:1.45;letter-spacing:.055em;text-transform:uppercase;color:#7a6a65}
.page-albums .album-text-link{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-size:.86rem;font-weight:600;color:#3b0b14}
.page-albums .album-text-link b{font-size:1rem;font-weight:400;transition:transform .25s ease}
.page-albums .album-text-link:hover b{transform:translate(3px,-3px)}

.page-album-details{background:#f7f1ea}
.album-view-hero{padding:72px 0 86px;background:radial-gradient(circle at 83% 12%,rgba(199,165,106,.18),transparent 25%),linear-gradient(145deg,#fffdf9,#efe4d9);overflow:hidden}
.album-view-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(42px,7vw,100px);align-items:center}
.album-view-copy h1{font-size:clamp(3.7rem,7.4vw,7.6rem);line-height:.91;max-width:780px;margin-bottom:28px}
.album-view-copy .lead{max-width:650px;font-size:clamp(1.02rem,1.4vw,1.2rem)}
.album-view-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:34px 0 30px;border-top:1px solid rgba(59,11,20,.13);border-bottom:1px solid rgba(59,11,20,.13)}
.album-view-meta>div{padding:17px 18px 17px 0;min-width:0}
.album-view-meta>div+div{padding-left:18px;border-left:1px solid rgba(59,11,20,.13)}
.album-view-meta small{display:block;margin-bottom:5px;color:#806e69;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase}
.album-view-meta strong{display:block;font-size:.9rem;font-weight:600;line-height:1.35}
.album-view-actions{align-items:center}
.album-back-link{display:inline-flex;align-items:center;gap:10px;font-size:.88rem;font-weight:550;color:#3b0b14;padding:10px 0}
.album-back-link span{transition:transform .25s ease}.album-back-link:hover span{transform:translateX(4px)}
.album-view-cover{position:relative;min-height:600px;border-radius:30px;overflow:hidden;background:#d8c8bb;box-shadow:0 34px 85px rgba(57,35,26,.2)}
.album-view-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(24,4,9,.46),transparent 42%);pointer-events:none}
.album-view-cover img{width:100%;height:100%;min-height:600px;object-fit:cover;transition:transform 1s cubic-bezier(.22,1,.36,1)}
.album-view-cover:hover img{transform:scale(1.025)}
.album-view-cover>span{position:absolute;z-index:2;left:26px;bottom:24px;color:#fff;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}

.album-story-section{background:#fffdf9!important;color:#171513!important}
.album-story-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,.7fr);gap:clamp(55px,10vw,150px);align-items:start}
.album-story-heading h2{font-size:clamp(2.8rem,5vw,5.3rem)}
.album-story-copy{padding-top:34px}
.album-story-copy>p:first-child{font-size:clamp(1.06rem,1.5vw,1.24rem);line-height:1.85;color:#4e4540!important}
.album-story-note{margin-top:26px;padding:19px 0 0;border-top:1px solid rgba(59,11,20,.13);font-size:.86rem;color:#7a6b65!important}

.album-gallery-section{background:#180409!important;color:#fff!important}
.album-gallery-section p{color:rgba(255,255,255,.68)!important}
.album-gallery-section .eyebrow{color:#e1c38d!important}
.album-gallery-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:50px;align-items:end;margin-bottom:35px}
.album-gallery-head h2{font-size:clamp(2.6rem,4.5vw,4.7rem);max-width:780px}
.album-editorial-gallery{display:grid;grid-template-columns:1.45fr .75fr;grid-template-rows:repeat(2,minmax(250px,330px));gap:18px}
.album-editorial-gallery figure{position:relative;margin:0;overflow:hidden;border-radius:22px;background:#2c1116}
.album-editorial-gallery .album-gallery-large{grid-row:1/3}
.album-editorial-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.22,1,.36,1),filter .4s ease}
.album-editorial-gallery figure:hover img{transform:scale(1.035);filter:saturate(.92)}
.album-editorial-gallery figcaption{position:absolute;left:15px;right:15px;bottom:15px;padding:11px 13px;border-radius:11px;background:rgba(24,4,9,.68);backdrop-filter:blur(12px);color:#fff;font-size:.72rem;letter-spacing:.04em;opacity:0;transform:translateY(7px);transition:.25s}
.album-editorial-gallery figure:hover figcaption{opacity:1;transform:none}

.album-spec-section{background:#f7f1ea!important;color:#171513!important}
.album-spec-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);column-gap:60px;align-items:end;margin-bottom:38px}
.album-spec-intro .eyebrow{grid-column:1/-1}
.album-spec-intro h2{font-size:clamp(2.7rem,4.7vw,5rem)}
.album-spec-intro p{padding-bottom:8px}
.album-spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(59,11,20,.15);border-bottom:1px solid rgba(59,11,20,.15)}
.album-spec-item{padding:28px 24px 30px 0}
.album-spec-item+.album-spec-item{padding-left:24px;border-left:1px solid rgba(59,11,20,.15)}
.album-spec-item>span{display:block;margin-bottom:34px;font-size:.7rem;color:#8a7770;letter-spacing:.12em}
.album-spec-item h3{font-size:1.2rem;margin-bottom:11px}
.album-spec-item p{font-size:.83rem;line-height:1.75;margin:0}

.album-process-section{background:#fffdf9!important;color:#171513!important}
.album-process-wrap{display:grid;grid-template-columns:minmax(0,.75fr) minmax(420px,1fr);gap:clamp(55px,10vw,140px);align-items:start}
.album-process-title{position:sticky;top:115px}
.album-process-title h2{font-size:clamp(2.7rem,4.8vw,5rem)}
.album-process-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(59,11,20,.14)}
.album-process-list li{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid rgba(59,11,20,.14)}
.album-process-list li>b{font-size:.72rem;letter-spacing:.12em;color:#8c746d}
.album-process-list strong{display:block;font-size:1.05rem;font-weight:600;margin-bottom:6px}
.album-process-list p{margin:0;font-size:.86rem;line-height:1.65}

.album-final-cta{background:#f7f1ea!important;color:#171513!important}
.album-cta-card{display:flex;align-items:end;justify-content:space-between;gap:45px;padding:clamp(34px,5vw,66px);border-radius:28px;background:linear-gradient(135deg,#fffdf9,#eadfd4);border:1px solid rgba(59,11,20,.08);box-shadow:0 25px 70px rgba(56,36,28,.1)}
.album-cta-card h2{font-size:clamp(2.5rem,4.8vw,5rem)}
.album-cta-card p{max-width:650px;margin-bottom:0}
.album-cta-card .actions{flex:0 0 auto}

@media(max-width:980px){
  .album-view-grid{grid-template-columns:1fr;gap:40px}.album-view-cover,.album-view-cover img{min-height:520px}
  .album-story-grid,.album-process-wrap{grid-template-columns:1fr;gap:34px}.album-story-copy{padding-top:0}.album-process-title{position:static}
  .album-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.album-spec-item:nth-child(3){border-left:0;border-top:1px solid rgba(59,11,20,.15);padding-left:0}.album-spec-item:nth-child(4){border-top:1px solid rgba(59,11,20,.15)}
  .album-cta-card{align-items:flex-start;flex-direction:column}.album-cta-card .actions{width:100%}
}
@media(max-width:700px){
  .page-albums .album-card-action{align-items:flex-end}.page-albums .album-card-note{max-width:145px}
  .album-view-hero{padding:44px 0 58px}.album-view-copy h1{font-size:clamp(3.05rem,17vw,4.8rem)}
  .album-view-meta{grid-template-columns:1fr}.album-view-meta>div{padding:14px 0}.album-view-meta>div+div{padding-left:0;border-left:0;border-top:1px solid rgba(59,11,20,.13)}
  .album-view-cover,.album-view-cover img{min-height:430px;border-radius:22px}
  .album-gallery-head,.album-spec-intro{grid-template-columns:1fr;gap:8px}.album-editorial-gallery{grid-template-columns:1fr;grid-template-rows:auto}.album-editorial-gallery .album-gallery-large{grid-row:auto}.album-editorial-gallery figure{height:330px}.album-editorial-gallery figcaption{opacity:1;transform:none}
  .album-spec-grid{grid-template-columns:1fr}.album-spec-item,.album-spec-item+.album-spec-item,.album-spec-item:nth-child(3){padding:22px 0;border-left:0;border-top:1px solid rgba(59,11,20,.15)}.album-spec-item:first-child{border-top:0}.album-spec-item>span{margin-bottom:15px}
  .album-process-list li{grid-template-columns:42px 1fr;gap:12px}.album-cta-card .actions,.album-cta-card .btn{width:100%}
}

/* =========================================================
   V2.4.9 — ALBUM FILTER PILLS MATCH PORTFOLIO
   ========================================================= */
.page-albums .filter-bar{
  display:flex!important;
  align-items:center;
  flex-wrap:wrap;
  gap:12px!important;
  width:max-content;
  max-width:100%;
  margin:0 0 42px!important;
  padding:10px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.18)!important;
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
}
.page-albums .filter-btn{
  position:relative;
  min-height:44px!important;
  padding:0 22px!important;
  border:1px solid rgba(255,248,240,.34)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#fff8f0!important;
  font-weight:600!important;
  line-height:1!important;
  white-space:nowrap;
  box-shadow:none!important;
  transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
.page-albums .filter-btn:hover,
.page-albums .filter-btn:focus-visible{
  transform:translateY(-1px)!important;
  border-color:rgba(255,248,240,.68)!important;
  background:rgba(255,248,240,.08)!important;
  color:#fff8f0!important;
  box-shadow:0 8px 20px rgba(0,0,0,.12)!important;
}
.page-albums .filter-btn.active,
.page-albums .filter-btn.active:hover,
.page-albums .filter-btn.active:focus-visible{
  transform:none!important;
  border-color:#f8f3ec!important;
  background:#f8f3ec!important;
  color:#3b0b14!important;
  box-shadow:0 10px 28px rgba(0,0,0,.20)!important;
}
.page-albums .filter-btn:focus-visible{
  outline:2px solid rgba(248,243,236,.9)!important;
  outline-offset:3px;
}

@media(max-width:700px){
  .page-albums .filter-bar{
    width:100%;
    gap:8px!important;
    padding:8px!important;
    border-radius:24px!important;
    margin-bottom:30px!important;
  }
  .page-albums .filter-btn{
    flex:1 1 calc(50% - 4px);
    min-width:0;
    min-height:42px!important;
    padding:0 14px!important;
    font-size:.82rem!important;
  }
}

/* =========================================================
   V2.5.0 — SERVICES CARDS MATCH MINIMAL ALBUM CARD LANGUAGE
   ========================================================= */
.page-services .services-grid{align-items:stretch}
.page-services .service-card{
  padding:0!important;
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  border-radius:24px!important;
  background:#f6f2f1!important;
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:0 18px 45px rgba(27,8,12,.12)!important;
  transition:border-color .3s ease,box-shadow .3s ease!important;
}
.page-services .service-card:hover{
  transform:none!important;
  border-color:rgba(59,11,20,.22)!important;
  box-shadow:0 24px 58px rgba(27,8,12,.16)!important;
}
.page-services .service-card:before,.page-services .service-card:after{display:none!important}
.page-services .service-card-media{
  display:block;
  position:relative;
  height:330px;
  overflow:hidden;
  border-radius:23px 23px 0 0;
  background:#ded4cf;
}
.page-services .service-card-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s cubic-bezier(.22,1,.36,1),filter .4s ease!important;
}
.page-services .service-card:hover .service-card-media img{transform:scale(1.035)!important;filter:saturate(.96)}
.page-services .service-card-content{padding:22px 22px 20px!important;display:flex;flex-direction:column;flex:1}
.page-services .service-card-badge{
  display:block;width:100%;padding:9px 14px;border-radius:999px;
  background:#eadfce;color:#4b2429;font-size:13px;font-weight:500;line-height:1.2;
  margin:0 0 12px;
}
.page-services .service-card-content h3{margin:0 0 14px!important;font-size:clamp(1.7rem,2.2vw,2.25rem);line-height:1.05;letter-spacing:-.045em;color:#211a18!important}
.page-services .service-card-content>p{margin:0 0 26px!important;min-height:3.2em;color:#655c58!important;font-size:15.5px;line-height:1.65}
.page-services .service-card-action{
  margin-top:auto;padding-top:18px;border-top:1px solid rgba(59,11,20,.12);
  display:flex;align-items:center;justify-content:space-between;gap:18px;
}
.page-services .service-card-note{font-size:11px;line-height:1.35;text-transform:uppercase;letter-spacing:.085em;color:#766b67}
.page-services .service-text-link{
  display:inline-flex!important;align-items:center;gap:8px;white-space:nowrap;
  color:#4b131d!important;font-size:13px;font-weight:650;text-decoration:none;
  transform:none!important;
}
.page-services .service-text-link:after{display:none!important}
.page-services .service-text-link b{font-size:15px;font-weight:500;transition:transform .25s ease}
.page-services .service-text-link:hover b{transform:translate(2px,-2px)}
@media(max-width:900px){.page-services .service-card-media{height:285px}}
@media(max-width:700px){
  .page-services .service-card{border-radius:20px!important}
  .page-services .service-card-media{height:270px;border-radius:19px 19px 0 0}
  .page-services .service-card-content{padding:18px!important}
  .page-services .service-card-action{gap:12px;align-items:flex-end}
  .page-services .service-card-note{max-width:55%}
}


/* =========================================================
   V2.5.1 — VIEW ALBUM TEXT VISIBILITY GUARANTEE
   Keeps every album-detail page readable even when external
   reveal-animation libraries are delayed, blocked or cached.
   ========================================================= */
.page-album-details main .reveal,
.page-album-details main .reveal.show{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
}
.page-album-details .album-view-copy,
.page-album-details .album-view-copy h1,
.page-album-details .album-view-copy .lead,
.page-album-details .album-view-meta small,
.page-album-details .album-view-meta strong,
.page-album-details .album-back-link,
.page-album-details .album-story-heading,
.page-album-details .album-story-heading h2,
.page-album-details .album-story-copy,
.page-album-details .album-spec-intro,
.page-album-details .album-spec-item,
.page-album-details .album-process-title,
.page-album-details .album-process-list,
.page-album-details .album-process-list strong,
.page-album-details .album-process-list p,
.page-album-details .album-cta-card,
.page-album-details .album-cta-card h2,
.page-album-details .album-cta-card p{
  opacity:1!important;
  visibility:visible!important;
}
.page-album-details .album-view-copy h1,
.page-album-details .album-story-heading h2,
.page-album-details .album-spec-intro h2,
.page-album-details .album-spec-item h3,
.page-album-details .album-process-title h2,
.page-album-details .album-process-list strong,
.page-album-details .album-cta-card h2{
  color:#171513!important;
  -webkit-text-fill-color:#171513!important;
}
.page-album-details .album-view-copy .lead,
.page-album-details .album-story-copy p,
.page-album-details .album-spec-intro p,
.page-album-details .album-spec-item p,
.page-album-details .album-process-list p,
.page-album-details .album-cta-card p{
  color:#554943!important;
  -webkit-text-fill-color:#554943!important;
}
.page-album-details .album-gallery-section h2,
.page-album-details .album-gallery-section p,
.page-album-details .album-gallery-section figcaption{
  opacity:1!important;
  visibility:visible!important;
  -webkit-text-fill-color:currentColor!important;
}
.page-album-details .album-gallery-section h2{color:#fff!important}
.page-album-details .album-gallery-section p{color:rgba(255,255,255,.74)!important}
.page-album-details .album-gallery-section .eyebrow{color:#e1c38d!important}

@media (prefers-reduced-motion:reduce){
  .page-album-details main .reveal{transition:none!important}
}


/* =========================================================
   V2.5.2 — PROFESSIONAL SERVICES CARD REFINEMENT
   Editorial proportions, clearer hierarchy and restrained CTA.
   ========================================================= */
.page-services .services-grid{
  gap:28px!important;
}
.page-services .service-card{
  border-radius:22px!important;
  background:#f8f5f3!important;
  border:1px solid rgba(75,19,29,.12)!important;
  box-shadow:0 14px 40px rgba(24,4,9,.10)!important;
}
.page-services .service-card:hover{
  border-color:rgba(75,19,29,.26)!important;
  box-shadow:0 22px 54px rgba(24,4,9,.15)!important;
}
.page-services .service-card-media{
  height:auto!important;
  aspect-ratio:4 / 3;
  border-radius:21px 21px 0 0!important;
}
.page-services .service-card-media:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:28%;
  background:linear-gradient(180deg,transparent,rgba(24,4,9,.10));
  pointer-events:none;
}
.page-services .service-card-content{
  padding:22px 22px 21px!important;
}
.page-services .service-card-badge{
  width:auto!important;
  align-self:flex-start;
  padding:8px 14px!important;
  margin:0 0 14px!important;
  border:1px solid rgba(75,19,29,.08);
  background:#eee2d4!important;
  color:#4b131d!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.page-services .service-card-content h3{
  max-width:92%;
  margin:0 0 11px!important;
  font-size:clamp(1.42rem,1.85vw,1.9rem)!important;
  line-height:1.13!important;
  letter-spacing:-.035em!important;
  font-weight:650!important;
}
.page-services .service-card-content>p{
  min-height:0!important;
  margin:0 0 24px!important;
  color:#685f5b!important;
  font-size:14.5px!important;
  line-height:1.65!important;
}
.page-services .service-card-action{
  padding-top:16px!important;
  border-top:1px solid rgba(75,19,29,.11)!important;
  gap:14px!important;
}
.page-services .service-card-note{
  max-width:58%;
  color:#746a66!important;
  font-size:10px!important;
  font-weight:600!important;
  line-height:1.45!important;
  letter-spacing:.09em!important;
}
.page-services .service-text-link{
  color:#4b131d!important;
  font-size:12.5px!important;
  font-weight:650!important;
  letter-spacing:-.01em;
}
.page-services .service-text-link{
  position:relative;
}
.page-services .service-text-link:before{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-4px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .28s ease;
}
.page-services .service-text-link:hover:before{
  transform:scaleX(1);
  transform-origin:left;
}
@media(max-width:1024px){
  .page-services .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important}
}
@media(max-width:640px){
  .page-services .services-grid{grid-template-columns:1fr!important;gap:20px!important}
  .page-services .service-card{max-width:440px;margin-inline:auto;border-radius:20px!important}
  .page-services .service-card-media{border-radius:19px 19px 0 0!important;aspect-ratio:1.28 / 1}
  .page-services .service-card-content{padding:19px 20px 20px!important}
  .page-services .service-card-content h3{max-width:100%;font-size:1.55rem!important}
  .page-services .service-card-content>p{font-size:14px!important;margin-bottom:22px!important}
  .page-services .service-card-action{align-items:center!important}
  .page-services .service-card-note{max-width:56%}
}

/* =========================================================
   V2.5.3 — VIEW ALBUM HERO COMPACT BALANCE
   Applies only to all album detail/view pages.
   ========================================================= */
.page-album-details .album-view-hero{
  padding-top:clamp(34px,4.2vw,54px)!important;
  padding-bottom:clamp(42px,5vw,64px)!important;
}
.page-album-details .album-view-grid{
  grid-template-columns:minmax(0,1fr) minmax(360px,.82fr)!important;
  gap:clamp(36px,5.5vw,76px)!important;
}
.page-album-details .album-view-copy h1{
  font-size:clamp(3rem,5.55vw,6.05rem)!important;
  line-height:.94!important;
  margin-bottom:22px!important;
  max-width:690px!important;
}
.page-album-details .album-view-copy .lead{
  font-size:clamp(.98rem,1.18vw,1.12rem)!important;
  line-height:1.72!important;
  max-width:610px!important;
}
.page-album-details .album-view-meta{
  margin-top:27px!important;
  margin-bottom:24px!important;
}
.page-album-details .album-view-meta>div{
  padding-top:14px!important;
  padding-bottom:14px!important;
}
.page-album-details .album-view-cover,
.page-album-details .album-view-cover img{
  min-height:0!important;
  height:clamp(430px,58vh,540px)!important;
}
.page-album-details .album-view-cover{
  max-width:610px!important;
  width:100%!important;
  justify-self:end!important;
  border-radius:26px!important;
}
.page-album-details .album-view-cover>span{
  left:22px!important;
  bottom:20px!important;
}
@media (min-width:981px) and (max-height:760px){
  .page-album-details .album-view-hero{padding-top:28px!important;padding-bottom:38px!important}
  .page-album-details .album-view-cover,
  .page-album-details .album-view-cover img{height:430px!important}
  .page-album-details .album-view-copy h1{font-size:clamp(3rem,5.1vw,5.25rem)!important}
}
@media (max-width:980px){
  .page-album-details .album-view-grid{grid-template-columns:1fr!important;gap:30px!important}
  .page-album-details .album-view-cover{justify-self:center!important;max-width:680px!important}
  .page-album-details .album-view-cover,
  .page-album-details .album-view-cover img{height:clamp(390px,62vw,520px)!important}
}
@media (max-width:700px){
  .page-album-details .album-view-hero{padding-top:28px!important;padding-bottom:42px!important}
  .page-album-details .album-view-copy h1{font-size:clamp(2.65rem,14vw,4.15rem)!important;margin-bottom:17px!important}
  .page-album-details .album-view-copy .lead{font-size:.96rem!important;line-height:1.65!important}
  .page-album-details .album-view-meta{margin:22px 0 20px!important}
  .page-album-details .album-view-cover,
  .page-album-details .album-view-cover img{height:clamp(330px,108vw,440px)!important}
  .page-album-details .album-view-cover{border-radius:20px!important}
}

/* =========================================================
   V2.5.4 — PORTFOLIO PROFESSIONAL EDITORIAL GRID
   Balanced spacing, consistent borders and premium hierarchy.
   ========================================================= */
.page-portfolio main > .section{
  padding-top:clamp(58px,6vw,84px)!important;
  padding-bottom:clamp(72px,7vw,104px)!important;
}
.page-portfolio main > .section > .container{
  width:min(calc(100% - 40px),1320px)!important;
}
.page-portfolio .portfolio-intro{
  margin-bottom:34px!important;
  padding-bottom:30px!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.page-portfolio .filter-bar{
  margin-bottom:30px!important;
}
.page-portfolio .masonry{
  columns:unset!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-flow:dense!important;
  grid-auto-rows:32px!important;
  gap:18px!important;
}
.page-portfolio .masonry-item{
  margin:0!important;
  min-width:0!important;
  border-radius:22px!important;
  border:1px solid rgba(255,248,240,.18)!important;
  box-shadow:0 18px 44px rgba(9,1,3,.24)!important;
  background:#22080d!important;
  isolation:isolate;
}
.page-portfolio .masonry-item:nth-child(1),
.page-portfolio .masonry-item:nth-child(4),
.page-portfolio .masonry-item:nth-child(6),
.page-portfolio .masonry-item:nth-child(9){
  grid-column:span 4;
  grid-row:span 10;
}
.page-portfolio .masonry-item:nth-child(2),
.page-portfolio .masonry-item:nth-child(8){
  grid-column:span 4;
  grid-row:span 16;
}
.page-portfolio .masonry-item:nth-child(3),
.page-portfolio .masonry-item:nth-child(5),
.page-portfolio .masonry-item:nth-child(7){
  grid-column:span 4;
  grid-row:span 12;
}
.page-portfolio .masonry-item img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.page-portfolio .masonry-item::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  height:auto!important;
  background:linear-gradient(180deg,rgba(15,3,6,.02) 30%,rgba(15,3,6,.30) 67%,rgba(15,3,6,.92) 100%)!important;
  opacity:1!important;
  pointer-events:none!important;
}
.page-portfolio .masonry-item::after{
  content:""!important;
  inset:10px!important;
  height:auto!important;
  border:1px solid rgba(255,255,255,0)!important;
  border-radius:15px!important;
  background:none!important;
  transform:none!important;
  transition:border-color .28s ease!important;
}
.page-portfolio .masonry-item:hover::after{
  border-color:rgba(255,255,255,.34)!important;
}
.page-portfolio .masonry-item:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(255,248,240,.36)!important;
  box-shadow:0 26px 60px rgba(9,1,3,.34)!important;
}
.page-portfolio .masonry-item:hover img{
  transform:scale(1.035)!important;
}
.page-portfolio .masonry-caption{
  left:24px!important;
  right:24px!important;
  bottom:22px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:10px!important;
}
.page-portfolio .masonry-caption br{display:none!important}
.page-portfolio .masonry-caption strong{
  max-width:90%;
  font-size:clamp(1rem,1.25vw,1.22rem)!important;
  line-height:1.22!important;
  font-weight:650!important;
  letter-spacing:-.025em!important;
}
.page-portfolio .masonry-caption small{
  margin:0!important;
  padding:6px 11px!important;
  border-color:rgba(255,255,255,.26)!important;
  background:rgba(30,6,11,.38)!important;
  font-size:.66rem!important;
  font-weight:600!important;
  letter-spacing:.11em!important;
}
.page-portfolio .masonry + div[style]{
  padding-top:38px!important;
  margin-top:0!important;
}
@media(max-width:1024px){
  .page-portfolio main > .section > .container{width:min(calc(100% - 32px),1320px)!important}
  .page-portfolio .masonry{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:16px!important}
  .page-portfolio .masonry-item,
  .page-portfolio .masonry-item:nth-child(n){grid-column:auto!important;grid-row:auto!important;aspect-ratio:4 / 3!important}
  .page-portfolio .masonry-item:nth-child(2),
  .page-portfolio .masonry-item:nth-child(8){aspect-ratio:4 / 5!important}
}
@media(max-width:640px){
  .page-portfolio main > .section > .container{width:min(calc(100% - 24px),1320px)!important}
  .page-portfolio .portfolio-intro{padding-bottom:24px!important;margin-bottom:26px!important}
  .page-portfolio .filter-bar{margin-bottom:24px!important}
  .page-portfolio .masonry{grid-template-columns:1fr!important;gap:14px!important}
  .page-portfolio .masonry-item,
  .page-portfolio .masonry-item:nth-child(n){aspect-ratio:1.18 / 1!important;border-radius:18px!important}
  .page-portfolio .masonry-caption{left:19px!important;right:19px!important;bottom:18px!important}
  .page-portfolio .masonry-caption strong{font-size:1.03rem!important}
}

/* =========================================================
   V2.5.5 — VIEW ALBUM HERO 100PX TOP OFFSET
   Requested desktop spacing below the menu with smaller titles.
   Applies only to all View Album / album detail pages.
   ========================================================= */
.page-album-details .album-view-hero{
  padding-top:100px!important;
  padding-bottom:72px!important;
}
.page-album-details .album-view-copy h1{
  font-size:clamp(2.75rem,4.45vw,5.15rem)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
  margin-bottom:20px!important;
  max-width:650px!important;
}
.page-album-details .album-view-copy .lead{
  font-size:clamp(.95rem,1.08vw,1.06rem)!important;
  line-height:1.7!important;
}
.page-album-details .album-view-cover,
.page-album-details .album-view-cover img{
  height:clamp(400px,52vh,500px)!important;
}
@media (max-width:980px){
  .page-album-details .album-view-hero{
    padding-top:150px!important;
    padding-bottom:58px!important;
  }
  .page-album-details .album-view-copy h1{
    font-size:clamp(2.7rem,8vw,4.6rem)!important;
  }
}
@media (max-width:700px){
  .page-album-details .album-view-hero{
    padding-top:112px!important;
    padding-bottom:44px!important;
  }
  .page-album-details .album-view-copy h1{
    font-size:clamp(2.35rem,11vw,3.5rem)!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
  }
  .page-album-details .album-view-cover,
  .page-album-details .album-view-cover img{
    height:clamp(310px,96vw,410px)!important;
  }
}

/* =========================================================
   V2.5.6 — PORTFOLIO DENSE GRID + IMAGE-ONLY HOVER
   Removes oversized vertical gaps and prevents card movement.
   ========================================================= */
.page-portfolio .masonry{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-rows:auto!important;
  align-items:stretch!important;
  gap:18px!important;
}
.page-portfolio .masonry-item,
.page-portfolio .masonry-item:nth-child(n){
  grid-column:auto!important;
  grid-row:auto!important;
  grid-row-end:auto!important;
  aspect-ratio:4 / 3!important;
  margin:0!important;
  transform:none!important;
  border:1px solid rgba(255,248,240,.24)!important;
  border-radius:20px!important;
  box-shadow:0 16px 38px rgba(9,1,3,.22)!important;
  overflow:hidden!important;
  transition:none!important;
}
.page-portfolio .masonry-item:hover,
.page-portfolio .masonry-item:focus-within{
  transform:none!important;
  border-color:rgba(255,248,240,.24)!important;
  box-shadow:0 16px 38px rgba(9,1,3,.22)!important;
}
.page-portfolio .masonry-item::after{
  display:none!important;
  content:none!important;
}
.page-portfolio .masonry-item img{
  transform:scale(1)!important;
  transition:transform .55s cubic-bezier(.22,.61,.36,1)!important;
  will-change:transform;
}
.page-portfolio .masonry-item:hover img,
.page-portfolio .masonry-item:focus-within img{
  transform:scale(1.045)!important;
}
.page-portfolio .masonry-caption,
.page-portfolio .masonry-item:hover .masonry-caption{
  transform:none!important;
  transition:none!important;
}
@media(max-width:1024px){
  .page-portfolio .masonry{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .page-portfolio .masonry-item,
  .page-portfolio .masonry-item:nth-child(n){aspect-ratio:4 / 3!important}
}
@media(max-width:640px){
  .page-portfolio .masonry{grid-template-columns:1fr!important;gap:14px!important}
  .page-portfolio .masonry-item,
  .page-portfolio .masonry-item:nth-child(n){aspect-ratio:1.16 / 1!important;border-radius:18px!important}
}

/* =========================================================
   V2.5.9 — VIEW ALBUM TRUE 100PX GAP BELOW LIVE MENU
   Uses the measured header height, so the requested 100px is
   counted from the menu bottom rather than from the viewport top.
   ========================================================= */
:root{--sa-album-header-height:78px}
@media (min-width:981px){
  .page-album-details .album-view-hero{
    padding-top:calc(var(--sa-album-header-height,78px) + 100px)!important;
    padding-bottom:72px!important;
  }
}
@media (min-width:701px) and (max-width:980px){
  .page-album-details .album-view-hero{
    padding-top:calc(var(--sa-album-header-height,72px) + 96px)!important;
    padding-bottom:56px!important;
  }
}
@media (max-width:700px){
  .page-album-details .album-view-hero{
    padding-top:calc(var(--sa-album-header-height,64px) + 46px)!important;
    padding-bottom:44px!important;
  }
}

/* =========================================================
   V2.5.8 — HOMEPAGE OCCASION CARDS, ALBUM-STYLE EDITORIAL UI
   Brings the "A collection for every chapter" cards into the
   same professional visual system used by Albums and Services.
   ========================================================= */
.page-index .occasion-section{
  padding-top:clamp(76px,7vw,112px)!important;
  padding-bottom:clamp(76px,7vw,112px)!important;
}
.page-index .occasion-section>.container>.eyebrow{
  margin-bottom:12px!important;
}
.page-index .occasion-section>.container>h2{
  max-width:920px!important;
  margin:0 0 clamp(30px,3vw,44px)!important;
}
.page-index .occasion-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(16px,1.5vw,24px)!important;
  align-items:stretch!important;
}
.page-index .occasion-card,
.page-index .occasion-card:hover,
.page-index .occasion-card:focus-visible{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(255,248,239,.72)!important;
  border-radius:24px!important;
  background:#f6f1ef!important;
  box-shadow:0 18px 46px rgba(24,4,9,.17)!important;
  transform:none!important;
  transition:border-color .3s ease,box-shadow .3s ease!important;
}
.page-index .occasion-card:before,
.page-index .occasion-card:after{
  display:none!important;
  content:none!important;
}
.page-index .occasion-card:hover,
.page-index .occasion-card:focus-visible{
  border-color:rgba(255,248,239,.96)!important;
  box-shadow:0 22px 54px rgba(24,4,9,.22)!important;
}
.page-index .occasion-card>img{
  display:block!important;
  flex:none!important;
  width:100%!important;
  height:clamp(270px,25vw,390px)!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(1)!important;
  transition:transform .6s cubic-bezier(.22,.61,.36,1)!important;
  will-change:transform;
}
.page-index .occasion-card:hover>img,
.page-index .occasion-card:focus-visible>img{
  transform:scale(1.045)!important;
}
.page-index .occasion-card .overlay,
.page-index .occasion-card:hover .overlay{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:222px!important;
  margin:0!important;
  padding:22px 22px 20px!important;
  border:0!important;
  border-radius:0!important;
  background:#f6f1ef!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  transform:none!important;
  transition:none!important;
}
.page-index .occasion-card .overlay:before{
  display:inline-flex!important;
  align-items:center!important;
  align-self:stretch!important;
  width:auto!important;
  min-height:34px!important;
  margin:0 0 14px!important;
  padding:7px 13px!important;
  border-radius:999px!important;
  background:#eadfce!important;
  color:#4e0b16!important;
  font-size:.72rem!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.page-index .occasion-card:nth-child(1) .overlay:before{content:'Wedding'!important}
.page-index .occasion-card:nth-child(2) .overlay:before{content:'Pre-Wedding'!important}
.page-index .occasion-card:nth-child(3) .overlay:before{content:'Baby & Family'!important}
.page-index .occasion-card:nth-child(4) .overlay:before{content:'Coffee Table'!important}
.page-index .occasion-card .overlay h3{
  margin:0!important;
  color:#20191a!important;
  font-size:clamp(1.38rem,1.55vw,1.72rem)!important;
  font-weight:600!important;
  line-height:1.15!important;
  letter-spacing:-.04em!important;
}
.page-index .occasion-card .overlay h3:after{
  display:block!important;
  margin-top:14px!important;
  color:#675e5d!important;
  font-size:.94rem!important;
  font-weight:400!important;
  line-height:1.62!important;
  letter-spacing:0!important;
}
.page-index .occasion-card:nth-child(1) .overlay h3:after{content:'Timeless wedding stories composed with cinematic rhythm and emotional continuity.'!important}
.page-index .occasion-card:nth-child(2) .overlay h3:after{content:'Editorial pre-wedding narratives shaped around personality, movement and place.'!important}
.page-index .occasion-card:nth-child(3) .overlay h3:after{content:'Gentle, joyful keepsakes created for little milestones and growing families.'!important}
.page-index .occasion-card:nth-child(4) .overlay h3:after{content:'Refined statement books designed for homes, studios, portfolios and gifting.'!important}
.page-index .occasion-card .overlay span{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:17px!important;
  border-top:1px solid rgba(78,11,22,.13)!important;
  color:#4e0b16!important;
  font-size:.79rem!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
.page-index .occasion-card .overlay span:before{
  content:'CURATED · MADE TO ORDER'!important;
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  margin-right:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#7a6c6a!important;
  font-size:.62rem!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:.09em!important;
  transform:none!important;
}
.page-index .occasion-card .overlay span:after,
.page-index .occasion-card:hover .overlay span:after{
  display:none!important;
  content:none!important;
}
@media(max-width:1180px){
  .page-index .occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-index .occasion-card>img{height:clamp(300px,39vw,430px)!important}
}
@media(max-width:700px){
  .page-index .occasion-section{padding-top:72px!important;padding-bottom:72px!important}
  .page-index .occasion-section>.container>h2{margin-bottom:28px!important}
  .page-index .occasion-grid{grid-template-columns:1fr!important;gap:18px!important}
  .page-index .occasion-card{max-width:460px!important;width:100%!important;margin-inline:auto!important;border-radius:22px!important}
  .page-index .occasion-card>img{height:clamp(280px,88vw,390px)!important}
  .page-index .occasion-card .overlay{min-height:214px!important;padding:20px 20px 18px!important}
}
@media(pointer:coarse),(prefers-reduced-motion:reduce){
  .page-index .occasion-card>img{transition:none!important}
  .page-index .occasion-card:hover>img,.page-index .occasion-card:focus-visible>img{transform:none!important}
}


/* V2.5.9 — loader brand background safeguard */
.loader{background:#180409!important}

/* =========================================================
   V2.6.0 — HOMEPAGE CARD PROPORTION + PROFESSIONAL BENEFITS
   Compact occasion cards and refined "Why Signature Album".
   ========================================================= */
@media (min-width:1181px){
  .page-index .occasion-card>img{
    height:300px!important;
  }
  .page-index .occasion-card .overlay{
    min-height:198px!important;
    padding:20px 22px 18px!important;
  }
}
.page-index .occasion-card .overlay h3:after{
  margin-top:11px!important;
  line-height:1.48!important;
}
.page-index .occasion-card .overlay span{
  margin-top:22px!important;
  padding-top:16px!important;
}

/* Refined benefits section directly following occasion cards */
.page-index .occasion-section + .section{
  padding-top:clamp(72px,6.5vw,104px)!important;
  padding-bottom:clamp(72px,6.5vw,104px)!important;
  background:#180409!important;
}
.page-index .occasion-section + .section>.container>.eyebrow{
  margin-bottom:12px!important;
  color:#f0c97a!important;
}
.page-index .occasion-section + .section>.container>h2{
  max-width:980px!important;
  margin:0 0 clamp(28px,3vw,42px)!important;
  color:#fffaf4!important;
  font-size:clamp(2.25rem,4.3vw,4.65rem)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
}
.page-index .occasion-section + .section .grid-4{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(16px,1.5vw,24px)!important;
  align-items:stretch!important;
}
.page-index .occasion-section + .section .stat-card,
.page-index .occasion-section + .section .stat-card:hover{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:260px!important;
  padding:28px 28px 26px!important;
  border:1px solid rgba(78,11,22,.10)!important;
  border-radius:22px!important;
  background:#f7f3f1!important;
  box-shadow:0 18px 48px rgba(0,0,0,.16)!important;
  transform:none!important;
  overflow:hidden!important;
  transition:border-color .28s ease,box-shadow .28s ease!important;
}
.page-index .occasion-section + .section .stat-card:hover{
  border-color:rgba(78,11,22,.20)!important;
  box-shadow:0 22px 54px rgba(0,0,0,.20)!important;
}
.page-index .occasion-section + .section .stat-card:after{
  content:'';
  position:absolute;
  left:28px;
  right:28px;
  bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:#4e0b16;
  opacity:.9;
}
.page-index .occasion-section + .section .stat-card .icon{
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  margin:0 0 22px!important;
  border:1px solid rgba(78,11,22,.08)!important;
  border-radius:50%!important;
  background:#fff9f1!important;
  color:#4e0b16!important;
  font-size:1.05rem!important;
  line-height:1!important;
}
.page-index .occasion-section + .section .stat-card h3{
  max-width:240px!important;
  margin:0 0 14px!important;
  color:#20191a!important;
  font-size:clamp(1.35rem,1.65vw,1.75rem)!important;
  font-weight:600!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
}
.page-index .occasion-section + .section .stat-card p{
  max-width:250px!important;
  margin:0!important;
  color:#675e5d!important;
  font-size:.94rem!important;
  font-weight:400!important;
  line-height:1.55!important;
}
@media(max-width:1050px){
  .page-index .occasion-section + .section .grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .page-index .occasion-section + .section .stat-card{min-height:230px!important}
}
@media(max-width:700px){
  .page-index .occasion-section + .section{
    padding-top:66px!important;
    padding-bottom:66px!important;
  }
  .page-index .occasion-section + .section>.container>h2{
    font-size:clamp(2rem,10vw,3rem)!important;
    margin-bottom:26px!important;
  }
  .page-index .occasion-section + .section .grid-4{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .page-index .occasion-section + .section .stat-card{
    min-height:0!important;
    padding:24px 24px 25px!important;
  }
  .page-index .occasion-section + .section .stat-card .icon{margin-bottom:18px!important}
}


/* =========================================================
   V2.6.1 — VIEW ALBUM HEADER BALANCE + LOADER CURSOR GUARD
   Header is already in document flow; do not add its height again.
   ========================================================= */
@media (min-width:981px){
  .page-album-details .album-view-hero{
    padding-top:36px!important;
    padding-bottom:58px!important;
  }
}
@media (min-width:701px) and (max-width:980px){
  .page-album-details .album-view-hero{
    padding-top:32px!important;
    padding-bottom:50px!important;
  }
}
@media (max-width:700px){
  .page-album-details .album-view-hero{
    padding-top:24px!important;
    padding-bottom:42px!important;
  }
}
/* Keep the luxury pointer completely absent while the loader is visible. */
html:not(.sa-page-ready) .premium-cursor,
body:not(.sa-page-ready) .premium-cursor{
  opacity:0!important;
  visibility:hidden!important;
}
html.sa-page-ready .premium-cursor,
body.sa-page-ready .premium-cursor{
  visibility:visible;
}

/* =========================================================
   V2.6.2 — HOMEPAGE OCCASION HOVER COMPOSITOR STABILITY
   Keep the card and following section visually fixed. Only the
   card image may zoom; shadows, borders and cursor blur stay stable.
   ========================================================= */
.page-index .occasion-section{
  isolation:isolate!important;
  contain:layout paint!important;
}
.page-index .occasion-card,
.page-index .occasion-card:hover,
.page-index .occasion-card:focus-visible{
  border-color:rgba(255,248,239,.72)!important;
  box-shadow:0 18px 46px rgba(24,4,9,.17)!important;
  transform:none!important;
  translate:none!important;
}
.page-index .occasion-card{
  contain:layout paint!important;
  isolation:isolate!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.page-index .occasion-card>img{
  transform:translateZ(0) scale(1)!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  will-change:transform!important;
}
.page-index .occasion-card:hover>img,
.page-index .occasion-card:focus-visible>img{
  transform:translateZ(0) scale(1.035)!important;
}
.page-index .occasion-section + .section{
  position:relative!important;
  z-index:1!important;
  isolation:isolate!important;
  transform:translateZ(0)!important;
  backface-visibility:hidden!important;
}
/* The large blurred custom cursor was forcing a full-section repaint. */
.premium-cursor.sa-occasion-hover,
.premium-cursor.sa-occasion-hover.cursor-card,
.premium-cursor.sa-occasion-hover.is-image{
  width:30px!important;
  height:30px!important;
  background:rgba(59,11,20,.02)!important;
  border-color:rgba(59,11,20,.48)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
  mix-blend-mode:multiply!important;
}

/* =========================================================
   V2.6.3 — VIEW ALBUM FIXED-HEADER SAFE HERO BALANCE
   The public header is fixed, so its measured height is reserved
   first; the remaining value is the visible gap below the menu.
   ========================================================= */
@media (min-width:981px){
  .page-album-details .album-view-hero{
    padding-top:calc(var(--sa-album-header-height,78px) + 36px)!important;
    padding-bottom:48px!important;
  }
}
@media (min-width:701px) and (max-width:980px){
  .page-album-details .album-view-hero{
    padding-top:calc(var(--sa-album-header-height,72px) + 28px)!important;
    padding-bottom:44px!important;
  }
}
@media (max-width:700px){
  .page-album-details .album-view-hero{
    padding-top:calc(var(--sa-album-header-height,64px) + 20px)!important;
    padding-bottom:36px!important;
  }
}


/* =========================================================
   V2.6.4 — HOMEPAGE OCCASION: 3 CARDS + IMAGE-ONLY HOVER
   Baby Albums removed. Card shell, text, border and shadow stay
   completely static; only the photo receives a subtle zoom.
   ========================================================= */
.page-index .occasion-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
}
.page-index .occasion-card,
.page-index .occasion-card:hover,
.page-index .occasion-card:focus,
.page-index .occasion-card:focus-visible{
  transform:none!important;
  translate:none!important;
  scale:1!important;
  border-color:rgba(255,248,239,.72)!important;
  box-shadow:0 18px 46px rgba(24,4,9,.17)!important;
  background:#f6f1ef!important;
  transition:none!important;
}
.page-index .occasion-card .overlay,
.page-index .occasion-card:hover .overlay,
.page-index .occasion-card:focus-visible .overlay{
  transform:none!important;
  background:#f6f1ef!important;
  box-shadow:none!important;
  transition:none!important;
}
.page-index .occasion-card .overlay span,
.page-index .occasion-card:hover .overlay span,
.page-index .occasion-card:focus-visible .overlay span{
  color:#4e0b16!important;
  transform:none!important;
}
.page-index .occasion-card>img{
  transform:translateZ(0) scale(1)!important;
  transition:transform .55s cubic-bezier(.22,.61,.36,1)!important;
}
.page-index .occasion-card:hover>img,
.page-index .occasion-card:focus-visible>img{
  transform:translateZ(0) scale(1.045)!important;
}
/* After Baby removal, Coffee Table becomes card 3. */
.page-index .occasion-card:nth-child(3) .overlay:before{content:'Coffee Table'!important}
.page-index .occasion-card:nth-child(3) .overlay h3:after{content:'Refined statement books designed for homes, studios, portfolios and gifting.'!important}
@media(max-width:980px){
  .page-index .occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .page-index .occasion-grid{grid-template-columns:1fr!important}
}
@media(pointer:coarse),(prefers-reduced-motion:reduce){
  .page-index .occasion-card:hover>img,
  .page-index .occasion-card:focus-visible>img{transform:translateZ(0) scale(1)!important}
}

/* ===== V2.6.5 compact profile trigger + open/close chevron ===== */
@media (min-width:701px){
  .site-header .header-account,
  .sa-wp-header .header-account{
    grid-template-columns:42px max-content!important;
    width:auto!important;
    max-width:none!important;
  }
  .site-header .header-profile-trigger,
  .sa-wp-header .header-profile-trigger{
    width:fit-content!important;
    min-width:0!important;
    max-width:min(230px,32vw)!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,max-content) 16px!important;
    column-gap:8px!important;
    padding:5px 9px 5px 5px!important;
  }
  .site-header .header-user-copy,
  .sa-wp-header .header-user-copy{
    width:auto!important;
    min-width:0!important;
    max-width:138px!important;
  }
  .site-header .header-user-copy strong,
  .sa-wp-header .header-user-copy strong{
    width:auto!important;
    max-width:138px!important;
  }
  .site-header .header-chevron,
  .sa-wp-header .header-chevron{
    justify-self:end!important;
    margin-left:0!important;
    transition:transform .22s cubic-bezier(.22,1,.36,1)!important;
    transform-origin:50% 50%!important;
  }
  .site-header .header-account.open .header-chevron,
  .sa-wp-header .header-account.open .header-chevron{
    transform:rotate(180deg)!important;
  }
}
@media (max-width:1320px) and (min-width:701px){
  .site-header .header-profile-trigger,
  .sa-wp-header .header-profile-trigger{
    grid-template-columns:34px 16px!important;
    column-gap:6px!important;
    padding-right:8px!important;
  }
  .site-header .header-user-copy,
  .sa-wp-header .header-user-copy{display:none!important}
}

/* =========================================================
   V2.6.6 — HOMEPAGE OCCASION STRICT IMAGE-ONLY HOVER
   The card shell and every text/control layer remain completely
   static. Only the direct image scales inside the clipped frame.
   ========================================================= */
.page-index .occasion-card,
.page-index .occasion-card:hover,
.page-index .occasion-card:active,
.page-index .occasion-card:focus,
.page-index .occasion-card:focus-visible{
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
  inset:auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border-color:rgba(255,248,239,.72)!important;
  box-shadow:0 18px 46px rgba(24,4,9,.17)!important;
  filter:none!important;
  animation:none!important;
  transition:none!important;
}
.page-index .occasion-card::before,
.page-index .occasion-card::after,
.page-index .occasion-card:hover::before,
.page-index .occasion-card:hover::after{
  transform:none!important;
  opacity:1!important;
  animation:none!important;
  transition:none!important;
}
.page-index .occasion-card .overlay,
.page-index .occasion-card .overlay *,
.page-index .occasion-card:hover .overlay,
.page-index .occasion-card:hover .overlay *,
.page-index .occasion-card:focus-visible .overlay,
.page-index .occasion-card:focus-visible .overlay *{
  transform:none!important;
  translate:0 0!important;
  scale:1!important;
  filter:none!important;
  animation:none!important;
  transition:none!important;
}
.page-index .occasion-card{
  overflow:hidden!important;
}
.page-index .occasion-card>img{
  display:block!important;
  transform:translate3d(0,0,0) scale(1)!important;
  transform-origin:50% 50%!important;
  transition:transform .58s cubic-bezier(.22,.61,.36,1)!important;
  will-change:transform!important;
}
.page-index .occasion-card:hover>img,
.page-index .occasion-card:focus-visible>img{
  transform:translate3d(0,0,0) scale(1.045)!important;
}
/* Do not turn the custom cursor into a second hover effect here. */
.page-index .occasion-card,
.page-index .occasion-card *{cursor:pointer!important}
.premium-cursor.sa-occasion-hover,
.premium-cursor.sa-occasion-hover.cursor-card,
.premium-cursor.sa-occasion-hover.is-image{
  width:18px!important;
  height:18px!important;
  border-width:1px!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  mix-blend-mode:normal!important;
}
@media(pointer:coarse),(prefers-reduced-motion:reduce){
  .page-index .occasion-card>img,
  .page-index .occasion-card:hover>img,
  .page-index .occasion-card:focus-visible>img{
    transform:translate3d(0,0,0) scale(1)!important;
    transition:none!important;
  }
}

/* =========================================================
   V2.6.7 — DEFINITIVE OCCASION CARD ZERO-MOVEMENT LOCK
   The outer card and every content layer are frozen in place.
   Only the direct photo scales inside its clipped media area.
   ========================================================= */
.page-index .occasion-grid{
  align-items:stretch!important;
}
.page-index .occasion-card,
.page-index .occasion-card:hover,
.page-index .occasion-card:active,
.page-index .occasion-card:focus,
.page-index .occasion-card:focus-visible{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  -webkit-transform:none!important;
  translate:none!important;
  scale:none!important;
  rotate:none!important;
  filter:none!important;
  perspective:none!important;
  animation:none!important;
  transition:none!important;
  margin-block:0!important;
  border-color:rgba(255,248,239,.72)!important;
  box-shadow:0 18px 46px rgba(24,4,9,.17)!important;
  overflow:hidden!important;
  contain:layout paint!important;
  isolation:isolate!important;
}
.page-index .occasion-card .overlay,
.page-index .occasion-card .overlay *,
.page-index .occasion-card:hover .overlay,
.page-index .occasion-card:hover .overlay *,
.page-index .occasion-card:focus-visible .overlay,
.page-index .occasion-card:focus-visible .overlay *{
  transform:none!important;
  -webkit-transform:none!important;
  translate:none!important;
  scale:none!important;
  rotate:none!important;
  filter:none!important;
  animation:none!important;
  transition:none!important;
}
.page-index .occasion-card::before,
.page-index .occasion-card::after{
  display:none!important;
  content:none!important;
}
.page-index .occasion-card>img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  transform:translate3d(0,0,0) scale(1)!important;
  -webkit-transform:translate3d(0,0,0) scale(1)!important;
  transform-origin:center center!important;
  transition:transform .58s cubic-bezier(.22,.61,.36,1)!important;
  will-change:transform!important;
  backface-visibility:hidden!important;
}
@media (hover:hover) and (pointer:fine){
  .page-index .occasion-card:hover>img,
  .page-index .occasion-card:focus-visible>img{
    transform:translate3d(0,0,0) scale(1.045)!important;
    -webkit-transform:translate3d(0,0,0) scale(1.045)!important;
  }
}
.page-index .occasion-card{cursor:pointer!important}
.page-index .occasion-card *{cursor:inherit!important}

/* =========================================================
   V2.6.8 — FINAL OCCASION MEDIA-ONLY HOVER + EDITORIAL PAGE HERO
   1) The homepage occasion shell is structurally static; only the
      direct photo scales inside a fixed clipped media region.
   2) Every public inner-page hero uses a compact editorial split
      instead of the oversized circular-template treatment.
   ========================================================= */

/* ---- Homepage occasion cards: independent from body-class mapping ---- */
.occasion-grid{
  align-items:stretch!important;
}
.occasion-grid>.occasion-card,
.occasion-grid>.occasion-card:hover,
.occasion-grid>.occasion-card:active,
.occasion-grid>.occasion-card:focus,
.occasion-grid>.occasion-card:focus-visible{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  -webkit-transform:none!important;
  translate:none!important;
  scale:1!important;
  rotate:0deg!important;
  margin:0!important;
  filter:none!important;
  animation:none!important;
  transition:none!important;
  border-color:rgba(255,248,239,.72)!important;
  box-shadow:0 18px 46px rgba(24,4,9,.17)!important;
  overflow:hidden!important;
  isolation:isolate!important;
  contain:layout paint style!important;
}
.occasion-grid>.occasion-card::before,
.occasion-grid>.occasion-card::after,
.occasion-grid>.occasion-card:hover::before,
.occasion-grid>.occasion-card:hover::after{
  display:none!important;
  content:none!important;
}
.occasion-grid>.occasion-card>.overlay,
.occasion-grid>.occasion-card>.overlay *,
.occasion-grid>.occasion-card:hover>.overlay,
.occasion-grid>.occasion-card:hover>.overlay *,
.occasion-grid>.occasion-card:focus-visible>.overlay,
.occasion-grid>.occasion-card:focus-visible>.overlay *{
  transform:none!important;
  -webkit-transform:none!important;
  translate:none!important;
  scale:1!important;
  rotate:0deg!important;
  filter:none!important;
  animation:none!important;
  transition:none!important;
}
.occasion-grid>.occasion-card>img{
  display:block!important;
  width:100%!important;
  position:relative!important;
  inset:auto!important;
  transform:translate3d(0,0,0) scale(1)!important;
  -webkit-transform:translate3d(0,0,0) scale(1)!important;
  transform-origin:50% 50%!important;
  transition:transform .58s cubic-bezier(.22,.61,.36,1)!important;
  will-change:transform!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
@media (hover:hover) and (pointer:fine){
  .occasion-grid>.occasion-card:hover>img,
  .occasion-grid>.occasion-card:focus-visible>img{
    transform:translate3d(0,0,0) scale(1.045)!important;
    -webkit-transform:translate3d(0,0,0) scale(1.045)!important;
  }
}
@media (pointer:coarse),(prefers-reduced-motion:reduce){
  .occasion-grid>.occasion-card>img,
  .occasion-grid>.occasion-card:hover>img,
  .occasion-grid>.occasion-card:focus-visible>img{
    transform:translate3d(0,0,0) scale(1)!important;
    transition:none!important;
  }
}

/* ---- Professional inner-page editorial hero (homepage excluded) ---- */
body:not(.home):not(.page-index):not(.page-album-details) .page-hero{
  min-height:auto!important;
  padding:calc(var(--sa-public-header-height,78px) + 42px) 0 58px!important;
  overflow:hidden!important;
  background:
    linear-gradient(90deg,rgba(255,250,244,.98) 0%,rgba(255,250,244,.93) 43%,rgba(24,4,9,.05) 100%),
    linear-gradient(135deg,#fffaf4 0%,#f3e7dd 58%,#ead9d1 100%)!important;
  border-bottom:1px solid rgba(59,11,20,.08)!important;
}
body:not(.home):not(.page-index):not(.page-album-details) .page-hero::before{
  opacity:.08!important;
  mix-blend-mode:multiply!important;
}
body:not(.home):not(.page-index):not(.page-album-details) .page-hero::after{
  display:none!important;
  content:none!important;
}
body:not(.home):not(.page-index):not(.page-album-details) .page-hero>.container{
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr)!important;
  align-items:center!important;
  gap:clamp(44px,6vw,96px)!important;
  min-height:430px!important;
}
body:not(.home):not(.page-index):not(.page-album-details) .page-hero>.container>div:first-child{
  padding:18px 0!important;
  max-width:620px!important;
}
body:not(.home):not(.page-index):not(.page-album-details) .page-hero>.container>div:first-child::after{
  width:68px!important;
  margin-top:25px!important;
  height:2px!important;
  animation:none!important;
}
body:not(.home):not(.page-index):not(.page-album-details) .page-hero .breadcrumbs{
  margin-bottom:20px!important;
  padding:8px 13px!important;
  background:rgba(255,255,255,.70)!important;
  border-color:rgba(59,11,20,.09)!important;
  box-shadow:0 8px 24px rgba(24,4,9,.05)!important;
  backdrop-filter:blur(12px)!important;
}
body:not(.home):not(.page-index):not(.page-album-details) .page-hero .eyebrow{
  margin-bottom:12px!important;
}
body:not(.home):not(.page-index):not(.page-album-details) .page-hero h1{
  font-size:clamp(3rem,5.4vw,5.4rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  max-width:620px!important;
  margin-bottom:22px!important;
}
body:not(.home):not(.page-index):not(.page-album-details) .page-hero .lead{
  max-width:570px!important;
  font-size:1.04rem!important;
  line-height:1.72!important;
  color:#5d504b!important;
}
body:not(.home):not(.page-index):not(.page-album-details) .page-hero-media{
  width:100%!important;
  height:430px!important;
  border-radius:30px!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 28px 70px rgba(48,18,20,.18)!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  -webkit-transform:none!important;
  animation:none!important;
  filter:saturate(.92) contrast(1.02)!important;
  transition:none!important;
}
body:not(.home):not(.page-index):not(.page-album-details) .page-hero:hover .page-hero-media{
  transform:none!important;
  -webkit-transform:none!important;
}

@media (max-width:1100px){
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero{
    padding-top:calc(var(--sa-public-header-height,74px) + 34px)!important;
    padding-bottom:48px!important;
  }
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero>.container{
    grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)!important;
    gap:42px!important;
    min-height:390px!important;
  }
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero-media{height:380px!important}
}
@media (max-width:900px){
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero{
    padding-top:calc(var(--sa-public-header-height,72px) + 28px)!important;
    padding-bottom:42px!important;
  }
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero>.container{
    grid-template-columns:1fr!important;
    gap:30px!important;
    min-height:0!important;
  }
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero>.container>div:first-child{
    padding:4px 0!important;
    max-width:680px!important;
  }
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero h1{
    font-size:clamp(2.75rem,9vw,4.5rem)!important;
  }
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero-media{
    height:360px!important;
    border-radius:24px!important;
  }
}
@media (max-width:700px){
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero{
    padding-top:calc(var(--sa-public-header-height,64px) + 22px)!important;
    padding-bottom:34px!important;
  }
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero>.container{gap:24px!important}
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero h1{
    font-size:clamp(2.55rem,13vw,3.8rem)!important;
    margin-bottom:16px!important;
  }
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero .lead{
    font-size:.98rem!important;
    line-height:1.65!important;
  }
  body:not(.home):not(.page-index):not(.page-album-details) .page-hero-media{
    height:280px!important;
    border-radius:20px!important;
  }
}


/* =========================================================
   V2.6.9 — VERIFIED HOMEPAGE OCCASION IMAGE-ONLY HOVER
   A dedicated media wrapper isolates the photo transform from
   the card/grid layout. Card, copy and sibling cards stay fixed.
   ========================================================= */
.occasion-grid{
  align-items:stretch!important;
  contain:layout!important;
}
.occasion-grid>.occasion-card,
.occasion-grid>.occasion-card:hover,
.occasion-grid>.occasion-card:active,
.occasion-grid>.occasion-card:focus,
.occasion-grid>.occasion-card:focus-visible{
  position:relative!important;
  inset:auto!important;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  transform:none!important;-webkit-transform:none!important;
  translate:none!important;scale:none!important;rotate:none!important;
  margin:0!important;
  filter:none!important;
  opacity:1!important;
  animation:none!important;
  transition:none!important;
  border-color:rgba(255,248,239,.72)!important;
  box-shadow:0 18px 46px rgba(24,4,9,.17)!important;
  overflow:hidden!important;
  contain:none!important;
  isolation:isolate!important;
}
.occasion-grid>.occasion-card::before,
.occasion-grid>.occasion-card::after{display:none!important;content:none!important}
.occasion-grid>.occasion-card>.occasion-media{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:300px!important;
  overflow:hidden!important;
  contain:paint!important;
  isolation:isolate!important;
  transform:translateZ(0)!important;
  -webkit-transform:translateZ(0)!important;
  backface-visibility:hidden!important;
}
.occasion-grid>.occasion-card>.occasion-media>img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:translate3d(0,0,0) scale(1)!important;
  -webkit-transform:translate3d(0,0,0) scale(1)!important;
  transform-origin:center!important;
  transition:transform .58s cubic-bezier(.22,.61,.36,1)!important;
  will-change:transform!important;
  backface-visibility:hidden!important;
  pointer-events:none!important;
}
.occasion-grid>.occasion-card>.overlay,
.occasion-grid>.occasion-card>.overlay *,
.occasion-grid>.occasion-card:hover>.overlay,
.occasion-grid>.occasion-card:hover>.overlay *,
.occasion-grid>.occasion-card:focus-visible>.overlay,
.occasion-grid>.occasion-card:focus-visible>.overlay *{
  transform:none!important;-webkit-transform:none!important;
  translate:none!important;scale:none!important;rotate:none!important;
  filter:none!important;opacity:1!important;animation:none!important;transition:none!important;
}
@media (hover:hover) and (pointer:fine){
  .occasion-grid>.occasion-card:hover>.occasion-media>img,
  .occasion-grid>.occasion-card:focus-visible>.occasion-media>img{
    transform:translate3d(0,0,0) scale(1.045)!important;
    -webkit-transform:translate3d(0,0,0) scale(1.045)!important;
  }
}
@media (max-width:1180px){
  .occasion-grid>.occasion-card>.occasion-media{height:clamp(300px,39vw,430px)!important}
}
@media (max-width:700px){
  .occasion-grid>.occasion-card>.occasion-media{height:clamp(280px,88vw,390px)!important}
}
@media (pointer:coarse),(prefers-reduced-motion:reduce){
  .occasion-grid>.occasion-card>.occasion-media>img,
  .occasion-grid>.occasion-card:hover>.occasion-media>img,
  .occasion-grid>.occasion-card:focus-visible>.occasion-media>img{
    transform:translate3d(0,0,0) scale(1)!important;
    transition:none!important;
  }
}
/* No second cursor-circle hover over these cards. */
.premium-cursor.sa-occasion-hover{opacity:0!important;visibility:hidden!important}

/* =========================================================
   V2.7.0 — OCCASION CARD STRUCTURE RESET
   Explicit editable elements replace pseudo-generated copy.
   This prevents duplicate rows/lines in the visual editor.
   ========================================================= */
.occasion-grid>.occasion-card>.occasion-content::before,
.occasion-grid>.occasion-card>.occasion-content::after,
.occasion-grid>.occasion-card>.occasion-content h3::before,
.occasion-grid>.occasion-card>.occasion-content h3::after,
.occasion-grid>.occasion-card>.occasion-content p::before,
.occasion-grid>.occasion-card>.occasion-content p::after,
.occasion-grid>.occasion-card>.occasion-content span::before,
.occasion-grid>.occasion-card>.occasion-content span::after{
  display:none!important;
  content:none!important;
}
.occasion-grid>.occasion-card>.occasion-content{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:318px!important;
  margin:0!important;
  padding:20px 22px 20px!important;
  background:#f6f1ef!important;
  border:0!important;
  box-shadow:none!important;
}
.occasion-grid .occasion-badge{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:48px!important;
  margin:0 0 16px!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  background:#eadfce!important;
  color:#4e0b16!important;
  font-size:.76rem!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.occasion-grid .occasion-content h3{
  margin:0 0 12px!important;
  color:#20191a!important;
  font-size:clamp(1.38rem,1.55vw,1.72rem)!important;
  font-weight:600!important;
  line-height:1.15!important;
  letter-spacing:-.04em!important;
}
.occasion-grid .occasion-content>p{
  margin:0!important;
  color:#675e5d!important;
  font-size:.94rem!important;
  font-weight:400!important;
  line-height:1.62!important;
  letter-spacing:0!important;
}
.occasion-grid .occasion-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:17px!important;
  border-top:1px solid rgba(78,11,22,.13)!important;
}
.occasion-grid .occasion-meta,
.occasion-grid .occasion-link{
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  line-height:1.2!important;
}
.occasion-grid .occasion-meta{
  color:#7a6c6a!important;
  font-size:.62rem!important;
  font-weight:500!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.occasion-grid .occasion-link{
  flex:0 0 auto!important;
  color:#4e0b16!important;
  font-size:.79rem!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
@media(max-width:700px){
  .occasion-grid>.occasion-card>.occasion-content{min-height:292px!important;padding:18px!important}
  .occasion-grid .occasion-footer{gap:12px!important}
}
/* High-specificity safeguards against legacy descendant-span rules. */
.page-index .occasion-grid>.occasion-card>.occasion-content>.occasion-badge{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:0!important;
  width:100%!important;min-height:48px!important;margin:0 0 16px!important;padding:10px 14px!important;
  border:0!important;border-radius:999px!important;background:#eadfce!important;color:#4e0b16!important;
  font-size:.76rem!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;
}
.page-index .occasion-grid>.occasion-card>.occasion-content>.occasion-footer{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;
  width:100%!important;margin-top:auto!important;padding-top:17px!important;border-top:1px solid rgba(78,11,22,.13)!important;
}
.page-index .occasion-grid>.occasion-card>.occasion-content>.occasion-footer>.occasion-meta,
.page-index .occasion-grid>.occasion-card>.occasion-content>.occasion-footer>.occasion-link{
  display:block!important;align-items:initial!important;justify-content:initial!important;gap:0!important;
  width:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;line-height:1.2!important;
}
.page-index .occasion-grid>.occasion-card>.occasion-content>.occasion-footer>.occasion-meta{
  margin-right:auto!important;color:#7a6c6a!important;font-size:.62rem!important;font-weight:500!important;
  letter-spacing:.09em!important;text-transform:uppercase!important;
}
.page-index .occasion-grid>.occasion-card>.occasion-content>.occasion-footer>.occasion-link{
  flex:0 0 auto!important;color:#4e0b16!important;font-size:.79rem!important;font-weight:600!important;
  letter-spacing:.01em!important;text-transform:none!important;
}


/* V2.7.1 — 20-image professional View Album gallery */
.page-album-details .album-gallery-section{padding-top:clamp(70px,8vw,112px)!important;padding-bottom:clamp(76px,9vw,124px)!important}
.page-album-details .album-gallery-head{margin-bottom:20px}
.page-album-details .album-gallery-count{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 30px;padding:14px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.page-album-details .album-editorial-gallery-20{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-auto-rows:18px!important;gap:16px!important}
.page-album-details .album-editorial-gallery-20 .album-gallery-item{grid-column:span 4;grid-row:span 18;position:relative;min-width:0;height:auto!important;margin:0;overflow:hidden;border-radius:18px;background:#2c1116;cursor:zoom-in;isolation:isolate;outline:none}
.page-album-details .album-editorial-gallery-20 .album-gallery-item:nth-child(5n+2),
.page-album-details .album-editorial-gallery-20 .album-gallery-item:nth-child(5n+4){grid-row:span 22}
.page-album-details .album-editorial-gallery-20 .album-gallery-featured{grid-column:span 8;grid-row:span 28}
.page-album-details .album-editorial-gallery-20 img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.001);transition:transform .7s cubic-bezier(.22,1,.36,1),filter .35s ease}
.page-album-details .album-editorial-gallery-20 .album-gallery-item:hover img,
.page-album-details .album-editorial-gallery-20 .album-gallery-item:focus-visible img{transform:scale(1.045);filter:saturate(.94)}
.page-album-details .album-editorial-gallery-20 figcaption{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:10px 12px;border-radius:10px;background:linear-gradient(135deg,rgba(24,4,9,.82),rgba(24,4,9,.58));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:.68rem;letter-spacing:.03em;opacity:0;transform:translateY(7px);transition:.25s}
.page-album-details .album-editorial-gallery-20 figcaption span{font-size:.62rem;letter-spacing:.14em;color:#e1c38d}
.page-album-details .album-editorial-gallery-20 .album-gallery-item:hover figcaption,
.page-album-details .album-editorial-gallery-20 .album-gallery-item:focus-visible figcaption{opacity:1;transform:none}
.sa-album-lightbox{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:clamp(16px,4vw,48px);background:rgba(12,2,5,.94);opacity:0;visibility:hidden;transition:.25s}
.sa-album-lightbox.is-open{opacity:1;visibility:visible}
.sa-album-lightbox img{display:block;max-width:min(92vw,1500px);max-height:84vh;width:auto;height:auto;border-radius:16px;box-shadow:0 30px 100px rgba(0,0,0,.45)}
.sa-album-lightbox button{position:absolute;top:18px;right:20px;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.sa-album-lightbox p{position:absolute;left:24px;bottom:18px;margin:0!important;color:rgba(255,255,255,.78)!important;font-size:.78rem;letter-spacing:.06em}
@media(max-width:900px){
 .page-album-details .album-editorial-gallery-20{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:16px!important}
 .page-album-details .album-editorial-gallery-20 .album-gallery-item{grid-column:span 3;grid-row:span 18}
 .page-album-details .album-editorial-gallery-20 .album-gallery-featured{grid-column:span 6;grid-row:span 26}
}
@media(max-width:600px){
 .page-album-details .album-gallery-count{align-items:flex-start;flex-direction:column;gap:7px}
 .page-album-details .album-editorial-gallery-20{display:grid!important;grid-template-columns:1fr!important;grid-auto-rows:auto!important;gap:14px!important}
 .page-album-details .album-editorial-gallery-20 .album-gallery-item,
 .page-album-details .album-editorial-gallery-20 .album-gallery-featured{grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/5;height:auto!important;border-radius:15px}
 .page-album-details .album-editorial-gallery-20 .album-gallery-featured{aspect-ratio:16/11}
 .page-album-details .album-editorial-gallery-20 figcaption{opacity:1;transform:none}
}


/* V2.7.2 — title-free full-size album viewer */
.page-album-details .album-editorial-gallery-20 figcaption{display:none!important}
.sa-album-lightbox{grid-template-columns:72px minmax(0,1fr) 72px;grid-template-rows:1fr;padding:20px 22px;background:rgba(10,2,4,.975)}
.sa-album-lightbox .sa-lightbox-stage{grid-column:2;grid-row:1;width:100%;height:100%;display:grid;place-items:center;min-width:0;min-height:0}
.sa-album-lightbox img{max-width:100%;max-height:calc(100vh - 40px);width:auto;height:auto;object-fit:contain;border-radius:0;box-shadow:none}
.sa-album-lightbox button{display:grid!important;place-items:center!important;padding:0!important;margin:0!important;line-height:0!important}
.sa-album-lightbox button svg{display:block;width:22px;height:22px;overflow:visible}
.sa-album-lightbox button svg path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sa-album-lightbox .sa-lightbox-close{position:absolute;z-index:3;top:18px;right:18px;width:46px;height:46px}
.sa-album-lightbox .sa-lightbox-nav{position:relative;z-index:2;top:auto;right:auto;align-self:center;width:48px;height:48px}
.sa-album-lightbox .sa-lightbox-prev{grid-column:1;grid-row:1;justify-self:center}
.sa-album-lightbox .sa-lightbox-next{grid-column:3;grid-row:1;justify-self:center}
.sa-album-lightbox .sa-lightbox-counter{position:absolute;z-index:3;left:50%;bottom:14px;transform:translateX(-50%);padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.09);color:rgba(255,255,255,.82);font-size:.68rem;letter-spacing:.14em;line-height:1}
.sa-album-lightbox p{display:none!important}
@media(max-width:700px){
 .sa-album-lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:12px 8px}
 .sa-album-lightbox img{max-height:calc(100vh - 24px)}
 .sa-album-lightbox .sa-lightbox-close{top:10px;right:10px;width:42px;height:42px;background:rgba(12,2,5,.62)}
 .sa-album-lightbox .sa-lightbox-nav{width:40px;height:40px;background:rgba(12,2,5,.62)}
 .sa-album-lightbox button svg{width:20px;height:20px}
}

/* =========================================================
   V2.7.3 — LIGHTBOX CURSOR + GLOBAL BACK TO TOP
   ========================================================= */
.sa-album-lightbox.is-open ~ .premium-cursor,
body.sa-lightbox-open .premium-cursor{
  z-index:1000002!important;
  opacity:1!important;
  visibility:visible!important;
  display:grid!important;
  mix-blend-mode:normal!important;
  border-color:rgba(255,255,255,.82)!important;
  background:rgba(255,255,255,.06)!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.12),0 8px 24px rgba(0,0,0,.22)!important;
}
body.sa-lightbox-open .premium-cursor .cursor-dot{
  background:#fff!important;
  box-shadow:0 0 10px rgba(255,255,255,.55)!important;
}
body.sa-lightbox-open .sa-album-lightbox,
body.sa-lightbox-open .sa-album-lightbox *{cursor:none!important}

.sa-back-to-top{
  position:fixed;
  right:clamp(16px,2.2vw,32px);
  bottom:clamp(16px,2.2vw,30px);
  z-index:10020;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(59,11,20,.22);
  border-radius:50%;
  background:rgba(255,250,245,.92);
  color:#3b0b14;
  box-shadow:0 12px 34px rgba(24,4,9,.14);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px) scale(.94);
  transition:opacity .24s ease,visibility .24s ease,transform .24s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
  cursor:pointer;
}
.sa-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.sa-back-to-top:hover,
.sa-back-to-top:focus-visible{
  background:#3b0b14;
  color:#fff;
  border-color:#3b0b14;
  outline:none;
}
.sa-back-to-top svg{
  display:block;
  width:20px;
  height:20px;
  overflow:visible;
}
.sa-back-to-top path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.sa-lightbox-open .sa-back-to-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:700px){
  .sa-back-to-top{width:42px;height:42px;right:14px;bottom:14px}
  .sa-back-to-top svg{width:18px;height:18px}
}
@media(pointer:coarse),(prefers-reduced-motion:reduce){
  body.sa-lightbox-open .sa-album-lightbox,
  body.sa-lightbox-open .sa-album-lightbox *{cursor:auto!important}
  .sa-back-to-top{transition:none}
}

/* =========================================================
   V2.7.6 — HOMEPAGE OCCASION CARD HARD FIX
   Fully isolated selectors. No legacy .card/.image-card/.overlay
   classes are used, so older pseudo-content and overlay rules cannot
   alter this layout.
   ========================================================= */
.page-index .sa-occasion-section{
  padding-top:clamp(76px,7vw,108px)!important;
  padding-bottom:clamp(80px,7vw,112px)!important;
  background:#f8f2e9!important;
}
.page-index .sa-occasion-section>.container>.eyebrow{
  margin:0 0 12px!important;
  color:#4f0e19!important;
}
.page-index .sa-occasion-section>.container>h2{
  max-width:980px!important;
  margin:0 0 clamp(32px,3.2vw,48px)!important;
  color:#3b0b14!important;
}
.page-index .sa-occasion-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(22px,2vw,30px)!important;
  align-items:stretch!important;
}
.page-index .sa-occasion-card,
.page-index .sa-occasion-card:hover,
.page-index .sa-occasion-card:focus-visible{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.86)!important;
  border-radius:22px!important;
  background:#f7f3f2!important;
  color:#241d1c!important;
  box-shadow:0 20px 48px rgba(48,15,22,.14)!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  text-decoration:none!important;
  isolation:isolate!important;
  transition:box-shadow .28s ease,border-color .28s ease!important;
}
.page-index .sa-occasion-card:hover,
.page-index .sa-occasion-card:focus-visible{
  border-color:rgba(255,255,255,1)!important;
  box-shadow:0 24px 56px rgba(48,15,22,.18)!important;
  outline:none!important;
}
.page-index .sa-occasion-card::before,
.page-index .sa-occasion-card::after,
.page-index .sa-occasion-card span::before,
.page-index .sa-occasion-card span::after,
.page-index .sa-occasion-card h3::before,
.page-index .sa-occasion-card h3::after{
  content:none!important;
  display:none!important;
}
.page-index .sa-occasion-media{
  position:relative!important;
  display:block!important;
  flex:0 0 300px!important;
  width:100%!important;
  height:300px!important;
  min-height:300px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:21px 21px 0 0!important;
  background:#ddd4ce!important;
}
.page-index .sa-occasion-media img,
.page-index .sa-occasion-card:hover .sa-occasion-media img,
.page-index .sa-occasion-card:focus-visible .sa-occasion-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  transform:translateZ(0) scale(1)!important;
  filter:none!important;
  transition:transform .55s cubic-bezier(.2,.7,.2,1)!important;
}
.page-index .sa-occasion-card:hover .sa-occasion-media img,
.page-index .sa-occasion-card:focus-visible .sa-occasion-media img{
  transform:translateZ(0) scale(1.025)!important;
}
.page-index .sa-occasion-content{
  position:relative!important;
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%!important;
  min-height:248px!important;
  margin:0!important;
  padding:20px 22px 18px!important;
  border:0!important;
  border-radius:0!important;
  background:#f7f3f2!important;
  color:#241d1c!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  text-align:left!important;
}
.page-index .sa-occasion-badge{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-height:35px!important;
  margin:0 0 11px!important;
  padding:8px 13px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:999px!important;
  background:#eadfce!important;
  color:#5b2029!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
.page-index .sa-occasion-title{
  display:block!important;
  width:100%!important;
  margin:0 0 19px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#241d1c!important;
  font-family:'Google Sans Flex','Google Sans','Helvetica Neue',Arial,sans-serif!important;
  font-size:clamp(25px,2.25vw,31px)!important;
  font-weight:700!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
}
.page-index .sa-occasion-description{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#6e6461!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.page-index .sa-occasion-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
  min-height:46px!important;
  margin:auto 0 0!important;
  padding:18px 0 0!important;
  border:0!important;
  border-top:1px solid #ded5d2!important;
  border-radius:0!important;
  background:transparent!important;
}
.page-index .sa-occasion-meta,
.page-index .sa-occasion-link,
.page-index .sa-occasion-link>span{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  line-height:1.2!important;
}
.page-index .sa-occasion-meta{
  color:#817573!important;
  font-size:11px!important;
  font-weight:500!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
}
.page-index .sa-occasion-link{
  gap:7px!important;
  color:#4d1720!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  text-transform:none!important;
}
.page-index .sa-occasion-link>span{
  font-size:15px!important;
  transform:none!important;
  transition:transform .22s ease!important;
}
.page-index .sa-occasion-card:hover .sa-occasion-link>span,
.page-index .sa-occasion-card:focus-visible .sa-occasion-link>span{
  transform:translate(2px,-2px)!important;
}
@media(max-width:980px){
  .page-index .sa-occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-index .sa-occasion-media{height:330px!important;min-height:330px!important;flex-basis:330px!important}
}
@media(max-width:700px){
  .page-index .sa-occasion-section{padding-top:70px!important;padding-bottom:76px!important}
  .page-index .sa-occasion-grid{grid-template-columns:1fr!important;gap:22px!important}
  .page-index .sa-occasion-card{width:100%!important;max-width:410px!important;margin-inline:auto!important}
  .page-index .sa-occasion-media{height:330px!important;min-height:330px!important;flex-basis:330px!important}
  .page-index .sa-occasion-content{min-height:248px!important;padding:20px 22px 18px!important}
  .page-index .sa-occasion-title{font-size:30px!important}
}
@media(max-width:430px){
  .page-index .sa-occasion-section>.container{width:min(calc(100% - 28px),var(--max))!important}
  .page-index .sa-occasion-card{border-radius:21px!important}
  .page-index .sa-occasion-media{height:clamp(286px,80vw,330px)!important;min-height:0!important;flex-basis:auto!important}
  .page-index .sa-occasion-content{padding:19px 21px 17px!important}
  .page-index .sa-occasion-title{font-size:28px!important}
  .page-index .sa-occasion-description{font-size:15px!important}
  .page-index .sa-occasion-footer{gap:10px!important}
  .page-index .sa-occasion-meta{font-size:10px!important}
  .page-index .sa-occasion-link{font-size:12px!important}
}
@media(pointer:coarse),(prefers-reduced-motion:reduce){
  .page-index .sa-occasion-card,
  .page-index .sa-occasion-media img,
  .page-index .sa-occasion-link>span{transition:none!important}
  .page-index .sa-occasion-card:hover .sa-occasion-media img,
  .page-index .sa-occasion-card:focus-visible .sa-occasion-media img{transform:none!important}
}


/* =========================================================
   V2.7.7 — MOBILE LOGIN RESTORE + HOMEPAGE LOGOUT REDIRECT UI
   Keeps authentication actions inside the opened mobile menu.
   ========================================================= */
.mobile-nav .sa-mobile-auth-block{
  margin-top:10px!important;
  padding-top:14px!important;
  border-top:1px solid rgba(59,11,20,.12)!important;
}
.mobile-nav .sa-mobile-auth-block a{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:46px!important;
  padding:12px 14px!important;
  border-radius:12px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
.mobile-nav .sa-mobile-auth-block a span{
  width:20px!important;
  text-align:center!important;
}
.mobile-nav .sa-mobile-login{
  justify-content:center!important;
  color:#fff!important;
  background:#3B0B14!important;
  border:1px solid #3B0B14!important;
  box-shadow:0 10px 24px rgba(59,11,20,.16)!important;
}
.mobile-nav .sa-mobile-login:hover,
.mobile-nav .sa-mobile-login:focus-visible{
  color:#fff!important;
  background:#26070d!important;
}
.mobile-nav .sa-mobile-logout{
  color:#8d1c31!important;
  margin-top:4px!important;
}
.sa-wp-header .sa-wp-mobile-toggle{display:none}
.sa-wp-header .sa-wp-mobile-nav{display:none!important}
.sa-wp-header .sa-wp-mobile-nav.open{display:block!important}
@media(max-width:1080px){
  .sa-wp-header{position:sticky!important;top:0!important}
  .sa-wp-header .sa-wp-mobile-toggle{display:grid!important;place-items:center;width:40px;height:40px;flex:0 0 40px;padding:0;border:0;background:transparent;color:#3B0B14;cursor:pointer}
  .sa-wp-header .sa-wp-mobile-nav{position:fixed!important;top:72px!important;left:12px!important;right:12px!important;z-index:10020!important;padding:16px!important;border:1px solid rgba(59,11,20,.12)!important;border-radius:18px!important;background:rgba(255,253,249,.98)!important;box-shadow:0 18px 48px rgba(31,26,23,.14)!important;max-height:calc(100vh - 90px)!important;overflow:auto!important}
  .sa-wp-header .sa-wp-mobile-nav>a{display:block;padding:12px 14px;border-radius:12px;color:#2b2022;text-decoration:none}
  .sa-wp-header .sa-wp-mobile-nav>a:hover{background:#f5ebe5;color:#3B0B14}
}
@media(max-width:700px){
  /* On phones the login action lives in the menu, avoiding duplicate buttons beside the hamburger. */
  .site-header .nav-actions>.plain.sa-auth-open,
  .sa-wp-header .sa-wp-actions>.sa-auth-open{display:none!important}
}


/* =========================================================
   V2.7.8 — OCCASION TITLE SPACING + CURSOR VISIBILITY
   Adds breathing room below the category pill and prevents the
   premium mouse cursor from disappearing over homepage cards.
   ========================================================= */
.page-index .sa-occasion-badge{
  margin-bottom:11px!important;
}
.page-index .sa-occasion-title{
  margin-top:0!important;
}
.premium-cursor.sa-occasion-hover,
.premium-cursor.sa-occasion-hover.cursor-card,
.premium-cursor.sa-occasion-hover.is-image{
  display:grid!important;
  opacity:1!important;
  visibility:visible!important;
}
@media(max-width:430px){
  .page-index .sa-occasion-badge{margin-bottom:10px!important}
}


/* =========================================================
   V2.7.9 — MOBILE DRAWER HARD GUARD + ASSET-LOAD REPAIR
   The mobile drawer stays outside desktop flow even if an editor,
   optimization plugin or stale cached rule attempts to reveal it.
   ========================================================= */
html body .site-header>.mobile-nav[hidden],
html body .sa-wp-header>.sa-wp-mobile-nav[hidden]{
  display:none!important;
}
@media(min-width:1081px){
  .site-header .mobile-nav,
  .sa-wp-header .sa-wp-mobile-nav{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
@media(max-width:1080px){
  .site-header .mobile-nav.open:not([hidden]),
  .sa-wp-header .sa-wp-mobile-nav.open:not([hidden]){
    display:block!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}
body.sa-mobile-menu-open{overflow:hidden}


/* =========================================================
   V2.8.0 — ACCOUNT ICON ON EVERY PUBLIC PAGE
   Guest users receive the same fixed account entry point on
   static, WordPress and Elementor pages. Logged-in users keep
   their avatar/profile dropdown. The icon stays visible beside
   the hamburger on mobile instead of disappearing.
   ========================================================= */
.sa-guest-account{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  flex:0 0 44px!important;
  padding:0!important;
  margin:0!important;
  display:inline-grid!important;
  place-items:center!important;
  border:1px solid rgba(59,11,20,.18)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#3B0B14!important;
  box-shadow:0 9px 24px rgba(59,11,20,.10)!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
  position:relative!important;
  z-index:10045!important;
}
.sa-guest-account:hover,.sa-guest-account:focus-visible{
  transform:translateY(-1px)!important;
  border-color:rgba(59,11,20,.42)!important;
  box-shadow:0 13px 30px rgba(59,11,20,.15)!important;
  outline:0!important;
}
.sa-guest-account svg{
  width:21px!important;
  height:21px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
.sa-guest-account-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
.site-header .nav-actions>.sa-guest-account,
.sa-wp-header .sa-wp-actions>.sa-guest-account{
  display:inline-grid!important;
}
.sa-wp-actions,.site-header .nav-actions{align-items:center!important}
.sa-elementor-fullwidth-content{min-height:50vh}
@media(max-width:1080px){
  .site-header .nav-actions>.sa-guest-account,
  .sa-wp-header .sa-wp-actions>.sa-guest-account{
    display:inline-grid!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex-basis:42px!important;
  }
}
@media(max-width:700px){
  /* Override the older rule that hid the guest login control. */
  .site-header .nav-actions>.sa-guest-account,
  .sa-wp-header .sa-wp-actions>.sa-guest-account{
    display:inline-grid!important;
  }
  .site-header .nav-actions,.sa-wp-header .sa-wp-actions{gap:8px!important}
  .site-header .header-profile-trigger,
  .sa-wp-header .header-profile-trigger{
    display:flex!important;
  }
}

/* Headerless-template fallback (Elementor Canvas and custom bare templates). */
.sa-global-account-fallback{
  display:none;
  position:fixed!important;
  top:max(14px,env(safe-area-inset-top))!important;
  right:max(14px,env(safe-area-inset-right))!important;
  z-index:100040!important;
}
.sa-global-account-fallback.is-visible{display:block!important}
.sa-global-account-fallback .header-account{position:relative!important}
.sa-global-account-fallback .header-profile-menu{
  position:absolute!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  left:auto!important;
}
@media(max-width:700px){
  .sa-global-account-fallback{top:max(10px,env(safe-area-inset-top))!important;right:max(10px,env(safe-area-inset-right))!important}
  .sa-global-account-fallback .header-user-copy,.sa-global-account-fallback .header-chevron{display:none!important}
}


/* V2.8.1 hotfix: restore blue zoom cursor on CTA hover + lower studio bridge on mobile */
@media (pointer:fine){
  .premium-cursor.cursor-button{
    width:74px!important;
    height:74px!important;
    background:radial-gradient(circle,rgba(104,128,255,.22) 0%,rgba(104,128,255,.12) 58%,rgba(104,128,255,0) 74%)!important;
    border-color:rgba(104,128,255,.68)!important;
    mix-blend-mode:normal!important;
    box-shadow:0 12px 32px rgba(104,128,255,.22)!important;
    backdrop-filter:blur(3px)!important;
  }
  .premium-cursor.cursor-button .cursor-dot{
    background:#6b84ff!important;
    box-shadow:0 0 18px rgba(104,128,255,.58)!important;
    transform:scale(1.18)!important;
  }
  .premium-cursor.cursor-on-dark.cursor-button{
    background:radial-gradient(circle,rgba(226,234,255,.24) 0%,rgba(164,186,255,.12) 58%,rgba(164,186,255,0) 74%)!important;
    border-color:rgba(240,245,255,.88)!important;
  }
  .premium-cursor.cursor-on-dark.cursor-button .cursor-dot{
    background:#f7f9ff!important;
    box-shadow:0 0 14px rgba(255,255,255,.40)!important;
  }
}

@media (max-width:760px){
  .page-index .studio-bridge,
  body.home .studio-bridge,
  .home .studio-bridge{
    margin:22px auto 34px!important;
  }
  .page-index .studio-bridge>.container,
  body.home .studio-bridge>.container,
  .home .studio-bridge>.container{
    width:min(calc(100% - 28px),1280px)!important;
  }
}


/* V2.8.2: profile/avatar controls exist only after login. */
body:not(.logged-in) .sa-guest-account,
body:not(.logged-in) .sa-global-account-fallback{display:none!important}


/* V2.8.4: homepage profile continuity while the sticky header is intentionally hidden over the hero. */
.page-index.logged-in .sa-global-account-fallback.is-visible{
  display:block!important;
}
.page-index.logged-in .sa-global-account-fallback .header-account{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.page-index.logged-in .sa-global-account-fallback .header-profile-trigger{
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(59,11,20,.14)!important;
  box-shadow:0 12px 34px rgba(23,8,12,.18)!important;
}
.page-index.logged-in .sa-global-account-fallback .header-bell{
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 12px 34px rgba(23,8,12,.14)!important;
}
@media(max-width:700px){
  .page-index.logged-in .sa-global-account-fallback .header-bell{display:none!important}
  .page-index.logged-in .sa-global-account-fallback .header-profile-trigger{padding:3px!important}
}


/* V2.8.5 — refined compact premium cursor (no oversized zoom). */
@media (pointer:fine){
  .premium-cursor{
    width:28px!important;
    height:28px!important;
    border-width:1px!important;
    box-shadow:0 5px 18px rgba(59,11,20,.10)!important;
  }
  .premium-cursor .cursor-dot{
    width:4px!important;
    height:4px!important;
  }
  .premium-cursor.cursor-button,
  .premium-cursor.is-link:not(.has-label){
    width:44px!important;
    height:44px!important;
    background:radial-gradient(circle,rgba(104,128,255,.17) 0%,rgba(104,128,255,.08) 58%,rgba(104,128,255,0) 76%)!important;
    border-color:rgba(104,128,255,.56)!important;
    box-shadow:0 8px 22px rgba(104,128,255,.16)!important;
    backdrop-filter:blur(1.5px)!important;
  }
  .premium-cursor.cursor-card{
    width:46px!important;
    height:46px!important;
  }
  .premium-cursor.is-image{
    width:52px!important;
    height:52px!important;
    backdrop-filter:blur(1px)!important;
  }
  .premium-cursor.has-label{
    width:58px!important;
    height:58px!important;
  }
  .premium-cursor.cursor-button .cursor-dot{
    transform:scale(1.05)!important;
    box-shadow:0 0 10px rgba(104,128,255,.42)!important;
  }
}


/* V2.8.6: logged-in homepage profile must override old guest-state guards. */
body .sa-global-account-fallback.is-visible{
  display:block!important;
}
body.page-index .sa-global-account-fallback.is-visible,
body.home .sa-global-account-fallback.is-visible{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body[data-sa-auth-state="logged-in"] .sa-auth-open,
body[data-sa-auth-state="logged-in"] .sa-guest-account{
  display:none!important;
}
body[data-sa-auth-state="logged-in"] .sa-wp-live-account,
body[data-sa-auth-state="logged-in"] .header-account{
  visibility:visible!important;
  opacity:1!important;
}


/* V2.8.7 — homepage uses only its real sticky header account; never a floating duplicate. */
body.page-index .sa-global-account-fallback,
body.home .sa-global-account-fallback{display:none!important}
body[data-sa-auth-state="logged-in"] .site-header .nav-actions>a.sa-auth-open,
body[data-sa-auth-state="logged-in"] .site-header .nav-actions>a.plain,
body.logged-in .site-header .nav-actions>a.sa-auth-open,
body.logged-in .site-header .nav-actions>a.plain{display:none!important}

/* One clear cursor rule: compact on body/text, blue expansion on links/buttons/images. */
@media (pointer:fine){
  .premium-cursor.sa-blue-hover{
    width:44px!important;height:44px!important;
    background:radial-gradient(circle,rgba(91,126,255,.20) 0%,rgba(91,126,255,.09) 58%,rgba(91,126,255,0) 76%)!important;
    border-color:rgba(91,126,255,.68)!important;
    box-shadow:0 8px 22px rgba(91,126,255,.18)!important;
    backdrop-filter:blur(1.5px)!important;
    mix-blend-mode:normal!important;
  }
  .premium-cursor.sa-blue-hover .cursor-dot{
    background:#5b7eff!important;
    box-shadow:0 0 10px rgba(91,126,255,.46)!important;
  }
  .premium-cursor.sa-text-hover{width:18px!important;height:18px!important;background:transparent!important;box-shadow:none!important}
  .premium-cursor.cursor-on-dark.sa-blue-hover{border-color:rgba(220,230,255,.92)!important;background:rgba(118,149,255,.14)!important}
  .premium-cursor.cursor-on-dark.sa-blue-hover .cursor-dot{background:#f7f9ff!important}
}


/* V2.8.7.2: keep exactly one boxed Login control in public headers. */
.site-header .nav-actions > a.plain:not(.sa-boxed-login),
.sa-wp-header .sa-wp-actions > a.plain:not(.sa-boxed-login),
.site-header .nav-actions > a[href*="login"]:not(.sa-boxed-login):not(.header-logout),
.sa-wp-header .sa-wp-actions > a[href*="login"]:not(.sa-boxed-login):not(.header-logout){display:none!important}
.site-header .nav-actions > .sa-boxed-login,
.sa-wp-header .sa-wp-actions > .sa-boxed-login{display:inline-flex!important}


/* V2.8.7.3 — keep premium cursor visible and interactive over auth popup. */
@media (pointer:fine){
  html.sa-auth-lock .premium-cursor,
  body.sa-auth-active .premium-cursor{
    display:grid!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:1000002!important;
    mix-blend-mode:normal!important;
  }
  html.sa-auth-lock,
  html.sa-auth-lock body,
  body.sa-auth-active{cursor:none!important}
  html.sa-auth-lock .sa-auth-modal,
  html.sa-auth-lock .sa-auth-modal *,
  body.sa-auth-active .sa-auth-modal,
  body.sa-auth-active .sa-auth-modal *{cursor:none!important}
  html.sa-auth-lock .premium-cursor.sa-auth-action,
  body.sa-auth-active .premium-cursor.sa-auth-action{
    width:44px!important;
    height:44px!important;
    border-color:rgba(105,137,255,.78)!important;
    background:rgba(105,137,255,.16)!important;
    box-shadow:0 10px 28px rgba(105,137,255,.22)!important;
  }
  html.sa-auth-lock .premium-cursor.sa-auth-action .cursor-dot,
  body.sa-auth-active .premium-cursor.sa-auth-action .cursor-dot{
    background:#6b87ff!important;
    box-shadow:0 0 12px rgba(107,135,255,.55)!important;
  }
  html.sa-auth-lock .premium-cursor.sa-auth-text,
  body.sa-auth-active .premium-cursor.sa-auth-text{
    width:18px!important;height:18px!important;background:transparent!important;box-shadow:none!important;
  }
}


/* V2.8.7.4 — authoritative always-visible premium cursor redesign. */
@media (hover:hover) and (pointer:fine){
  html.has-custom-cursor,
  html.has-custom-cursor body,
  html.has-custom-cursor body *:not(iframe):not(object):not(embed){cursor:none!important}
  iframe,object,embed{cursor:auto!important}

  .premium-cursor,
  html:not(.sa-page-ready) .premium-cursor,
  body:not(.sa-page-ready) .premium-cursor,
  html.sa-page-ready .premium-cursor,
  body.sa-page-ready .premium-cursor,
  html.sa-auth-lock .premium-cursor,
  body.sa-auth-active .premium-cursor,
  body.sa-lightbox-open .premium-cursor,
  .sa-album-lightbox.is-open ~ .premium-cursor,
  .premium-cursor.sa-occasion-hover,
  .premium-cursor.sa-occasion-hover.cursor-card,
  .premium-cursor.sa-occasion-hover.is-image{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    width:26px!important;
    height:26px!important;
    border:1px solid rgba(59,11,20,.58)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.34)!important;
    box-shadow:0 5px 18px rgba(59,11,20,.13),inset 0 0 0 1px rgba(255,255,255,.48)!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
    mix-blend-mode:normal!important;
    pointer-events:none!important;
    z-index:2147483647!important;
    transform:translate3d(-80px,-80px,0) translate(-50%,-50%);
    transition:width .16s ease,height .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
  }
  .premium-cursor .cursor-dot{
    display:block!important;
    width:4px!important;
    height:4px!important;
    border-radius:50%!important;
    background:#3B0B14!important;
    opacity:1!important;
    box-shadow:0 0 7px rgba(59,11,20,.32)!important;
    transform:none!important;
  }
  .premium-cursor.sa-blue-hover,
  .premium-cursor.sa-auth-action,
  .premium-cursor.cursor-button,
  .premium-cursor.is-link,
  .premium-cursor.is-image,
  .premium-cursor.cursor-card{
    width:44px!important;
    height:44px!important;
    border-color:rgba(75,113,255,.80)!important;
    background:radial-gradient(circle,rgba(91,126,255,.25) 0%,rgba(91,126,255,.12) 58%,rgba(91,126,255,.04) 100%)!important;
    box-shadow:0 9px 26px rgba(75,113,255,.24),inset 0 0 0 1px rgba(255,255,255,.58)!important;
  }
  .premium-cursor.sa-blue-hover .cursor-dot,
  .premium-cursor.sa-auth-action .cursor-dot,
  .premium-cursor.cursor-button .cursor-dot,
  .premium-cursor.is-link .cursor-dot,
  .premium-cursor.is-image .cursor-dot,
  .premium-cursor.cursor-card .cursor-dot{
    background:#4f73ff!important;
    box-shadow:0 0 12px rgba(79,115,255,.68)!important;
  }
  .premium-cursor.sa-text-hover,
  .premium-cursor.sa-auth-text,
  .premium-cursor.is-text{
    width:20px!important;
    height:20px!important;
    background:rgba(255,255,255,.25)!important;
    border-color:rgba(59,11,20,.52)!important;
    box-shadow:0 4px 14px rgba(59,11,20,.10)!important;
  }
  .premium-cursor.cursor-on-dark{
    border-color:rgba(255,255,255,.88)!important;
    background:rgba(255,255,255,.12)!important;
    box-shadow:0 7px 22px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.22)!important;
  }
  .premium-cursor.cursor-on-dark .cursor-dot{background:#fff!important;box-shadow:0 0 10px rgba(255,255,255,.62)!important}
  .premium-cursor.cursor-on-dark.sa-blue-hover,
  .premium-cursor.cursor-on-dark.sa-auth-action{
    border-color:rgba(210,223,255,.98)!important;
    background:rgba(91,126,255,.22)!important;
  }
}
@media (pointer:coarse){.premium-cursor{display:none!important}}

/* V2.8.7.5 — unified responsive premium cursor states (website + auth). */
html{scroll-behavior:smooth}
@media (pointer:fine){
  html.has-custom-cursor,html.has-custom-cursor *:not(iframe):not(object):not(embed){cursor:none!important}
  .premium-cursor{
    width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;
    opacity:1!important;visibility:visible!important;display:grid!important;
    pointer-events:none!important;z-index:2147483646!important;
    border:1px solid rgba(59,11,20,.58)!important;border-radius:50%!important;
    background:rgba(255,255,255,.18)!important;box-shadow:0 3px 12px rgba(59,11,20,.10)!important;
    mix-blend-mode:normal!important;backdrop-filter:none!important;
    transition:width .22s cubic-bezier(.2,.8,.2,1),height .22s cubic-bezier(.2,.8,.2,1),background .22s ease,border-color .22s ease,box-shadow .22s ease!important;
    animation:saCursorBreath 1.15s ease-in-out infinite!important;
  }
  .premium-cursor .cursor-dot{width:4px!important;height:4px!important;background:#3b0b14!important;border-radius:50%!important;box-shadow:0 0 7px rgba(59,11,20,.35)!important;transition:background .2s ease,box-shadow .2s ease!important}
  .premium-cursor[data-sa-state="menu"],.premium-cursor[data-sa-state="link"]{width:30px!important;height:30px!important;background:rgba(79,115,255,.10)!important;border-color:rgba(79,115,255,.72)!important;box-shadow:0 6px 18px rgba(79,115,255,.20)!important}
  .premium-cursor[data-sa-state="button"],.premium-cursor[data-sa-state="card"]{width:40px!important;height:40px!important;background:rgba(79,115,255,.12)!important;border-color:rgba(79,115,255,.78)!important;box-shadow:0 8px 22px rgba(79,115,255,.24)!important}
  .premium-cursor[data-sa-state="upload"]{width:50px!important;height:50px!important;background:rgba(79,115,255,.13)!important;border-color:rgba(79,115,255,.86)!important;box-shadow:0 9px 26px rgba(79,115,255,.28)!important;animation:saCursorUploadRing .85s linear infinite,saCursorBreath 1.15s ease-in-out infinite!important}
  .premium-cursor[data-sa-state="text"],.premium-cursor[data-sa-state="default"]{width:16px!important;height:16px!important}
  .premium-cursor[data-sa-blue="1"] .cursor-dot{background:#4f73ff!important;box-shadow:0 0 11px rgba(79,115,255,.72)!important}
  .premium-cursor[data-sa-dark="1"]{border-color:rgba(255,255,255,.90)!important;background:rgba(255,255,255,.10)!important;box-shadow:0 7px 22px rgba(0,0,0,.25)!important}
  .premium-cursor[data-sa-dark="1"] .cursor-dot{background:#fff!important;box-shadow:0 0 10px rgba(255,255,255,.65)!important}
  iframe,object,embed{cursor:auto!important}
}
@keyframes saCursorBreath{0%,100%{scale:1}50%{scale:.88}}
@keyframes saCursorUploadRing{0%{outline:0 solid rgba(79,115,255,.34)}100%{outline:10px solid rgba(79,115,255,0)}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.premium-cursor{display:none!important}html.has-custom-cursor,html.has-custom-cursor *{cursor:auto!important}html{scroll-behavior:auto}}


/* V2.8.7.6 — final tiered cursor sizes + sound-wave zoom-out; never animates pointer coordinates. */
@media (hover:hover) and (pointer:fine){
  html.has-custom-cursor,html.has-custom-cursor body,html.has-custom-cursor body *:not(iframe):not(object):not(embed){cursor:none!important}
  .premium-cursor{
    width:16px!important;height:16px!important;min-width:0!important;min-height:0!important;
    border:1px solid rgba(255,248,232,.96)!important;border-radius:50%!important;
    background:rgba(255,255,255,.06)!important;
    box-shadow:0 2px 11px rgba(25,13,15,.28),0 0 0 1px rgba(59,11,20,.28)!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;mix-blend-mode:normal!important;
    display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:none!important;z-index:2147483647!important;
    transition:width .18s cubic-bezier(.2,.8,.2,1),height .18s cubic-bezier(.2,.8,.2,1),background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
    animation:none!important;will-change:transform,width,height!important;
  }
  .premium-cursor .cursor-dot{display:block!important;width:4px!important;height:4px!important;border-radius:50%!important;background:#fff8e8!important;box-shadow:0 0 0 1px rgba(59,11,20,.60),0 0 8px rgba(255,248,232,.55)!important;transform:none!important;transition:width .18s ease,height .18s ease,background .18s ease,box-shadow .18s ease!important}
  .premium-cursor::before,.premium-cursor::after{content:""!important;position:absolute!important;inset:-1px!important;border:1px solid rgba(82,119,255,.56)!important;border-radius:50%!important;opacity:0!important;pointer-events:none!important;transform:scale(.72)!important}
  .premium-cursor[data-sa-wave="1"]::before{animation:saCursorSoundWave 1.05s cubic-bezier(.15,.65,.3,1) infinite!important}
  .premium-cursor[data-sa-wave="1"]::after{animation:saCursorSoundWave 1.05s .34s cubic-bezier(.15,.65,.3,1) infinite!important}

  .premium-cursor[data-sa-state="reading"]{width:12px!important;height:12px!important;background:transparent!important;border-color:rgba(255,248,232,.88)!important;box-shadow:0 1px 7px rgba(25,13,15,.22),0 0 0 1px rgba(59,11,20,.20)!important}
  .premium-cursor[data-sa-state="reading"] .cursor-dot{width:3px!important;height:3px!important;background:#fff8e8!important;box-shadow:0 0 0 1px rgba(59,11,20,.55)!important}
  .premium-cursor[data-sa-state="input"]{width:14px!important;height:14px!important;background:transparent!important;border-color:rgba(255,248,232,.92)!important;box-shadow:0 2px 8px rgba(25,13,15,.24),0 0 0 1px rgba(59,11,20,.24)!important}
  .premium-cursor[data-sa-state="link"],.premium-cursor[data-sa-state="menu"],.premium-cursor[data-sa-state="auth"]{width:36px!important;height:36px!important;border-color:rgba(82,119,255,.90)!important;background:rgba(82,119,255,.10)!important;box-shadow:0 7px 21px rgba(82,119,255,.24),inset 0 0 0 1px rgba(255,255,255,.42)!important}
  .premium-cursor[data-sa-state="button"]{width:48px!important;height:48px!important;border-color:rgba(82,119,255,.96)!important;background:rgba(82,119,255,.14)!important;box-shadow:0 9px 26px rgba(82,119,255,.30),inset 0 0 0 1px rgba(255,255,255,.50)!important}
  .premium-cursor[data-sa-state="card"]{width:56px!important;height:56px!important;border-color:rgba(82,119,255,.90)!important;background:rgba(82,119,255,.11)!important;box-shadow:0 11px 30px rgba(82,119,255,.27),inset 0 0 0 1px rgba(255,255,255,.46)!important}
  .premium-cursor[data-sa-state="image"],.premium-cursor[data-sa-state="upload"]{width:70px!important;height:70px!important;border-color:rgba(82,119,255,.98)!important;background:radial-gradient(circle,rgba(82,119,255,.18),rgba(82,119,255,.08) 62%,transparent 74%)!important;box-shadow:0 13px 36px rgba(82,119,255,.35),inset 0 0 0 1px rgba(255,255,255,.54)!important}
  .premium-cursor[data-sa-blue="1"] .cursor-dot{width:5px!important;height:5px!important;background:#5277ff!important;box-shadow:0 0 13px rgba(82,119,255,.85)!important}
  .premium-cursor[data-sa-dark="1"]{border-color:rgba(255,248,232,.98)!important;box-shadow:0 8px 28px rgba(0,0,0,.36),inset 0 0 0 1px rgba(255,255,255,.34)!important}
  iframe,object,embed{cursor:auto!important}
}
@keyframes saCursorSoundWave{0%{opacity:.72;transform:scale(.72)}70%,100%{opacity:0;transform:scale(1.55)}}
@media(pointer:coarse){.premium-cursor{display:none!important}}


/* V2.8.7.7 — authoritative cursor hierarchy + visible sound-wave effect. */
@media (hover:hover) and (pointer:fine){
  html.sa-cursor-v2877,html.sa-cursor-v2877 body,html.sa-cursor-v2877 body *:not(iframe):not(object):not(embed){cursor:none!important}
  html.sa-cursor-v2877 .premium-cursor{
    display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:none!important;
    position:fixed!important;left:0!important;top:0!important;z-index:2147483647!important;
    width:16px!important;height:16px!important;min-width:0!important;min-height:0!important;
    border:1px solid rgba(255,248,232,.96)!important;border-radius:50%!important;
    background:rgba(255,255,255,.05)!important;
    box-shadow:0 2px 10px rgba(25,13,15,.28),0 0 0 1px rgba(59,11,20,.26)!important;
    mix-blend-mode:normal!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    transform:translate3d(var(--sa-cx,-80px),var(--sa-cy,-80px),0) translate(-50%,-50%)!important;
    transition:width .18s cubic-bezier(.2,.8,.2,1),height .18s cubic-bezier(.2,.8,.2,1),background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
    animation:none!important;will-change:transform,width,height!important;
  }
  html.sa-cursor-v2877 .premium-cursor .cursor-dot{
    display:block!important;width:4px!important;height:4px!important;border-radius:50%!important;
    background:#fff8e8!important;box-shadow:0 0 0 1px rgba(59,11,20,.62),0 0 8px rgba(255,248,232,.55)!important;
    opacity:1!important;transform:none!important;
  }
  html.sa-cursor-v2877 .premium-cursor::before,
  html.sa-cursor-v2877 .premium-cursor::after{
    content:""!important;position:absolute!important;inset:-1px!important;border:1px solid rgba(76,112,255,.72)!important;
    border-radius:50%!important;opacity:0!important;pointer-events:none!important;transform:scale(.72)!important;
  }
  html.sa-cursor-v2877 .premium-cursor[data-sa-wave="1"]::before{animation:saWaveV2877 1.1s cubic-bezier(.12,.62,.28,1) infinite!important}
  html.sa-cursor-v2877 .premium-cursor[data-sa-wave="1"]::after{animation:saWaveV2877 1.1s .38s cubic-bezier(.12,.62,.28,1) infinite!important}

  html.sa-cursor-v2877 .premium-cursor[data-sa-state="reading"]{width:12px!important;height:12px!important;background:transparent!important;box-shadow:0 1px 6px rgba(25,13,15,.24),0 0 0 1px rgba(59,11,20,.18)!important}
  html.sa-cursor-v2877 .premium-cursor[data-sa-state="input"]{width:14px!important;height:14px!important;background:transparent!important;box-shadow:0 1px 7px rgba(25,13,15,.24),0 0 0 1px rgba(59,11,20,.20)!important}
  html.sa-cursor-v2877 .premium-cursor[data-sa-state="auth"],
  html.sa-cursor-v2877 .premium-cursor[data-sa-state="link"]{width:36px!important;height:36px!important;border-color:rgba(76,112,255,.82)!important;background:rgba(76,112,255,.09)!important;box-shadow:0 6px 18px rgba(76,112,255,.22)!important}
  html.sa-cursor-v2877 .premium-cursor[data-sa-state="button"]{width:48px!important;height:48px!important;border-color:rgba(76,112,255,.88)!important;background:rgba(76,112,255,.13)!important;box-shadow:0 9px 25px rgba(76,112,255,.28)!important}
  html.sa-cursor-v2877 .premium-cursor[data-sa-state="card"]{width:56px!important;height:56px!important;border-color:rgba(76,112,255,.84)!important;background:rgba(76,112,255,.12)!important;box-shadow:0 10px 28px rgba(76,112,255,.26)!important}
  html.sa-cursor-v2877 .premium-cursor[data-sa-state="image"],
  html.sa-cursor-v2877 .premium-cursor[data-sa-state="upload"]{width:60px!important;height:60px!important;border-color:rgba(76,112,255,.92)!important;background:radial-gradient(circle,rgba(76,112,255,.18),rgba(76,112,255,.08) 62%,rgba(76,112,255,.02))!important;box-shadow:0 12px 32px rgba(76,112,255,.31)!important}
  html.sa-cursor-v2877 .premium-cursor[data-sa-blue="1"] .cursor-dot{background:#4c70ff!important;box-shadow:0 0 12px rgba(76,112,255,.76)!important}
  html.sa-cursor-v2877 .premium-cursor[data-sa-dark="1"]{border-color:rgba(255,255,255,.94)!important;background:rgba(255,255,255,.10)!important;box-shadow:0 8px 24px rgba(0,0,0,.28)!important}
  html.sa-cursor-v2877 .premium-cursor[data-sa-dark="1"] .cursor-dot{background:#fff!important;box-shadow:0 0 10px rgba(255,255,255,.68)!important}
  iframe,object,embed{cursor:auto!important}
}
@keyframes saWaveV2877{0%{opacity:.72;transform:scale(.72)}72%{opacity:.12}100%{opacity:0;transform:scale(1.72)}}
@media(pointer:coarse){html.sa-cursor-v2877 .premium-cursor{display:none!important}html.sa-cursor-v2877,html.sa-cursor-v2877 *{cursor:auto!important}}


/* V2.8.7.8 — public website-only pulse cursor. Legacy cursor is disabled. */
@media (pointer:fine){
  html.sa-public-pulse-cursor,
  html.sa-public-pulse-cursor body,
  html.sa-public-pulse-cursor body *{cursor:none!important}
  .premium-cursor{display:none!important}
  .sa-pulse-cursor{
    --sa-cursor-size:16px;
    --sa-cursor-ring:rgba(255,248,236,.92);
    --sa-cursor-dot:#3b0b14;
    --sa-cursor-glow:rgba(57,98,255,.18);
    position:fixed;left:0;top:0;width:var(--sa-cursor-size);height:var(--sa-cursor-size);
    margin:calc(var(--sa-cursor-size) / -2) 0 0 calc(var(--sa-cursor-size) / -2);
    border:1px solid var(--sa-cursor-ring);border-radius:50%;pointer-events:none;
    z-index:2147483646;box-sizing:border-box;transform:translate3d(var(--sa-x,-100px),var(--sa-y,-100px),0);
    transition:width .18s cubic-bezier(.2,.8,.2,1),height .18s cubic-bezier(.2,.8,.2,1),margin .18s cubic-bezier(.2,.8,.2,1),border-color .18s,background .18s,box-shadow .18s;
    box-shadow:0 2px 12px rgba(31,16,18,.20),0 0 0 1px rgba(59,11,20,.12);
    background:rgba(255,253,249,.08);will-change:transform,width,height;margin;
  }
  .sa-pulse-cursor::before,.sa-pulse-cursor::after{
    content:"";position:absolute;inset:-1px;border:1px solid rgba(78,111,255,.52);border-radius:inherit;
    opacity:0;pointer-events:none;transform:scale(.75)
  }
  .sa-pulse-cursor.is-pulse::before{animation:saCursorPulse 1.25s cubic-bezier(.18,.72,.28,1) infinite}
  .sa-pulse-cursor.is-pulse::after{animation:saCursorPulse 1.25s .42s cubic-bezier(.18,.72,.28,1) infinite}
  .sa-pulse-cursor-dot{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--sa-cursor-dot);box-shadow:0 0 8px rgba(59,11,20,.25)}
  .sa-pulse-cursor[data-state="text"]{--sa-cursor-size:12px;box-shadow:0 1px 7px rgba(31,16,18,.16)}
  .sa-pulse-cursor[data-state="input"]{--sa-cursor-size:14px}
  .sa-pulse-cursor[data-state="link"],.sa-pulse-cursor[data-state="auth"]{--sa-cursor-size:36px;border-color:rgba(77,111,255,.72);background:rgba(77,111,255,.07);box-shadow:0 5px 20px var(--sa-cursor-glow)}
  .sa-pulse-cursor[data-state="button"]{--sa-cursor-size:48px;border-color:rgba(77,111,255,.82);background:rgba(77,111,255,.09);box-shadow:0 8px 28px rgba(77,111,255,.25)}
  .sa-pulse-cursor[data-state="card"]{--sa-cursor-size:56px;border-color:rgba(77,111,255,.68);background:rgba(77,111,255,.07);box-shadow:0 9px 30px rgba(77,111,255,.21)}
  .sa-pulse-cursor[data-state="image"],.sa-pulse-cursor[data-state="upload"]{--sa-cursor-size:60px;border-color:rgba(77,111,255,.86);background:rgba(77,111,255,.10);box-shadow:0 10px 34px rgba(77,111,255,.28)}
  .sa-pulse-cursor[data-dark="1"]{--sa-cursor-ring:rgba(255,248,236,.94);--sa-cursor-dot:#fffaf2}
  @keyframes saCursorPulse{0%{opacity:.72;transform:scale(.72)}72%,100%{opacity:0;transform:scale(1.75)}}
}
@media (pointer:coarse),(prefers-reduced-motion:reduce){.sa-pulse-cursor{display:none!important}html.sa-public-pulse-cursor,html.sa-public-pulse-cursor body,html.sa-public-pulse-cursor body *{cursor:auto!important}}


/* =========================================================
   V2.8.7.10 — MOBILE ACCOUNT MENU CORRECTION
   Dashboard remains only in the profile dropdown. The public
   hamburger uses an explicit X control and reliable scroll lock.
   ========================================================= */
.sa-mobile-nav-close{display:none}
@media(max-width:1080px){
  body.sa-mobile-menu-open{overflow:hidden!important;touch-action:none}
  .site-header .mobile-toggle.is-open,
  .sa-wp-header .sa-wp-mobile-toggle.is-open{
    position:relative!important;
    font-size:0!important;
    line-height:1!important;
  }
  .site-header .mobile-toggle.is-open>svg,
  .sa-wp-header .sa-wp-mobile-toggle.is-open>svg{display:none!important}
  .site-header .mobile-toggle.is-open::before,
  .sa-wp-header .sa-wp-mobile-toggle.is-open::before{
    content:"×";
    display:block;
    color:currentColor;
    font:400 31px/1 Arial,sans-serif;
    transform:translateY(-1px);
  }
  .site-header .mobile-nav.open,
  .sa-wp-header .sa-wp-mobile-nav.open{
    padding-top:62px!important;
  }
  .mobile-nav .sa-mobile-nav-close{
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(59,11,20,.16)!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#3B0B14!important;
    box-shadow:0 7px 18px rgba(59,11,20,.10)!important;
    z-index:3!important;
    cursor:pointer!important;
  }
  .mobile-nav .sa-mobile-nav-close span,
  .mobile-nav .sa-mobile-nav-close span::before,
  .mobile-nav .sa-mobile-nav-close span::after{
    display:block!important;
    width:20px!important;
    height:2px!important;
    border-radius:999px!important;
    background:currentColor!important;
  }
  .mobile-nav .sa-mobile-nav-close span{position:relative!important;background:transparent!important}
  .mobile-nav .sa-mobile-nav-close span::before,
  .mobile-nav .sa-mobile-nav-close span::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
  }
  .mobile-nav .sa-mobile-nav-close span::before{transform:rotate(45deg)!important}
  .mobile-nav .sa-mobile-nav-close span::after{transform:rotate(-45deg)!important}
  .mobile-nav .sa-mobile-nav-close:focus-visible{outline:2px solid #3B0B14!important;outline-offset:2px!important}
}
@media(min-width:1081px){
  .mobile-nav .sa-mobile-nav-close{display:none!important}
}

/* =========================================================
   V2.8.7.11 — SINGLE MOBILE CLOSE + PROFILE-ANCHORED DROPDOWN
   The hamburger itself is the only close control. Logged-in
   account actions remain exclusively in the avatar dropdown.
   ========================================================= */
@media(max-width:1080px){
  .mobile-nav .sa-mobile-nav-close{display:none!important}
  .site-header .mobile-nav.open,
  .sa-wp-header .sa-wp-mobile-nav.open{padding-top:16px!important}
  .mobile-nav .sa-mobile-auth-user{display:none!important}
}
@media(max-width:700px){
  .site-header .header-profile-menu,
  .sa-wp-header .header-profile-menu{
    position:fixed!important;
    top:var(--sa-profile-menu-top,68px)!important;
    right:12px!important;
    left:auto!important;
    width:min(280px,calc(100vw - 24px))!important;
  }
  .site-header .header-profile-menu::before,
  .sa-wp-header .header-profile-menu::before{
    left:clamp(18px,var(--sa-profile-arrow-left,calc(100% - 68px)),calc(100% - 18px))!important;
    right:auto!important;
    top:-7px!important;
    transform:translateX(-50%) rotate(45deg)!important;
  }
}


/* ===== Homepage: approved burgundy abstract Why Signature Album section ===== */
.home .why-signature-section,
body.home .why-signature-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(78px,8vw,118px) 0 clamp(86px,9vw,132px)!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 94% 1%,rgba(232,154,135,.28) 0,rgba(171,75,76,.13) 16%,transparent 34%),
    radial-gradient(ellipse at 52% 35%,rgba(122,28,48,.22),transparent 50%),
    radial-gradient(circle at 5% 92%,rgba(199,165,106,.10),transparent 30%),
    linear-gradient(132deg,#3b0b14 0%,#4a0c18 43%,#2a070d 100%)!important;
}
.home .why-signature-section:before,
body.home .why-signature-section:before{
  content:''!important;
  position:absolute!important;
  z-index:-2!important;
  left:-360px!important;
  bottom:-410px!important;
  top:auto!important;
  right:auto!important;
  width:1050px!important;
  height:720px!important;
  border-radius:50%!important;
  border:1px solid rgba(232,196,139,.55)!important;
  background:
    radial-gradient(ellipse at 67% 20%,rgba(128,34,48,.38),transparent 52%),
    repeating-radial-gradient(ellipse at 62% 24%,transparent 0 18px,rgba(229,189,125,.08) 19px 20px,transparent 21px 29px)!important;
  box-shadow:
    0 0 0 8px rgba(224,183,116,.030),
    0 0 0 18px rgba(224,183,116,.022),
    0 0 0 31px rgba(224,183,116,.016)!important;
  transform:rotate(15deg)!important;
  pointer-events:none;
  opacity:.92;
}
.home .why-signature-section:after,
body.home .why-signature-section:after{
  content:'';
  position:absolute;
  z-index:-2;
  width:820px;
  height:820px;
  right:-460px;
  top:-570px;
  border-radius:50%;
  border:1px solid rgba(231,190,126,.48);
  background:radial-gradient(circle at 35% 68%,rgba(218,127,111,.16),transparent 40%);
  box-shadow:
    0 0 0 10px rgba(228,187,121,.022),
    0 0 0 24px rgba(228,187,121,.018),
    0 0 0 42px rgba(228,187,121,.012);
  pointer-events:none;
}
.home .why-signature-inner,
body.home .why-signature-inner{
  position:relative;
  z-index:1;
}
.home .why-signature-inner:before,
body.home .why-signature-inner:before{
  content:'';
  position:absolute;
  z-index:-1;
  left:-26%;
  bottom:-32%;
  width:82%;
  height:58%;
  border-top:1px solid rgba(239,201,139,.32);
  border-radius:50%;
  transform:rotate(7deg);
  filter:drop-shadow(0 -18px 30px rgba(197,89,80,.06));
  pointer-events:none;
}
.home .why-signature-inner:after,
body.home .why-signature-inner:after{
  content:'';
  position:absolute;
  z-index:-1;
  right:-14%;
  top:-55%;
  width:56%;
  height:120%;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.025) 50%,transparent 66%);
  transform:rotate(-13deg);
  pointer-events:none;
}
.home .why-signature-section .eyebrow,
body.home .why-signature-section .eyebrow{
  color:#fff8f0!important;
  margin-bottom:14px;
}
.home .why-signature-section .eyebrow:before,
body.home .why-signature-section .eyebrow:before{
  color:#dcb56f!important;
}
.home .why-signature-section h2,
body.home .why-signature-section h2{
  max-width:1180px;
  color:#fff!important;
  margin-bottom:34px;
  text-wrap:balance;
}
.home .why-signature-grid,
body.home .why-signature-grid{
  gap:20px;
  align-items:stretch;
}
.home .why-signature-section .stat-card,
body.home .why-signature-section .stat-card{
  min-height:276px;
  padding:31px 30px 29px;
  border-radius:21px;
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(247,243,241,.94))!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 24px 62px rgba(15,1,4,.19),inset 0 1px 0 rgba(255,255,255,.85)!important;
  color:#241b1a!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .42s cubic-bezier(.2,.75,.25,1),box-shadow .42s ease,border-color .42s ease!important;
}
.home .why-signature-section .stat-card:hover,
body.home .why-signature-section .stat-card:hover{
  transform:translateY(-8px);
  border-color:rgba(225,195,141,.64)!important;
  box-shadow:0 32px 78px rgba(15,1,4,.27),0 0 0 1px rgba(225,195,141,.15)!important;
}
.home .why-signature-section .stat-card .icon,
body.home .why-signature-section .stat-card .icon{
  width:49px;
  height:49px;
  margin-bottom:4px;
  background:#fffaf1!important;
  border:1px solid rgba(199,165,106,.12);
  color:#5c1020!important;
  box-shadow:0 9px 22px rgba(61,11,20,.06);
}
.home .why-signature-section .stat-card h3,
body.home .why-signature-section .stat-card h3{
  color:#241b1a!important;
  margin:8px 0 20px;
  font-size:clamp(1.65rem,2.1vw,2.15rem);
  line-height:1.12;
}
.home .why-signature-section .stat-card p,
body.home .why-signature-section .stat-card p{
  color:#706664!important;
  line-height:1.65;
  margin:0;
}
@media(max-width:1050px){
  .home .why-signature-section:before,body.home .why-signature-section:before{left:-520px!important;bottom:-430px!important}
  .home .why-signature-section:after,body.home .why-signature-section:after{right:-570px;top:-590px}
}
@media(max-width:700px){
  .home .why-signature-section,body.home .why-signature-section{
    padding:68px 0 78px!important;
    background:
      radial-gradient(circle at 105% 0,rgba(232,154,135,.22),transparent 31%),
      radial-gradient(circle at -8% 100%,rgba(199,165,106,.10),transparent 33%),
      linear-gradient(145deg,#3b0b14 0%,#4b0d19 48%,#26060c 100%)!important;
  }
  .home .why-signature-section h2,body.home .why-signature-section h2{margin-bottom:27px;font-size:clamp(2.3rem,11.6vw,3.25rem)}
  .home .why-signature-grid,body.home .why-signature-grid{gap:14px}
  .home .why-signature-section .stat-card,body.home .why-signature-section .stat-card{min-height:0;padding:25px 24px 26px}
  .home .why-signature-section .stat-card h3,body.home .why-signature-section .stat-card h3{font-size:1.75rem;margin-bottom:13px}
  .home .why-signature-section:before,body.home .why-signature-section:before{width:760px!important;height:510px!important;left:-520px!important;bottom:-350px!important;opacity:.72}
  .home .why-signature-section:after,body.home .why-signature-section:after{width:560px;height:560px;right:-420px;top:-390px}
}
@media(prefers-reduced-motion:reduce){
  .home .why-signature-section .stat-card,body.home .why-signature-section .stat-card{transition:none!important}
}


/* =========================================================
   v2.8.7.13 — Animated burgundy wave backgrounds for
   homepage story + newsletter sections
   ========================================================= */
.home .story-wave-section,
body.home .story-wave-section,
.home .newsletter-wave-section,
body.home .newsletter-wave-section{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 100% 0,rgba(228,152,128,.18),transparent 18%),
    radial-gradient(circle at 50% 50%,rgba(123,24,41,.14),transparent 42%),
    linear-gradient(145deg,#420914 0%,#560818 43%,#2d070d 100%)!important;
}
.home .story-wave-section::before,
body.home .story-wave-section::before,
.home .story-wave-section::after,
body.home .story-wave-section::after,
.home .newsletter-wave-section::before,
body.home .newsletter-wave-section::before,
.home .newsletter-wave-section::after,
body.home .newsletter-wave-section::after{
  content:'';
  position:absolute;
  inset:auto;
  pointer-events:none;
}
.home .story-wave-section::before,
body.home .story-wave-section::before,
.home .newsletter-wave-section::before,
body.home .newsletter-wave-section::before{
  z-index:-2;
  left:-12%;
  right:-12%;
  top:-44px;
  height:180px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 58%),
    repeating-linear-gradient(180deg,rgba(240,201,132,.16) 0 1px,transparent 1px 4px);
  mask: radial-gradient(130% 96px at 18% 100%,transparent 52%,#000 54%) top left/34% 100% repeat-x;
  -webkit-mask: radial-gradient(130% 96px at 18% 100%,transparent 52%,#000 54%) top left/34% 100% repeat-x;
  opacity:.72;
  animation:saWaveDriftTop 14s linear infinite;
}
.home .story-wave-section::after,
body.home .story-wave-section::after,
.home .newsletter-wave-section::after,
body.home .newsletter-wave-section::after{
  z-index:-2;
  left:-10%;
  right:-10%;
  bottom:-66px;
  height:205px;
  background:
    linear-gradient(0deg,rgba(255,255,255,.028),rgba(255,255,255,0) 62%),
    repeating-linear-gradient(180deg,rgba(239,193,121,.18) 0 1px,transparent 1px 4px);
  mask: radial-gradient(135% 108px at 18% 0,transparent 52%,#000 54%) top left/36% 100% repeat-x;
  -webkit-mask: radial-gradient(135% 108px at 18% 0,transparent 52%,#000 54%) top left/36% 100% repeat-x;
  opacity:.78;
  animation:saWaveDriftBottom 18s linear infinite;
}
.home .story-wave-section .container,
body.home .story-wave-section .container,
.home .newsletter-wave-section .container,
body.home .newsletter-wave-section .container{
  position:relative;
  z-index:1;
}
.home .story-wave-card,
body.home .story-wave-card{
  position:relative;
  background:linear-gradient(145deg,#f8f4ef 0%,#f2ece6 100%)!important;
  box-shadow:0 28px 75px rgba(20,5,8,.26)!important;
}
.home .story-wave-card::before,
body.home .story-wave-card::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.38);
  pointer-events:none;
}
.home .newsletter-wave-card,
body.home .newsletter-wave-card{
  position:relative;
  background:linear-gradient(132deg,rgba(72,8,23,.94) 0%,rgba(52,7,16,.96) 62%,rgba(38,5,12,.98) 100%)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 34px 95px rgba(18,2,7,.34)!important;
}
.home .newsletter-wave-card::after,
body.home .newsletter-wave-card::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(108deg,transparent 30%,rgba(255,255,255,.035) 49%,transparent 67%);
  transform:translateX(-35%);
  animation:saShineSweep 10s ease-in-out infinite;
  pointer-events:none;
}
@keyframes saWaveDriftTop{
  0%{transform:translate3d(-3%,0,0)}
  50%{transform:translate3d(2.5%,12px,0)}
  100%{transform:translate3d(-3%,0,0)}
}
@keyframes saWaveDriftBottom{
  0%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-2.5%,-14px,0)}
  100%{transform:translate3d(0,0,0)}
}
@keyframes saShineSweep{
  0%,100%{transform:translateX(-42%);opacity:.72}
  50%{transform:translateX(12%);opacity:1}
}
@media (prefers-reduced-motion: reduce){
  .home .story-wave-section::before,
  body.home .story-wave-section::before,
  .home .story-wave-section::after,
  body.home .story-wave-section::after,
  .home .newsletter-wave-section::before,
  body.home .newsletter-wave-section::before,
  .home .newsletter-wave-section::after,
  body.home .newsletter-wave-section::after,
  .home .newsletter-wave-card::after,
  body.home .newsletter-wave-card::after{
    animation:none!important;
  }
}
@media(max-width:900px){
  .home .story-wave-section::before,
  body.home .story-wave-section::before,
  .home .newsletter-wave-section::before,
  body.home .newsletter-wave-section::before{
    top:-28px;
    height:126px;
    -webkit-mask: radial-gradient(140% 72px at 18% 100%,transparent 52%,#000 54%) top left/48% 100% repeat-x;
    mask: radial-gradient(140% 72px at 18% 100%,transparent 52%,#000 54%) top left/48% 100% repeat-x;
  }
  .home .story-wave-section::after,
  body.home .story-wave-section::after,
  .home .newsletter-wave-section::after,
  body.home .newsletter-wave-section::after{
    bottom:-46px;
    height:138px;
    -webkit-mask: radial-gradient(145% 76px at 18% 0,transparent 52%,#000 54%) top left/52% 100% repeat-x;
    mask: radial-gradient(145% 76px at 18% 0,transparent 52%,#000 54%) top left/52% 100% repeat-x;
  }
}


/* =========================================================
   v2.8.7.14 — AUTHORITATIVE ANIMATED WAVE BACKGROUNDS
   Exact homepage static selectors + visible SVG wave motion
   ========================================================= */
.page-index .story-wave-section,
.page-index .newsletter-wave-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 96% 0,rgba(224,139,119,.23),transparent 25%),
    radial-gradient(circle at 5% 100%,rgba(190,117,78,.10),transparent 30%),
    linear-gradient(142deg,#3b0b14 0%,#540b1a 47%,#29070d 100%)!important;
}
.page-index .story-wave-section::before,
.page-index .newsletter-wave-section::before,
.page-index .story-wave-section::after,
.page-index .newsletter-wave-section::after{
  content:''!important;
  position:absolute!important;
  z-index:0!important;
  left:-180px!important;
  width:calc(100% + 360px)!important;
  height:280px!important;
  pointer-events:none!important;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxODAwIiBoZWlnaHQ9IjI4MCIgdmlld0JveD0iMCAwIDE4MDAgMjgwIiBmaWxsPSJub25lIj4KPGRlZnM+CiA8bGluZWFyR3JhZGllbnQgaWQ9ImciIHgxPSIwIiB5MT0iMCIgeDI9IjE4MDAiIHkyPSIwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgPHN0b3Agc3RvcC1jb2xvcj0iI0YzQzc3OCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgPHN0b3Agb2Zmc2V0PSIuMjIiIHN0b3AtY29sb3I9IiNGM0M3NzgiIHN0b3Atb3BhY2l0eT0iLjciLz4KICA8c3RvcCBvZmZzZXQ9Ii41NSIgc3RvcC1jb2xvcj0iI0Q3N0I2OSIgc3RvcC1vcGFjaXR5PSIuNSIvPgogIDxzdG9wIG9mZnNldD0iLjgyIiBzdG9wLWNvbG9yPSIjRjNDNzc4IiBzdG9wLW9wYWNpdHk9Ii43NSIvPgogIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0YzQzc3OCIgc3RvcC1vcGFjaXR5PSIwIi8+CiA8L2xpbmVhckdyYWRpZW50PgogPGxpbmVhckdyYWRpZW50IGlkPSJmIiB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iMjgwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgPHN0b3Agc3RvcC1jb2xvcj0iI0Q3N0I2OSIgc3RvcC1vcGFjaXR5PSIuMTciLz4KICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMzQjBCMTQiIHN0b3Atb3BhY2l0eT0iMCIvPgogPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8cGF0aCBkPSJNLTEyMCAxODBDMTYwIDIwIDQzMCAzMiA2OTAgMTMyQzk2MCAyMzYgMTIwNSAyMzggMTUwNSA4OEMxNjU1IDE0IDE3ODAgMTIgMTkyMCAzOFYyODBILTEyMFYxODBaIiBmaWxsPSJ1cmwoI2YpIi8+CjxwYXRoIGQ9Ik0tMTEwIDE2NkMxNTAgMjAgMzkwIDE4IDY5MCAxMjZDMTAwMCAyMzggMTI1MCAyMjAgMTUxMCA4MkMxNjU1IDUgMTc4NSAxMiAxOTIwIDQ0IiBzdHJva2U9InVybCgjZykiIHN0cm9rZS13aWR0aD0iMyIvPgo8cGF0aCBkPSJNLTEwMCAxODFDMTYwIDQzIDQxNSAzNSA3MDAgMTM5QzEwMTAgMjUyIDEyNjAgMjM2IDE1MjAgOTlDMTY2MCAyNiAxNzkwIDI3IDE5MjAgNTYiIHN0cm9rZT0idXJsKCNnKSIgc3Ryb2tlLW9wYWNpdHk9Ii41NSIgc3Ryb2tlLXdpZHRoPSIxLjQiLz4KPHBhdGggZD0iTS0xMDAgMTk2QzE3MCA2OCA0MzAgNTQgNzEwIDE1M0MxMDIwIDI2MyAxMjgwIDI1MiAxNTMwIDExOEMxNjcwIDQzIDE3OTAgNDcgMTkyMCA3MCIgc3Ryb2tlPSJ1cmwoI2cpIiBzdHJva2Utb3BhY2l0eT0iLjM0IiBzdHJva2Utd2lkdGg9IjEiLz4KPHBhdGggZD0iTS0xMDAgMjExQzE3NSA5MCA0NDUgNzUgNzIwIDE2OEMxMDM1IDI3NCAxMjkwIDI2OCAxNTQwIDEzN0MxNjgwIDY0IDE4MDAgNjQgMTkyMCA4NCIgc3Ryb2tlPSJ1cmwoI2cpIiBzdHJva2Utb3BhY2l0eT0iLjIzIiBzdHJva2Utd2lkdGg9IjEiLz4KPC9zdmc+")!important;
  background-repeat:repeat-x!important;
  background-size:1800px 280px!important;
  opacity:.92!important;
  will-change:background-position,transform!important;
}
.page-index .story-wave-section::before,
.page-index .newsletter-wave-section::before{
  top:-44px!important;
  background-position:0 0!important;
  animation:saHomepageWaveTop 12s linear infinite!important;
}
.page-index .story-wave-section::after,
.page-index .newsletter-wave-section::after{
  bottom:-55px!important;
  transform:rotate(180deg)!important;
  opacity:.82!important;
  animation:saHomepageWaveBottom 16s linear infinite!important;
}
.page-index .story-wave-section > .container,
.page-index .newsletter-wave-section > .container{
  position:relative!important;
  z-index:2!important;
}
.page-index .story-wave-card{
  background:linear-gradient(145deg,#f8f4ef 0%,#f1ebe5 100%)!important;
  box-shadow:0 34px 90px rgba(17,2,6,.33)!important;
}
.page-index .newsletter-wave-card{
  background:linear-gradient(132deg,rgba(71,8,22,.96),rgba(46,6,14,.98))!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 38px 100px rgba(15,2,6,.38)!important;
}
.page-index .newsletter-wave-card::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  background:linear-gradient(112deg,transparent 25%,rgba(255,255,255,.045) 48%,transparent 69%)!important;
  animation:saNewsletterShine 9s ease-in-out infinite!important;
}
.page-index .newsletter-wave-card > *{position:relative!important;z-index:1!important}
@keyframes saHomepageWaveTop{
  0%{background-position:0 0;transform:translateY(0)}
  50%{background-position:900px 0;transform:translateY(13px)}
  100%{background-position:1800px 0;transform:translateY(0)}
}
@keyframes saHomepageWaveBottom{
  0%{background-position:1800px 0;transform:rotate(180deg) translateY(0)}
  50%{background-position:900px 0;transform:rotate(180deg) translateY(12px)}
  100%{background-position:0 0;transform:rotate(180deg) translateY(0)}
}
@keyframes saNewsletterShine{
  0%,100%{background-position:-700px 0;opacity:.55}
  50%{background-position:700px 0;opacity:1}
}
@media(max-width:700px){
  .page-index .story-wave-section::before,
  .page-index .newsletter-wave-section::before,
  .page-index .story-wave-section::after,
  .page-index .newsletter-wave-section::after{
    height:190px!important;
    background-size:1220px 190px!important;
    left:-120px!important;
    width:calc(100% + 240px)!important;
  }
  .page-index .story-wave-section::before,
  .page-index .newsletter-wave-section::before{top:-20px!important}
  .page-index .story-wave-section::after,
  .page-index .newsletter-wave-section::after{bottom:-28px!important}
}
@media(prefers-reduced-motion:reduce){
  .page-index .story-wave-section::before,
  .page-index .newsletter-wave-section::before,
  .page-index .story-wave-section::after,
  .page-index .newsletter-wave-section::after,
  .page-index .newsletter-wave-card::after{animation:none!important}
}


/* =========================================================
   v2.8.7.15 — TRUE SEAMLESS INFINITE WAVE LOOP
   Stroke-only periodic SVG: matching start/end geometry,
   no filled tile edge, no visible repeat seam.
   ========================================================= */
.page-index .story-wave-section::before,
.page-index .newsletter-wave-section::before,
.page-index .story-wave-section::after,
.page-index .newsletter-wave-section::after{
  --sa-wave-tile:1200px;
  left:-120px!important;
  width:calc(100% + 240px)!important;
  height:240px!important;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http:%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221200%22%20height%3D%22240%22%20viewBox%3D%220%200%201200%20240%22%20fill%3D%22none%22%3E%0A%3Cdefs%3E%0A%20%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221200%22%20y2%3D%220%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%20%20%3Cstop%20stop-color%3D%22#E8B76C%22%20stop-opacity%3D%22.20%22%2F%3E%0A%20%20%3Cstop%20offset%3D%22.22%22%20stop-color%3D%22#F0C982%22%20stop-opacity%3D%22.80%22%2F%3E%0A%20%20%3Cstop%20offset%3D%22.52%22%20stop-color%3D%22#D67868%22%20stop-opacity%3D%22.50%22%2F%3E%0A%20%20%3Cstop%20offset%3D%22.82%22%20stop-color%3D%22#F0C982%22%20stop-opacity%3D%22.80%22%2F%3E%0A%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22#E8B76C%22%20stop-opacity%3D%22.20%22%2F%3E%0A%20%3C%2FlinearGradient%3E%0A%20%3ClinearGradient%20id%3D%22g2%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221200%22%20y2%3D%220%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%20%20%3Cstop%20stop-color%3D%22#D67868%22%20stop-opacity%3D%22.08%22%2F%3E%0A%20%20%3Cstop%20offset%3D%22.5%22%20stop-color%3D%22#F3C778%22%20stop-opacity%3D%22.36%22%2F%3E%0A%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22#D67868%22%20stop-opacity%3D%22.08%22%2F%3E%0A%20%3C%2FlinearGradient%3E%0A%20%3Cfilter%20id%3D%22glow%22%20x%3D%22-20%%22%20y%3D%22-80%%22%20width%3D%22140%%22%20height%3D%22260%%22%3E%0A%20%20%3CfeGaussianBlur%20stdDeviation%3D%223%22%2F%3E%0A%20%3C%2Ffilter%3E%0A%3C%2Fdefs%3E%0A%3Cpath%20d%3D%22M0%20120C100%2040%20200%2040%20300%20120C400%20200%20500%20200%20600%20120C700%2040%20800%2040%20900%20120C1000%20200%201100%20200%201200%20120%22%20stroke%3D%22url(#g)%22%20stroke-width%3D%227%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.23%22%20filter%3D%22url(#glow)%22%2F%3E%0A%3Cpath%20d%3D%22M0%20120C100%2040%20200%2040%20300%20120C400%20200%20500%20200%20600%20120C700%2040%20800%2040%20900%20120C1000%20200%201100%20200%201200%20120%22%20stroke%3D%22url(#g)%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Cpath%20d%3D%22M0%20138C100%2058%20200%2058%20300%20138C400%20218%20500%20218%20600%20138C700%2058%20800%2058%20900%20138C1000%20218%201100%20218%201200%20138%22%20stroke%3D%22url(#g2)%22%20stroke-width%3D%221.35%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.72%22%2F%3E%0A%3Cpath%20d%3D%22M0%20101C100%2021%20200%2021%20300%20101C400%20181%20500%20181%20600%20101C700%2021%20800%2021%20900%20101C1000%20181%201100%20181%201200%20101%22%20stroke%3D%22url(#g2)%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.48%22%2F%3E%0A%3Cpath%20d%3D%22M0%20157C100%2077%20200%2077%20300%20157C400%20237%20500%20237%20600%20157C700%2077%20800%2077%20900%20157C1000%20237%201100%20237%201200%20157%22%20stroke%3D%22url(#g2)%22%20stroke-width%3D%22.8%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.34%22%2F%3E%0A%3C%2Fsvg%3E")!important;
  background-repeat:repeat-x!important;
  background-size:var(--sa-wave-tile) 240px!important;
  background-position:0 0!important;
  opacity:.94!important;
  will-change:background-position!important;
  transform:translateZ(0)!important;
  backface-visibility:hidden!important;
}
.page-index .story-wave-section::before,
.page-index .newsletter-wave-section::before{
  top:-38px!important;
  animation:saSeamlessWaveForward 18s linear infinite!important;
}
.page-index .story-wave-section::after,
.page-index .newsletter-wave-section::after{
  bottom:-48px!important;
  opacity:.84!important;
  transform:rotate(180deg) translateZ(0)!important;
  animation:saSeamlessWaveReverse 22s linear infinite!important;
}
@keyframes saSeamlessWaveForward{
  from{background-position:0 0}
  to{background-position:-1200px 0}
}
@keyframes saSeamlessWaveReverse{
  from{background-position:-1200px 0;transform:rotate(180deg) translateZ(0)}
  to{background-position:0 0;transform:rotate(180deg) translateZ(0)}
}
@media(max-width:700px){
  .page-index .story-wave-section::before,
  .page-index .newsletter-wave-section::before,
  .page-index .story-wave-section::after,
  .page-index .newsletter-wave-section::after{
    left:-180px!important;
    width:calc(100% + 360px)!important;
    height:210px!important;
    background-size:1200px 240px!important;
  }
  .page-index .story-wave-section::before,
  .page-index .newsletter-wave-section::before{top:-34px!important}
  .page-index .story-wave-section::after,
  .page-index .newsletter-wave-section::after{bottom:-42px!important}
}
@media(prefers-reduced-motion:reduce){
  .page-index .story-wave-section::before,
  .page-index .newsletter-wave-section::before,
  .page-index .story-wave-section::after,
  .page-index .newsletter-wave-section::after{
    animation-duration:40s!important;
  }
}


/* =========================================================
   v2.8.7.18 — VERIFIED PREMIUM DOM WAVES
   Inline SVG, duplicated tracks, direct section children.
   ========================================================= */
.page-index .story-wave-section::before,
.page-index .story-wave-section::after,
.page-index .newsletter-wave-section::before,
.page-index .newsletter-wave-section::after{
  display:none!important;
  content:none!important;
  background:none!important;
  animation:none!important;
}
.page-index .story-wave-section,
.page-index .newsletter-wave-section{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:
    radial-gradient(circle at 96% 0,rgba(225,143,119,.22),transparent 25%),
    radial-gradient(circle at 5% 100%,rgba(192,111,72,.10),transparent 30%),
    linear-gradient(142deg,#3b0b14 0%,#550b1b 48%,#29070d 100%)!important;
}
.page-index .story-wave-section>.container,
.page-index .newsletter-wave-section>.container{
  position:relative!important;
  z-index:4!important;
}
.page-index .sa-premium-wave{
  position:absolute!important;
  display:block!important;
  z-index:2!important;
  left:0!important;
  width:100%!important;
  height:260px!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.page-index .sa-premium-wave-top{
  top:-18px!important;
  opacity:.10!important;
}
.page-index .sa-premium-wave-bottom{
  bottom:-28px!important;
  opacity:.10!important;
  transform:rotate(180deg)!important;
}
.page-index .sa-premium-wave-track{
  display:flex!important;
  width:200%!important;
  height:100%!important;
  animation:saVerifiedPremiumWave 18s linear infinite!important;
  will-change:transform!important;
  transform:translate3d(0,0,0);
}
.page-index .sa-premium-wave-bottom .sa-premium-wave-track{
  animation-duration:24s!important;
  animation-direction:reverse!important;
}
.page-index .sa-premium-wave-track>svg{
  display:block!important;
  flex:0 0 50%!important;
  width:50%!important;
  height:100%!important;
  overflow:visible!important;
}
@keyframes saVerifiedPremiumWave{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
.page-index .story-wave-card{
  background:linear-gradient(145deg,#f9f5f1 0%,#f0e9e3 100%)!important;
  border:1px solid rgba(255,255,255,.48)!important;
  box-shadow:0 32px 94px rgba(17,2,6,.34)!important;
}
.page-index .newsletter-wave-card{
  background:linear-gradient(132deg,rgba(75,8,23,.94),rgba(45,6,14,.98))!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 38px 104px rgba(15,2,6,.40)!important;
}
@media(max-width:700px){
  .page-index .sa-premium-wave{height:148px!important}
  .page-index .sa-premium-wave-top{top:-6px!important;opacity:.10!important}
  .page-index .sa-premium-wave-bottom{bottom:-12px!important;opacity:.10!important}
  .page-index .sa-premium-wave-track{width:320%!important;animation-duration:23s!important}
  .page-index .sa-premium-wave-track>svg{flex-basis:50%!important;width:50%!important}
}
@media(prefers-reduced-motion:reduce){
  .page-index .sa-premium-wave-track{animation-duration:45s!important}
}

/* Newsletter text contrast inside verified wave section */
.page-index .newsletter-wave-card .eyebrow,
.page-index .newsletter-wave-card h2,
.page-index .newsletter-wave-card h3{
  color:#fff!important;
}
.page-index .newsletter-wave-card p{
  color:rgba(255,255,255,.90)!important;
}
.page-index .newsletter-wave-card .newsletter-compact input{
  color:#fff!important;
}
.page-index .newsletter-wave-card .newsletter-compact input::placeholder{
  color:rgba(255,255,255,.62)!important;
}




/* v2.8.7.20 — authoritative wave opacity 10% */
.page-index .sa-premium-wave-top,
.page-index .sa-premium-wave-bottom{opacity:.10!important}
@media(max-width:700px){
  .page-index .sa-premium-wave-top,
  .page-index .sa-premium-wave-bottom{opacity:.10!important}
}


/* =========================================================
   v2.8.7.22 — WHY SECTION SOLID BACKGROUND
   Keep animated premium waves at 10%; remove all abstract
   gradients, glows, circles and decorative background layers.
   ========================================================= */
.page-index .why-signature-section,
.home .why-signature-section,
body.home .why-signature-section{
  background:#3B0B14!important;
  background-image:none!important;
}
.page-index .why-signature-section::before,
.page-index .why-signature-section::after,
.home .why-signature-section::before,
.home .why-signature-section::after,
body.home .why-signature-section::before,
body.home .why-signature-section::after,
.page-index .why-signature-inner::before,
.page-index .why-signature-inner::after,
.home .why-signature-inner::before,
.home .why-signature-inner::after,
body.home .why-signature-inner::before,
body.home .why-signature-inner::after{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
.page-index .why-signature-section>.sa-premium-wave,
.home .why-signature-section>.sa-premium-wave,
body.home .why-signature-section>.sa-premium-wave{
  display:block!important;
  opacity:.10!important;
}
@media(max-width:700px){
  .page-index .why-signature-section>.sa-premium-wave,
  .home .why-signature-section>.sa-premium-wave,
  body.home .why-signature-section>.sa-premium-wave{opacity:.10!important}
}


/* =========================================================
   v2.8.7.23 — Albums intro section premium wave effect
   ========================================================= */
.page-albums .albums-wave-section{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#3b0b14!important;
}
.page-albums .albums-wave-section>.container{
  position:relative!important;
  z-index:4!important;
}
.page-albums .albums-wave-section .sa-premium-wave{
  position:absolute!important;
  display:block!important;
  z-index:2!important;
  left:0!important;
  width:100%!important;
  height:260px!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.page-albums .albums-wave-section .sa-premium-wave-top{top:-18px!important;opacity:.10!important}
.page-albums .albums-wave-section .sa-premium-wave-bottom{bottom:-28px!important;opacity:.10!important;transform:rotate(180deg)!important}
.page-albums .albums-wave-section .sa-premium-wave-track{
  display:flex!important;
  width:200%!important;
  height:100%!important;
  animation:saVerifiedPremiumWave 18s linear infinite!important;
  will-change:transform!important;
  transform:translate3d(0,0,0);
}
.page-albums .albums-wave-section .sa-premium-wave-bottom .sa-premium-wave-track{
  animation-duration:24s!important;
  animation-direction:reverse!important;
}
.page-albums .albums-wave-section .sa-premium-wave-track>svg{
  display:block!important;
  flex:0 0 50%!important;
  width:50%!important;
  height:100%!important;
  overflow:visible!important;
}
@media(max-width:700px){
  .page-albums .albums-wave-section .sa-premium-wave{height:148px!important}
  .page-albums .albums-wave-section .sa-premium-wave-top{top:-6px!important;opacity:.10!important}
  .page-albums .albums-wave-section .sa-premium-wave-bottom{bottom:-12px!important;opacity:.10!important}
  .page-albums .albums-wave-section .sa-premium-wave-track{width:320%!important;animation-duration:23s!important}
  .page-albums .albums-wave-section .sa-premium-wave-track>svg{flex-basis:50%!important;width:50%!important}
}
@media(prefers-reduced-motion:reduce){
  .page-albums .albums-wave-section .sa-premium-wave-track{animation-duration:45s!important}
}


/* =========================================================
   v2.8.7.24 — Services intro section premium wave effect
   ========================================================= */
.page-services .services-wave-section{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#3b0b14!important;
}
.page-services .services-wave-section>.container{
  position:relative!important;
  z-index:4!important;
}
.page-services .services-wave-section .sa-premium-wave{
  position:absolute!important;
  display:block!important;
  z-index:2!important;
  left:0!important;
  width:100%!important;
  height:260px!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.page-services .services-wave-section .sa-premium-wave-top{top:-18px!important;opacity:.10!important}
.page-services .services-wave-section .sa-premium-wave-bottom{bottom:-28px!important;opacity:.10!important;transform:rotate(180deg)!important}
.page-services .services-wave-section .sa-premium-wave-track{
  display:flex!important;
  width:200%!important;
  height:100%!important;
  animation:saVerifiedPremiumWave 18s linear infinite!important;
  will-change:transform!important;
  transform:translate3d(0,0,0);
}
.page-services .services-wave-section .sa-premium-wave-bottom .sa-premium-wave-track{
  animation-duration:24s!important;
  animation-direction:reverse!important;
}
.page-services .services-wave-section .sa-premium-wave-track>svg{
  display:block!important;
  flex:0 0 50%!important;
  width:50%!important;
  height:100%!important;
  overflow:visible!important;
}
@media(max-width:700px){
  .page-services .services-wave-section .sa-premium-wave{height:148px!important}
  .page-services .services-wave-section .sa-premium-wave-top{top:-6px!important;opacity:.10!important}
  .page-services .services-wave-section .sa-premium-wave-bottom{bottom:-12px!important;opacity:.10!important}
  .page-services .services-wave-section .sa-premium-wave-track{width:320%!important;animation-duration:23s!important}
  .page-services .services-wave-section .sa-premium-wave-track>svg{flex-basis:50%!important;width:50%!important}
}
@media(prefers-reduced-motion:reduce){
  .page-services .services-wave-section .sa-premium-wave-track{animation-duration:45s!important}
}


/* =========================================================
   v2.8.7.25 — Portfolio intro section premium wave effect
   ========================================================= */
.page-portfolio .portfolio-wave-section{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#3b0b14!important;
}
.page-portfolio .portfolio-wave-section>.container{
  position:relative!important;
  z-index:4!important;
}
.page-portfolio .portfolio-wave-section .sa-premium-wave{
  position:absolute!important;
  display:block!important;
  z-index:2!important;
  left:0!important;
  width:100%!important;
  height:260px!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.page-portfolio .portfolio-wave-section .sa-premium-wave-top{top:-18px!important;opacity:.10!important}
.page-portfolio .portfolio-wave-section .sa-premium-wave-bottom{bottom:-28px!important;opacity:.10!important;transform:rotate(180deg)!important}
.page-portfolio .portfolio-wave-section .sa-premium-wave-track{
  display:flex!important;
  width:200%!important;
  height:100%!important;
  animation:saVerifiedPremiumWave 18s linear infinite!important;
  will-change:transform!important;
  transform:translate3d(0,0,0);
}
.page-portfolio .portfolio-wave-section .sa-premium-wave-bottom .sa-premium-wave-track{
  animation-duration:24s!important;
  animation-direction:reverse!important;
}
.page-portfolio .portfolio-wave-section .sa-premium-wave-track>svg{
  display:block!important;
  flex:0 0 50%!important;
  width:50%!important;
  height:100%!important;
  overflow:visible!important;
}
@media(max-width:700px){
  .page-portfolio .portfolio-wave-section .sa-premium-wave{height:148px!important}
  .page-portfolio .portfolio-wave-section .sa-premium-wave-top{top:-6px!important;opacity:.10!important}
  .page-portfolio .portfolio-wave-section .sa-premium-wave-bottom{bottom:-12px!important;opacity:.10!important}
  .page-portfolio .portfolio-wave-section .sa-premium-wave-track{width:320%!important;animation-duration:23s!important}
  .page-portfolio .portfolio-wave-section .sa-premium-wave-track>svg{flex-basis:50%!important;width:50%!important}
}
@media(prefers-reduced-motion:reduce){
  .page-portfolio .portfolio-wave-section .sa-premium-wave-track{animation-duration:45s!important}
}


/* =========================================================
   v2.8.7.26 — About philosophy section premium wave effect
   ========================================================= */
.page-about .about-wave-section{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#3b0b14!important;
}
.page-about .about-wave-section>.container{
  position:relative!important;
  z-index:4!important;
}
.page-about .about-wave-section .sa-premium-wave{
  position:absolute!important;
  display:block!important;
  z-index:2!important;
  left:0!important;
  width:100%!important;
  height:260px!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.page-about .about-wave-section .sa-premium-wave-top{top:-18px!important;opacity:.10!important}
.page-about .about-wave-section .sa-premium-wave-bottom{bottom:-28px!important;opacity:.10!important;transform:rotate(180deg)!important}
.page-about .about-wave-section .sa-premium-wave-track{
  display:flex!important;
  width:200%!important;
  height:100%!important;
  animation:saVerifiedPremiumWave 18s linear infinite!important;
  will-change:transform!important;
  transform:translate3d(0,0,0);
}
.page-about .about-wave-section .sa-premium-wave-bottom .sa-premium-wave-track{
  animation-duration:24s!important;
  animation-direction:reverse!important;
}
.page-about .about-wave-section .sa-premium-wave-track>svg{
  display:block!important;
  flex:0 0 50%!important;
  width:50%!important;
  height:100%!important;
  overflow:visible!important;
}
@media(max-width:700px){
  .page-about .about-wave-section .sa-premium-wave{height:148px!important}
  .page-about .about-wave-section .sa-premium-wave-top{top:-6px!important;opacity:.10!important}
  .page-about .about-wave-section .sa-premium-wave-bottom{bottom:-12px!important;opacity:.10!important}
  .page-about .about-wave-section .sa-premium-wave-track{width:320%!important;animation-duration:23s!important}
  .page-about .about-wave-section .sa-premium-wave-track>svg{flex-basis:50%!important;width:50%!important}
}
@media(prefers-reduced-motion:reduce){
  .page-about .about-wave-section .sa-premium-wave-track{animation-duration:45s!important}
}


/* =========================================================
   v2.8.7.27 — Contact start-project section premium wave effect
   ========================================================= */
.page-contact .contact-wave-section{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#3b0b14!important;
}
.page-contact .contact-wave-section>.container{
  position:relative!important;
  z-index:4!important;
}
.page-contact .contact-wave-section .sa-premium-wave{
  position:absolute!important;
  display:block!important;
  z-index:2!important;
  left:0!important;
  width:100%!important;
  height:260px!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.page-contact .contact-wave-section .sa-premium-wave-top{top:-18px!important;opacity:.10!important}
.page-contact .contact-wave-section .sa-premium-wave-bottom{bottom:-28px!important;opacity:.10!important;transform:rotate(180deg)!important}
.page-contact .contact-wave-section .sa-premium-wave-track{
  display:flex!important;
  width:200%!important;
  height:100%!important;
  animation:saVerifiedPremiumWave 18s linear infinite!important;
  will-change:transform!important;
  transform:translate3d(0,0,0);
}
.page-contact .contact-wave-section .sa-premium-wave-bottom .sa-premium-wave-track{
  animation-duration:24s!important;
  animation-direction:reverse!important;
}
.page-contact .contact-wave-section .sa-premium-wave-track>svg{
  display:block!important;
  flex:0 0 50%!important;
  width:50%!important;
  height:100%!important;
  overflow:visible!important;
}
@media(max-width:700px){
  .page-contact .contact-wave-section .sa-premium-wave{height:148px!important}
  .page-contact .contact-wave-section .sa-premium-wave-top{top:-6px!important;opacity:.10!important}
  .page-contact .contact-wave-section .sa-premium-wave-bottom{bottom:-12px!important;opacity:.10!important}
  .page-contact .contact-wave-section .sa-premium-wave-track{width:320%!important;animation-duration:23s!important}
  .page-contact .contact-wave-section .sa-premium-wave-track>svg{flex-basis:50%!important;width:50%!important}
}
@media(prefers-reduced-motion:reduce){
  .page-contact .contact-wave-section .sa-premium-wave-track{animation-duration:45s!important}
}

/* =========================================================
   v2.8.7.28 — Loader/header stacking fix
   The loading screen must cover every public/WordPress header,
   account menu, mobile drawer, fallback account and custom cursor.
   ========================================================= */
.loader{
  z-index:2147483647!important;
  background:#180409!important;
  isolation:isolate!important;
}
html:not(.sa-page-ready) .site-header,
html:not(.sa-page-ready) .sa-wp-header,
html:not(.sa-page-ready) .sa-global-account-fallback,
html:not(.sa-page-ready) .sa-back-to-top,
html:not(.sa-page-ready) .premium-cursor,
html:not(.sa-page-ready) .sa-pulse-cursor,
body:not(.sa-page-ready) .site-header,
body:not(.sa-page-ready) .sa-wp-header,
body:not(.sa-page-ready) .sa-global-account-fallback,
body:not(.sa-page-ready) .sa-back-to-top,
body:not(.sa-page-ready) .premium-cursor,
body:not(.sa-page-ready) .sa-pulse-cursor{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.loader.hide{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* =========================================================
   v2.8.7.35 — Premium testimonial card cleanup
   Built on the user-provided v2.8.7.28 Loader/Header Fix theme.
   ========================================================= */
.sa-testimonials-section{
  position:relative;
  overflow:hidden;
  padding:84px 0 92px!important;
  background:
    radial-gradient(circle at 8% 10%,rgba(199,165,106,.10),transparent 24%),
    radial-gradient(circle at 92% 86%,rgba(59,11,20,.055),transparent 27%),
    var(--cream)!important;
  color:var(--ink)!important;
  isolation:isolate;
}
.sa-testimonials-section::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 34%,rgba(255,255,255,.1));
  z-index:-1;
}
.sa-testimonials-section .sa-testimonials-shell{position:relative}
.sa-testimonials-intro{max-width:900px;margin-bottom:34px}
.sa-testimonials-section .eyebrow{margin-bottom:10px;color:var(--wine)!important}
.sa-testimonials-section .sa-testimonials-heading{
  max-width:820px;
  margin:0!important;
  color:var(--wine)!important;
  font-size:clamp(29px,2.65vw,42px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  font-weight:650!important;
}
.sa-testimonial-marquee{
  position:relative;
  width:100%;
  overflow:hidden;
  overflow-clip-margin:0;
  contain:paint;
  padding:12px 2px 18px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
}
.sa-testimonial-track{
  display:flex;
  width:max-content;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.sa-testimonial-marquee.is-ready .sa-testimonial-track{
  animation:saTestimonialRtl 64s linear infinite;
}
.sa-testimonial-marquee:hover .sa-testimonial-track,
.sa-testimonial-marquee:focus-within .sa-testimonial-track{animation-play-state:paused}
.sa-testimonial-group{
  display:flex;
  flex:none;
  gap:22px;
  padding-right:22px;
}
.sa-testimonial-card{
  position:relative;
  flex:0 0 clamp(310px,29vw,386px);
  min-height:286px;
  display:flex;
  flex-direction:column;
  padding:28px 28px 25px!important;
  overflow:hidden;
  background-clip:padding-box;
  border:1px solid rgba(59,11,20,.085)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,253,249,.98),rgba(255,250,244,.94))!important;
  box-shadow:0 16px 44px rgba(52,34,21,.095),inset 0 1px 0 rgba(255,255,255,.9)!important;
  transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease!important;
}
.sa-testimonial-card::before{
  content:none!important;
  display:none!important;
}
.sa-testimonial-card:hover{
  border-color:rgba(59,11,20,.15)!important;
  box-shadow:0 22px 54px rgba(52,34,21,.13),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.sa-testimonial-card-head{display:flex;align-items:flex-start;justify-content:space-between;min-height:34px}
.sa-testimonial-card .rating{
  color:#b9822c!important;
  font-size:14px;
  letter-spacing:.13em;
  line-height:1;
}
.sa-testimonial-quote-mark{
  color:rgba(59,11,20,.09);
  font:700 54px/.72 Georgia,serif;
  user-select:none;
}
.sa-testimonial-card blockquote{
  flex:1;
  margin:15px 0 24px!important;
  color:#4f4340!important;
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.65!important;
  letter-spacing:0!important;
}
.sa-testimonial-person{margin-top:auto;gap:13px!important}
.sa-testimonial-person img{
  width:50px!important;
  height:50px!important;
  flex:0 0 50px;
  border:2px solid rgba(255,255,255,.95);
  box-shadow:0 0 0 1px rgba(59,11,20,.10),0 7px 18px rgba(52,34,21,.12);
}
.sa-testimonial-person-copy{display:grid;gap:2px;min-width:0}
.sa-testimonial-person-copy strong{
  color:#39131b!important;
  font-size:15px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sa-testimonial-person-copy small{color:#796862!important;font-size:12.5px;line-height:1.3}
@keyframes saTestimonialRtl{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media(max-width:900px){
  .sa-testimonials-section{padding:72px 0 80px!important}
  .sa-testimonial-card{flex-basis:clamp(300px,43vw,360px)}
  .sa-testimonial-marquee.is-ready .sa-testimonial-track{animation-duration:58s}
}
@media(max-width:700px){
  .sa-testimonials-section{padding:60px 0 68px!important}
  .sa-testimonials-intro{margin-bottom:24px}
  .sa-testimonials-section .sa-testimonials-heading{font-size:clamp(28px,8.4vw,34px)!important}
  .sa-testimonial-marquee{margin-inline:-2px;padding-bottom:12px;-webkit-mask-image:none;mask-image:none}
  .sa-testimonial-group{gap:14px;padding-right:14px}
  .sa-testimonial-card{flex-basis:min(82vw,332px);min-height:270px;padding:25px 23px 22px!important}
  .sa-testimonial-card blockquote{font-size:16px!important;line-height:1.65!important}
  .sa-testimonial-marquee.is-ready .sa-testimonial-track{animation-duration:52s}
}
@media(prefers-reduced-motion:reduce){
  .sa-testimonial-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scrollbar-width:thin}
  .sa-testimonial-marquee.is-ready .sa-testimonial-track{animation:none!important}
  .sa-testimonial-group[aria-hidden="true"]{display:none!important}
}



/* === v2.8.7.36 premium homepage feature cards === */
.home .why-signature-section .stat-card,
body.home .why-signature-section .stat-card,
.page-index .why-signature-section .stat-card{
  position:relative;
  overflow:hidden;
  min-height:286px;
  padding:32px 30px 30px;
  border-radius:24px;
  background:linear-gradient(180deg,#fffdf8 0%,#f8f2ea 100%)!important;
  border:1px solid rgba(223,192,139,.46)!important;
  box-shadow:0 18px 42px rgba(33,10,15,.14), inset 0 1px 0 rgba(255,255,255,.92)!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease!important;
}
.home .why-signature-section .stat-card::before,
body.home .why-signature-section .stat-card::before,
.page-index .why-signature-section .stat-card::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(230,205,164,.35));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.9;
}
.home .why-signature-section .stat-card::after,
body.home .why-signature-section .stat-card::after,
.page-index .why-signature-section .stat-card::after{
  content:'';
  position:absolute;
  inset:auto 0 0 auto;
  width:160px;
  height:160px;
  background:radial-gradient(circle at 100% 100%,rgba(199,165,106,.12),transparent 68%);
  pointer-events:none;
}
.home .why-signature-section .stat-card:hover,
body.home .why-signature-section .stat-card:hover,
.page-index .why-signature-section .stat-card:hover{
  transform:translateY(-4px);
  border-color:rgba(199,165,106,.64)!important;
  box-shadow:0 24px 52px rgba(33,10,15,.18), inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.home .why-signature-section .stat-card .icon,
body.home .why-signature-section .stat-card .icon,
.page-index .why-signature-section .stat-card .icon{
  width:58px;
  height:58px;
  margin:0 0 18px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#fff9ef!important;
  border:1px solid rgba(199,165,106,.34);
  color:#b7832f!important;
  font-size:1.45rem;
  box-shadow:0 8px 18px rgba(75,28,19,.07);
}
.home .why-signature-section .stat-card h3,
body.home .why-signature-section .stat-card h3,
.page-index .why-signature-section .stat-card h3{
  font-family:'Playfair Display',serif!important;
  font-size:clamp(2rem,2.4vw,2.35rem);
  line-height:1.02;
  letter-spacing:-.03em;
  color:#2a1616!important;
  margin:0 0 30px;
  max-width:12ch;
  position:relative;
}
.home .why-signature-section .stat-card h3::after,
body.home .why-signature-section .stat-card h3::after,
.page-index .why-signature-section .stat-card h3::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-16px;
  width:72px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#c89a47,#e8cb90);
}
.home .why-signature-section .stat-card p,
body.home .why-signature-section .stat-card p,
.page-index .why-signature-section .stat-card p{
  color:#6f6662!important;
  font-size:16px;
  line-height:1.58;
  margin:0;
  max-width:18ch;
}
@media (max-width:1050px){
  .home .why-signature-section .stat-card,
  body.home .why-signature-section .stat-card,
  .page-index .why-signature-section .stat-card{min-height:252px;padding:28px 24px 26px}
  .home .why-signature-section .stat-card h3,
  body.home .why-signature-section .stat-card h3,
  .page-index .why-signature-section .stat-card h3{font-size:clamp(1.75rem,4.8vw,2.1rem);margin-bottom:28px}
}
@media (max-width:700px){
  .home .why-signature-section .stat-card,
  body.home .why-signature-section .stat-card,
  .page-index .why-signature-section .stat-card{min-height:auto;padding:26px 22px 24px;border-radius:22px}
  .home .why-signature-section .stat-card .icon,
  body.home .why-signature-section .stat-card .icon,
  .page-index .why-signature-section .stat-card .icon{width:54px;height:54px;margin-bottom:16px}
  .home .why-signature-section .stat-card h3,
  body.home .why-signature-section .stat-card h3,
  .page-index .why-signature-section .stat-card h3{font-size:1.9rem;margin-bottom:26px}
}


/* =========================================================
   v2.8.7.37 — About page premium refinement
   ========================================================= */
.page-about .page-hero{
  background:
    radial-gradient(circle at 12% 18%,rgba(199,165,106,.18),transparent 26%),
    radial-gradient(circle at 88% 84%,rgba(91,17,38,.12),transparent 28%),
    linear-gradient(135deg,#fff9f2 0%,#efded4 100%)!important;
}
.page-about .page-hero .container{
  align-items:center!important;
  gap:58px!important;
}
.page-about .page-hero h1{
  color:#241916!important;
  margin-bottom:14px!important;
}
.page-about .page-hero .lead{
  max-width:620px!important;
  font-size:1.04rem!important;
  line-height:1.82!important;
}
.page-about .page-hero-media{
  border-radius:34px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 30px 75px rgba(48,20,16,.17)!important;
}
.page-about .about-wave-section{
  padding:110px 0 150px!important;
  background:linear-gradient(180deg,#4b0814 0%,#4a0612 42%,#5a0614 100%)!important;
}
.page-about .about-wave-section>.container{
  display:grid!important;
  grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr)!important;
  align-items:start!important;
  gap:72px!important;
}
.page-about .about-wave-section .eyebrow{
  color:#f5d8a4!important;
  margin-bottom:18px!important;
}
.page-about .about-wave-section .eyebrow:before{color:#f1c573!important}
.page-about .about-wave-section h2{
  color:#fff8f2!important;
  font-size:clamp(3.4rem,5.2vw,5.25rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  max-width:10.2ch!important;
  margin-bottom:26px!important;
}
.page-about .about-wave-section p{
  color:rgba(255,245,236,.88)!important;
  max-width:640px!important;
  font-size:1.04rem!important;
  line-height:1.82!important;
}
.page-about .about-wave-section .form-card{
  position:relative!important;
  overflow:hidden!important;
  padding:34px 36px 36px!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#fffdf9 0%,#f7f1eb 100%)!important;
  border:1px solid rgba(226,197,149,.46)!important;
  box-shadow:0 28px 70px rgba(28,8,11,.20), inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.page-about .about-wave-section .form-card:before{
  content:'';
  position:absolute;
  inset:auto -40px -26px auto;
  width:320px;height:180px;
  background:radial-gradient(circle at 50% 40%,rgba(199,165,106,.10),transparent 65%);
  pointer-events:none;
}
.page-about .about-wave-section .form-card:after{
  content:'';
  position:absolute;
  inset:auto 26px 18px auto;
  width:220px;height:92px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='92' viewBox='0 0 220 92'%3E%3Cpath d='M0 52 C22 52 22 26 44 26 C66 26 66 78 88 78 C110 78 110 18 132 18 C154 18 154 68 176 68 C198 68 198 42 220 42' fill='none' stroke='%23ecd8bb' stroke-width='1.3' stroke-linecap='round' opacity='.7'/%3E%3Cpath d='M0 68 C22 68 22 42 44 42 C66 42 66 92 88 92 C110 92 110 34 132 34 C154 34 154 84 176 84 C198 84 198 58 220 58' fill='none' stroke='%23f3e8d7' stroke-width='1' stroke-linecap='round' opacity='.8'/%3E%3C/svg%3E") no-repeat center/contain;
  pointer-events:none;
  opacity:.9;
}
.page-about .about-wave-section .form-card h3{
  color:#281816!important;
  font-size:clamp(2rem,2.8vw,2.5rem)!important;
  line-height:1.08!important;
  margin-bottom:22px!important;
}
.page-about .about-wave-section .form-card ul{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:14px!important;
}
.page-about .about-wave-section .form-card li{
  position:relative!important;
  padding-left:28px!important;
  color:#473c39!important;
  line-height:1.7!important;
}
.page-about .about-wave-section .form-card li:before{
  content:'✦';
  position:absolute;
  left:0;top:0;
  color:#b7832f;
  font-size:.9rem;
}
.page-about main>.section-sm{
  position:relative!important;
  z-index:5!important;
  margin-top:-76px!important;
  padding:0 0 98px!important;
  background:linear-gradient(180deg,transparent 0,transparent 96px,#f4eee6 96px)!important;
}
.page-about main>.section-sm .stat-grid{
  gap:24px!important;
  align-items:stretch!important;
}
.page-about main>.section-sm .stat-card{
  min-height:166px!important;
  padding:34px 28px 28px!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#fffdfa 0%,#faf4ed 100%)!important;
  border:1px solid rgba(227,214,198,.72)!important;
  box-shadow:0 18px 38px rgba(40,20,16,.08)!important;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
}
.page-about main>.section-sm .stat-card:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(199,165,106,.52)!important;
  box-shadow:0 22px 46px rgba(40,20,16,.11)!important;
}
.page-about main>.section-sm .stat-card strong{
  display:block!important;
  margin-bottom:8px!important;
  color:#4d0916!important;
  font-family:'Playfair Display',serif!important;
  font-size:clamp(3rem,3.4vw,3.6rem)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
.page-about main>.section-sm .stat-card p{
  margin:0!important;
  color:#726966!important;
  font-size:1rem!important;
}
@media(max-width:1050px){
  .page-about .about-wave-section{padding:92px 0 130px!important}
  .page-about .about-wave-section>.container{grid-template-columns:1fr!important;gap:34px!important}
  .page-about .about-wave-section h2{max-width:11.5ch!important;font-size:clamp(2.7rem,7vw,4.2rem)!important}
  .page-about main>.section-sm{margin-top:-58px!important;background:linear-gradient(180deg,transparent 0,transparent 78px,#f4eee6 78px)!important}
}
@media(max-width:700px){
  .page-about .page-hero .container{gap:26px!important}
  .page-about .page-hero-media{border-radius:26px!important}
  .page-about .about-wave-section{padding:76px 0 104px!important}
  .page-about .about-wave-section h2{font-size:clamp(2.35rem,12vw,3.4rem)!important;line-height:1.03!important}
  .page-about .about-wave-section p{font-size:16px!important;line-height:1.75!important}
  .page-about .about-wave-section .form-card{padding:26px 22px 28px!important;border-radius:24px!important}
  .page-about .about-wave-section .form-card h3{font-size:2rem!important}
  .page-about main>.section-sm{margin-top:-42px!important;background:linear-gradient(180deg,transparent 0,transparent 58px,#f4eee6 58px)!important;padding-bottom:78px!important}
  .page-about main>.section-sm .stat-card{min-height:auto!important;padding:28px 24px 24px!important;border-radius:22px!important}
  .page-about main>.section-sm .stat-card strong{font-size:2.8rem!important}
}


/* =========================================================
   v2.8.7.38 — About philosophy heading size + spacing fix
   ========================================================= */
.page-about .about-wave-section{
  padding:88px 0 102px!important;
}
.page-about .about-wave-section>.container{
  gap:54px!important;
  align-items:start!important;
}
.page-about .about-wave-section h2{
  font-size:clamp(2.65rem,4.2vw,4.35rem)!important;
  line-height:1.04!important;
  max-width:11.2ch!important;
  margin-bottom:18px!important;
}
.page-about .about-wave-section p{
  max-width:590px!important;
  margin-bottom:0!important;
}
.page-about .about-wave-section .form-card{
  padding:28px 30px 30px!important;
}
.page-about .about-wave-section .form-card h3{
  font-size:clamp(1.8rem,2.2vw,2.15rem)!important;
  margin-bottom:16px!important;
}
.page-about .about-wave-section .form-card ul{
  gap:11px!important;
}
.page-about main>.section-sm{
  margin-top:-52px!important;
  background:linear-gradient(180deg,transparent 0,transparent 70px,#f4eee6 70px)!important;
  padding-bottom:84px!important;
}
@media(max-width:1050px){
  .page-about .about-wave-section{padding:78px 0 92px!important}
  .page-about .about-wave-section>.container{gap:28px!important}
  .page-about .about-wave-section h2{font-size:clamp(2.35rem,6.2vw,3.45rem)!important;max-width:12ch!important}
  .page-about main>.section-sm{margin-top:-44px!important;background:linear-gradient(180deg,transparent 0,transparent 58px,#f4eee6 58px)!important}
}
@media(max-width:700px){
  .page-about .about-wave-section{padding:66px 0 84px!important}
  .page-about .about-wave-section h2{font-size:clamp(2.05rem,10.8vw,2.95rem)!important;line-height:1.05!important}
  .page-about .about-wave-section p{font-size:15px!important;line-height:1.72!important}
  .page-about .about-wave-section .form-card{padding:24px 20px 24px!important}
  .page-about .about-wave-section .form-card h3{font-size:1.7rem!important}
  .page-about main>.section-sm{margin-top:-36px!important;background:linear-gradient(180deg,transparent 0,transparent 48px,#f4eee6 48px)!important;padding-bottom:70px!important}
}


/* =========================================================
   v2.8.7.39 — Albums / Services / Portfolio card rise motion
   ========================================================= */
body.sa-card-motion-ready .sa-card-rise{
  opacity:0!important;
  visibility:visible!important;
  transform:translate3d(0,28px,0)!important;
  filter:none!important;
  transition:
    opacity .68s cubic-bezier(.22,.75,.2,1) var(--sa-card-delay,0ms),
    transform .68s cubic-bezier(.22,.75,.2,1) var(--sa-card-delay,0ms),
    box-shadow .28s ease,
    border-color .28s ease!important;
  will-change:opacity,transform;
}
body.sa-card-motion-ready .sa-card-rise.sa-card-rise-visible{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
}
@media(prefers-reduced-motion:reduce){
  body.sa-card-motion-ready .sa-card-rise,
  body.sa-card-motion-ready .sa-card-rise.sa-card-rise-visible{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* =========================================================
   v2.8.7.40 — Homepage premium application hero redesign
   ========================================================= */
.page-index .hero.sa-premium-app-hero{
  min-height:100svh!important;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(17,4,8,.98) 0%,rgba(29,9,12,.92) 34%,rgba(43,19,17,.54) 68%,rgba(61,31,24,.33) 100%),
    radial-gradient(circle at 82% 20%,rgba(223,164,116,.26),transparent 30%),
    url('https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=2200&q=90') center/cover no-repeat!important;
}
.page-index .hero.sa-premium-app-hero::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(10,2,5,.66),transparent 52%),
    radial-gradient(circle at 64% 78%,rgba(0,0,0,.42),transparent 38%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28));
  pointer-events:none;
}
.page-index .hero.sa-premium-app-hero::after{
  content:'';
  position:absolute;
  inset:-20% -12% -20% 42%;
  z-index:0;
  background:radial-gradient(circle at 66% 31%,rgba(230,178,130,.22),transparent 32%);
  animation:saHeroAmbient 12s ease-in-out infinite alternate;
  pointer-events:none;
}
.page-index .sa-premium-app-hero .sa-hero-ambient{
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:.22;
  pointer-events:none;
  z-index:0;
}
.page-index .sa-premium-app-hero .sa-hero-ambient-one{width:320px;height:320px;right:5%;top:3%;background:#d7a76e}
.page-index .sa-premium-app-hero .sa-hero-ambient-two{width:300px;height:300px;left:38%;bottom:-16%;background:#6d1125;opacity:.28}
.page-index .sa-premium-app-hero .sa-premium-hero-grid{
  width:min(calc(100% - 72px),1410px);
  grid-template-columns:minmax(0,.94fr) minmax(560px,1.06fr)!important;
  gap:clamp(38px,5.4vw,86px)!important;
  padding:clamp(92px,10vh,134px) 0 84px!important;
}
.page-index .sa-premium-app-hero .sa-premium-hero-copy{max-width:680px}
.page-index .sa-premium-app-hero .sa-hero-kicker{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:28px;
  color:#e7c584;
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.page-index .sa-premium-app-hero .sa-hero-kicker-mark{font-size:.9rem;color:#efc977}
.page-index .sa-premium-app-hero .sa-hero-kicker-line{display:block;width:104px;height:1px;background:linear-gradient(90deg,rgba(231,197,132,.9),transparent)}
.page-index .sa-premium-app-hero .hero-copy h1{
  max-width:760px;
  margin:0 0 24px!important;
  color:#fffaf3!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(4rem,5.45vw,6.45rem)!important;
  font-weight:500!important;
  line-height:.99!important;
  letter-spacing:-.048em!important;
  text-wrap:balance;
}
.page-index .sa-premium-app-hero .hero-copy h1 span{color:#f1ddbd}
.page-index .sa-premium-app-hero .hero-copy .lead{
  max-width:610px!important;
  margin:0 0 32px!important;
  color:rgba(255,250,244,.76)!important;
  font-size:clamp(.98rem,1.1vw,1.08rem)!important;
  line-height:1.82!important;
}
.page-index .sa-premium-app-hero .sa-hero-actions{gap:16px!important}
.page-index .sa-premium-app-hero .sa-hero-actions .btn{
  min-height:62px;
  padding:0 27px!important;
  border-radius:15px!important;
  font-size:.96rem;
  font-weight:590;
  letter-spacing:-.01em;
  transform:none;
}
.page-index .sa-premium-app-hero .sa-hero-actions svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
.page-index .sa-premium-app-hero .sa-app-download-btn{
  color:#fffaf4!important;
  background:linear-gradient(135deg,#5a0b1b,#3b0711)!important;
  border:1px solid rgba(226,142,119,.68)!important;
  box-shadow:0 17px 38px rgba(18,2,7,.28),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.page-index .sa-premium-app-hero .sa-app-download-btn:hover{transform:translateY(-2px)!important;background:linear-gradient(135deg,#681024,#420812)!important;box-shadow:0 21px 43px rgba(18,2,7,.34)!important}
.page-index .sa-premium-app-hero .sa-app-download-btn:hover svg{transform:translateY(2px)}
.page-index .sa-premium-app-hero .sa-project-start-btn{
  color:#2c1613!important;
  background:linear-gradient(180deg,#fffaf1,#f2e5d2)!important;
  border:1px solid rgba(255,255,255,.8)!important;
  box-shadow:0 15px 34px rgba(17,4,7,.22),inset 0 1px 0 #fff!important;
}
.page-index .sa-premium-app-hero .sa-project-start-btn:hover{transform:translateY(-2px)!important;background:#fffaf1!important}
.page-index .sa-premium-app-hero .sa-project-start-btn:hover svg{transform:translateX(3px)}
.page-index .sa-premium-app-hero .sa-hero-trust{margin-top:31px!important;gap:14px;color:rgba(255,247,237,.82)}
.page-index .sa-premium-app-hero .sa-hero-avatar-stack{display:flex;align-items:center}
.page-index .sa-premium-app-hero .sa-hero-avatar-stack img{width:38px!important;height:38px!important;margin-left:-8px!important;border:2px solid rgba(255,250,244,.92)!important;box-shadow:0 5px 14px rgba(0,0,0,.24)}
.page-index .sa-premium-app-hero .sa-hero-avatar-stack img:first-child{margin-left:0!important}
.page-index .sa-premium-app-hero .sa-hero-trust-divider{width:1px;height:30px;background:rgba(231,197,132,.42)}
.page-index .sa-premium-app-hero .sa-hero-trust-copy{font-size:.93rem}
.page-index .sa-premium-app-hero .sa-hero-trust-copy strong{color:#f2dcae;font-weight:650}
.page-index .sa-premium-app-hero .sa-premium-hero-visual{height:590px!important;perspective:1500px}
.page-index .sa-premium-app-hero .sa-premium-album-stack{inset:28px 0 20px 5%!important;transform-style:preserve-3d}
.page-index .sa-premium-app-hero .sa-album-card{
  width:326px!important;
  height:440px!important;
  margin:0!important;
  border:1px solid rgba(232,200,143,.56)!important;
  border-radius:18px!important;
  background:#2c1714;
  box-shadow:0 36px 80px rgba(0,0,0,.46),0 0 0 7px rgba(255,255,255,.035)!important;
  overflow:hidden;
  animation:none!important;
  transition:transform .7s cubic-bezier(.22,1,.36,1),filter .45s ease,box-shadow .45s ease!important;
}
.page-index .sa-premium-app-hero .sa-album-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.02);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .45s ease}
.page-index .sa-premium-app-hero .sa-album-card-front{z-index:3;right:190px!important;top:77px!important;transform:rotateY(-6deg) rotateZ(-4deg) translateZ(54px)!important}
.page-index .sa-premium-app-hero .sa-album-card-middle{z-index:2;right:72px!important;top:54px!important;transform:rotateY(-8deg) rotateZ(3.2deg) translateZ(22px)!important}
.page-index .sa-premium-app-hero .sa-album-card-back{z-index:1;right:-36px!important;top:96px!important;transform:rotateY(-10deg) rotateZ(8deg)!important}
.page-index .sa-premium-app-hero .sa-premium-album-stack:hover .sa-album-card-front{transform:rotateY(-4deg) rotateZ(-5deg) translate3d(-8px,-8px,66px)!important}
.page-index .sa-premium-app-hero .sa-premium-album-stack:hover .sa-album-card-middle{transform:rotateY(-6deg) rotateZ(4deg) translate3d(4px,-4px,28px)!important}
.page-index .sa-premium-app-hero .sa-premium-album-stack:hover .sa-album-card-back{transform:rotateY(-8deg) rotateZ(9deg) translate3d(8px,1px,0)!important}
.page-index .sa-premium-app-hero .sa-premium-album-stack:hover .sa-album-card img{filter:saturate(.94) contrast(1.03);transform:scale(1.018)}
.page-index .sa-premium-app-hero .sa-premium-stat{
  min-width:122px;
  padding:18px 18px 17px!important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1px;
  border-radius:17px!important;
  color:#fff8ee;
  background:linear-gradient(145deg,rgba(98,72,61,.76),rgba(48,27,24,.78))!important;
  border:1px solid rgba(255,244,224,.24)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.1)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  backdrop-filter:blur(18px) saturate(125%);
}
.page-index .sa-premium-app-hero .sa-premium-stat .sa-stat-icon{color:#eac06f;font-size:.92rem;line-height:1;margin-bottom:5px}
.page-index .sa-premium-app-hero .sa-premium-stat strong{font-family:'Playfair Display',Georgia,serif!important;font-size:2rem!important;line-height:1.05}
.page-index .sa-premium-app-hero .sa-premium-stat small{font-size:.72rem;color:rgba(255,248,239,.76);white-space:nowrap}
.page-index .sa-premium-app-hero .sa-premium-stat i{width:29px;height:1px;margin-top:8px;background:#e9bd6e;opacity:.92}
.page-index .sa-premium-app-hero .sa-premium-stat-revisions{left:1%!important;bottom:48px!important}
.page-index .sa-premium-app-hero .sa-premium-stat-rating{right:1%!important;top:38px!important}
.page-index .sa-premium-app-hero .scroll-indicator{color:rgba(255,247,237,.58);bottom:20px!important}
@keyframes saHeroAmbient{to{transform:translate3d(3%,2%,0) scale(1.07)}}

@media(max-width:1180px){
  .page-index .sa-premium-app-hero .sa-premium-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr)!important;gap:34px!important}
  .page-index .sa-premium-app-hero .hero-copy h1{font-size:clamp(3.7rem,5.35vw,5.4rem)!important}
  .page-index .sa-premium-app-hero .sa-album-card{width:278px!important;height:390px!important}
  .page-index .sa-premium-app-hero .sa-album-card-front{right:145px!important}
  .page-index .sa-premium-app-hero .sa-album-card-middle{right:50px!important}
}
@media(max-width:980px){
  .page-index .hero.sa-premium-app-hero{min-height:auto!important}
  .page-index .sa-premium-app-hero .sa-premium-hero-grid{width:min(calc(100% - 44px),760px);grid-template-columns:1fr!important;padding:104px 0 74px!important;gap:42px!important}
  .page-index .sa-premium-app-hero .sa-premium-hero-copy{max-width:690px}
  .page-index .sa-premium-app-hero .hero-copy h1{font-size:clamp(3.75rem,9vw,5.7rem)!important}
  .page-index .sa-premium-app-hero .sa-premium-hero-visual{height:535px!important;max-width:680px;width:100%;margin:0 auto}
  .page-index .sa-premium-app-hero .sa-premium-album-stack{inset:10px 5% 15px 10%!important}
  .page-index .sa-premium-app-hero .sa-album-card{width:300px!important;height:410px!important}
  .page-index .sa-premium-app-hero .sa-album-card-front{right:225px!important;top:70px!important}
  .page-index .sa-premium-app-hero .sa-album-card-middle{right:118px!important;top:42px!important}
  .page-index .sa-premium-app-hero .sa-album-card-back{right:18px!important;top:83px!important}
}
@media(max-width:700px){
  .page-index .sa-premium-app-hero .sa-premium-hero-grid{width:min(calc(100% - 30px),610px);padding:86px 0 62px!important;gap:30px!important}
  .page-index .sa-premium-app-hero .sa-hero-kicker{margin-bottom:19px;font-size:.63rem;letter-spacing:.14em;gap:8px}
  .page-index .sa-premium-app-hero .sa-hero-kicker-line{width:42px}
  .page-index .sa-premium-app-hero .hero-copy h1{font-size:clamp(3rem,14vw,4.45rem)!important;line-height:1.01!important;margin-bottom:19px!important}
  .page-index .sa-premium-app-hero .hero-copy .lead{font-size:.94rem!important;line-height:1.72!important;margin-bottom:25px!important}
  .page-index .sa-premium-app-hero .sa-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:11px!important}
  .page-index .sa-premium-app-hero .sa-hero-actions .btn{width:100%;min-height:56px;padding:0 20px!important;border-radius:14px!important}
  .page-index .sa-premium-app-hero .sa-hero-trust{margin-top:23px!important;gap:10px}
  .page-index .sa-premium-app-hero .sa-hero-avatar-stack img{width:34px!important;height:34px!important}
  .page-index .sa-premium-app-hero .sa-hero-trust-copy{font-size:.82rem}
  .page-index .sa-premium-app-hero .sa-premium-hero-visual{height:405px!important;margin-top:4px}
  .page-index .sa-premium-app-hero .sa-premium-album-stack{inset:2px 0 0 0!important}
  .page-index .sa-premium-app-hero .sa-album-card{width:190px!important;height:282px!important;border-radius:14px!important}
  .page-index .sa-premium-app-hero .sa-album-card-front{right:43%!important;top:62px!important}
  .page-index .sa-premium-app-hero .sa-album-card-middle{right:22%!important;top:35px!important}
  .page-index .sa-premium-app-hero .sa-album-card-back{right:2%!important;top:66px!important}
  .page-index .sa-premium-app-hero .sa-premium-stat{min-width:98px;padding:13px 13px 12px!important;border-radius:14px!important}
  .page-index .sa-premium-app-hero .sa-premium-stat strong{font-size:1.55rem!important}
  .page-index .sa-premium-app-hero .sa-premium-stat small{font-size:.62rem}
  .page-index .sa-premium-app-hero .sa-premium-stat-revisions{left:0!important;bottom:13px!important}
  .page-index .sa-premium-app-hero .sa-premium-stat-rating{right:0!important;top:0!important}
  .page-index .sa-premium-app-hero .scroll-indicator{display:none!important}
}
@media(max-width:430px){
  .page-index .sa-premium-app-hero .hero-copy h1{font-size:clamp(2.7rem,13.6vw,3.55rem)!important}
  .page-index .sa-premium-app-hero .sa-premium-hero-visual{height:352px!important}
  .page-index .sa-premium-app-hero .sa-album-card{width:166px!important;height:245px!important}
  .page-index .sa-premium-app-hero .sa-album-card-front{right:42%!important;top:55px!important}
  .page-index .sa-premium-app-hero .sa-album-card-middle{right:21%!important;top:32px!important}
  .page-index .sa-premium-app-hero .sa-album-card-back{right:0!important;top:58px!important}
}
@media(prefers-reduced-motion:reduce){
  .page-index .hero.sa-premium-app-hero::after{animation:none!important}
  .page-index .sa-premium-app-hero .sa-album-card,.page-index .sa-premium-app-hero .sa-album-card img{transition:none!important}
}


/* =========================================================
   v2.8.7.41 — Restore original floating image motion
   Keeps the new application hero design while bringing back
   the soft independent movement of the three hero photos.
   ========================================================= */
.page-index .sa-premium-app-hero .sa-album-card-front{
  animation:saHeroPhotoFloatFront 6s ease-in-out infinite!important;
  will-change:translate;
}
.page-index .sa-premium-app-hero .sa-album-card-middle{
  animation:saHeroPhotoFloatMiddle 7s ease-in-out .35s infinite!important;
  will-change:translate;
}
.page-index .sa-premium-app-hero .sa-album-card-back{
  animation:saHeroPhotoFloatBack 8s ease-in-out .7s infinite!important;
  will-change:translate;
}
@keyframes saHeroPhotoFloatFront{
  0%,100%{translate:0 0}
  50%{translate:0 -15px}
}
@keyframes saHeroPhotoFloatMiddle{
  0%,100%{translate:0 0}
  50%{translate:0 -11px}
}
@keyframes saHeroPhotoFloatBack{
  0%,100%{translate:0 0}
  50%{translate:0 -13px}
}
/* The original scroll-parallax remains active through data-parallax. */
@media(max-width:700px){
  .page-index .sa-premium-app-hero .sa-album-card-front{animation-duration:6.8s!important}
  .page-index .sa-premium-app-hero .sa-album-card-middle{animation-duration:7.8s!important}
  .page-index .sa-premium-app-hero .sa-album-card-back{animation-duration:8.8s!important}
  @keyframes saHeroPhotoFloatFront{0%,100%{translate:0 0}50%{translate:0 -8px}}
  @keyframes saHeroPhotoFloatMiddle{0%,100%{translate:0 0}50%{translate:0 -6px}}
  @keyframes saHeroPhotoFloatBack{0%,100%{translate:0 0}50%{translate:0 -7px}}
}
@media(prefers-reduced-motion:reduce){
  .page-index .sa-premium-app-hero .sa-album-card-front,
  .page-index .sa-premium-app-hero .sa-album-card-middle,
  .page-index .sa-premium-app-hero .sa-album-card-back{
    animation:none!important;
    translate:0 0!important;
  }
}


/* =========================================================
   v2.8.7.44 — APP / WEBSITE CARD SHAPE PARITY
   Mirrors Android FeedPostCard + FeedMediaGrid visual geometry:
   12dp/px card radius, 12dp/px media radius, crisp low-contrast rim,
   very low elevation, and image-only hover motion.
   ========================================================= */
:root{
  --sa-app-card-radius:12px;
  --sa-app-media-radius:12px;
  --sa-app-card-border:rgba(59,11,20,.10);
  --sa-app-card-shadow:0 2px 10px rgba(59,11,20,.075);
  --sa-app-card-bg:linear-gradient(145deg,#fffefd 0%,#fffaf9 58%,#f9f2f2 100%);
}

/* Normal public content cards: use the same compact geometry as the app. */
.card,
.product-card,
.service-card,
.journal-card,
.quote-card,
.feature-box,
.pricing-card,
.sa-occasion-card,
.album-cta-card{
  border-radius:var(--sa-app-card-radius)!important;
  border:1px solid var(--sa-app-card-border)!important;
  box-shadow:var(--sa-app-card-shadow)!important;
}

/* Keep light/cream surfaces visually close to PremiumWhiteSurface in Android. */
.card,
.product-card,
.service-card,
.journal-card,
.quote-card,
.feature-box,
.sa-occasion-card{
  background:var(--sa-app-card-bg)!important;
}

/* App cards do not jump/lift. Keep only subtle artwork zoom. */
.card:hover,
.product-card:hover,
.service-card:hover,
.journal-card:hover,
.quote-card:hover,
.feature-box:hover,
.sa-occasion-card:hover,
.pricing-card:hover,
.album-cta-card:hover{
  transform:none!important;
  box-shadow:0 3px 13px rgba(59,11,20,.085)!important;
}

/* Image/media blocks use the exact same 12px artwork radius as FeedMediaGrid. */
.image-card,
.product-card>img,
.product-card .album-card-media,
.service-card .service-card-media,
.journal-card .journal-card-image,
.sa-occasion-card .sa-occasion-media,
.masonry-item,
.gallery-card,
.album-editorial-gallery figure,
.page-album-details .album-editorial-gallery-20 .album-gallery-item{
  border-radius:var(--sa-app-media-radius)!important;
  overflow:hidden!important;
}

/* When media is inside a card, preserve rounded artwork on all four sides like app feed. */
.product-card .album-card-media img,
.service-card .service-card-media img,
.journal-card .journal-card-image img,
.sa-occasion-card .sa-occasion-media img,
.image-card>img,
.masonry-item>img,
.gallery-card>img{
  border-radius:inherit!important;
}

/* Portfolio/gallery tiles follow the same low-elevation card edge. */
.masonry-item,
.gallery-card{
  border:1px solid var(--sa-app-card-border)!important;
  box-shadow:var(--sa-app-card-shadow)!important;
}
.masonry-item:hover,
.gallery-card:hover{
  transform:none!important;
  box-shadow:0 3px 13px rgba(59,11,20,.085)!important;
}

/* Compact content padding: Android feed content uses 12dp. */
.product-card-body,
.journal-card-body{
  padding:14px!important;
}
.page-services .service-card-content{
  padding:14px!important;
}
.page-index .sa-occasion-content{
  padding:14px!important;
}

/* Mobile keeps the same radius instead of becoming extra-rounded. */
@media(max-width:700px){
  .card,
  .product-card,
  .service-card,
  .journal-card,
  .quote-card,
  .feature-box,
  .pricing-card,
  .sa-occasion-card,
  .album-cta-card,
  .image-card,
  .masonry-item,
  .gallery-card,
  .product-card .album-card-media,
  .service-card .service-card-media,
  .journal-card .journal-card-image,
  .sa-occasion-card .sa-occasion-media{
    border-radius:12px!important;
  }
}
