: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}[hidden]{display:none!important}html{scroll-behavior:auto}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:100%;height:3px;background:linear-gradient(90deg,var(--wine),var(--gold));z-index:9999;transform:scaleX(0);transform-origin:0 50%;will-change:transform}
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);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;border-radius:21px}.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;border-radius:22px}.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:1;transform:none}.reveal.sa-reveal-pending,.reveal.sa-reveal-pending.show{opacity:1;transform:none}.tilt{transition:transform .25s}.toast{position:fixed;left:50%;top:50%;right:auto;bottom:auto;width:min(calc(100vw - 32px),430px);min-height:92px;padding:18px 52px 18px 18px;border-radius:20px;background:#fffdf9;color:#180409;border:1px solid rgba(116,19,35,.16);box-shadow:0 28px 80px rgba(24,4,9,.18),0 6px 20px rgba(24,4,9,.08);display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-50%) scale(.94);transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility .22s ease;z-index:20000}.toast.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.toast .sa-message-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#741323;color:#fff!important;border:2px solid transparent;font-size:20px;font-weight:800;line-height:1}.toast[data-type="success"] .sa-message-icon{background:#741323;color:#22a447!important;border-color:#fff!important}.toast[data-type="error"] .sa-message-icon{background:#741323;color:#fff!important;border-color:transparent!important}.toast[data-type="info"] .sa-message-icon{background:#180409;color:#fff!important;border-color:transparent!important}.toast .sa-message-copy{display:grid;gap:3px;min-width:0}.toast .sa-message-copy strong{margin:0;color:#180409!important;font:700 15px/1.25 "Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important}.toast .sa-message-copy>span{color:#5b4b4e!important;font:450 13px/1.45 "Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;overflow-wrap:anywhere}.toast .sa-message-close{position:absolute;top:10px;right:11px;width:30px;height:30px;border:0!important;border-radius:50%!important;background:transparent!important;color:#741323!important;box-shadow:none!important;padding:0!important;display:grid;place-items:center;font-size:22px;line-height:1;cursor:pointer}.toast .sa-message-close:hover{background:#f8f0f0!important}.toast .sa-message-close:before,.toast .sa-message-close:after{content:none!important}@media(max-width:540px){.toast{width:calc(100vw - 24px);min-height:86px;padding:16px 48px 16px 16px;border-radius:18px;grid-template-columns:40px minmax(0,1fr);gap:12px}.toast .sa-message-icon{width:40px;height:40px;font-size:18px}}
@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){.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){.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}.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}}

/* === 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)}
.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}


.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}

/* 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 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}.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}
}
@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}}


/* ===== 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);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))}

/* 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){
 .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}
 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}


/* 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 .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 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}

@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:#741323;color:#fff;border-color:#741323}
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:#741323;color:#fff;box-shadow:0 16px 38px rgba(116,19,35,.24)}

/* 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:0!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 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-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: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))}

/* 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 .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){.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:0!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:#741323!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#741323!important;font-weight:700}
.newsletter-card .btn:hover{background:#741323!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 16px 38px rgba(116,19,35,.24)}

/* 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}

/* 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;
  opacity:1!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/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:#741323!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border:1px solid #741323!important;
  box-shadow:0 14px 34px rgba(116,19,35,.20)!important;
}
.newsletter-card .btn:hover{background:#741323!important;color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;box-shadow:0 18px 42px rgba(116,19,35,.28)!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:#ffffff!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 compact pill — single authoritative geometry */
.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 10px 5px 5px;
  border:1px solid rgba(24,4,9,.16);
  border-radius:999px;
  background:#ffffff;
  box-shadow:0 10px 28px rgba(24,4,9,.08);
  overflow:hidden;
}
.newsletter-card .newsletter-compact .field{
  flex:1;
  min-width:0;
  padding:0!important;
  background:transparent!important;
}
.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.newsletter-email{
  min-width:0;
  padding:14px 18px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}
.newsletter-card .newsletter-compact input.newsletter-email:focus,
.newsletter-card .newsletter-compact input.newsletter-email:focus-visible{
  appearance:none!important;
  -webkit-appearance:none!important;
  outline:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.newsletter-card .newsletter-compact input.newsletter-email:-webkit-autofill,
.newsletter-card .newsletter-compact input.newsletter-email:-webkit-autofill:hover,
.newsletter-card .newsletter-compact input.newsletter-email:-webkit-autofill:focus{
  -webkit-text-fill-color:#180409!important;
  caret-color:#180409!important;
  -webkit-box-shadow:0 0 0 1000px #ffffff inset!important;
  box-shadow:0 0 0 1000px #ffffff inset!important;
}
.newsletter-card .newsletter-compact input.newsletter-email::placeholder{
  color:rgba(24,4,9,.54)!important;
  -webkit-text-fill-color:rgba(24,4,9,.54)!important;
  opacity:1!important;
}
.newsletter-card .newsletter-compact .btn{
  flex:0 0 auto;
  min-width:132px;
  border-radius:999px!important;
  padding:13px 24px!important;
  margin:0!important;
  background-color:#741323!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#741323!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;filter:grayscale(1) saturate(0) contrast(1.02);-webkit-filter:grayscale(1) saturate(0) contrast(1.02)}

/* 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;
  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-icon svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.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;
  }
  
}
@media(max-width:760px){
  .section,.section-sm{
    padding-top:96px!important;
    padding-bottom:96px!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;
}

.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 .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}
}

/* 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 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{
  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 .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!important}
.site-header.is-scrolled{background:rgba(255,253,249,.95)!important;border-bottom:0!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}

.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:#FFFDF9 !important;-webkit-text-fill-color:#FFFDF9!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:#FFFDF9!important;
  -webkit-text-fill-color:#FFFDF9!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:#FFFDF9!important;-webkit-text-fill-color:#FFFDF9!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:#FFFDF9!important;-webkit-text-fill-color:#FFFDF9!important;line-height:1.3;}
.journal-question-text small{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,253,249,.72)!important;-webkit-text-fill-color:rgba(255,253,249,.72)!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{
  color:#FFFDF9!important;
  -webkit-text-fill-color:#FFFDF9!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 stay white on the maroon accordion header. */
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:#FFFDF9!important;
  -webkit-text-fill-color:#FFFDF9!important;
}
body .journal-question-text small,
body .journal-accordion-item.open .journal-question-text small{
  color:rgba(255,253,249,.72)!important;
  -webkit-text-fill-color:rgba(255,253,249,.72)!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 stays maroon; only the answer panel uses the light highlight. */
body .faq-list .faq-q,
body .faq-list .faq-item.open .faq-q{
  background:#741323!important;
  color:#FFFDF9!important;
  -webkit-text-fill-color:#FFFDF9!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-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;
  background:#741323!important;
  color:#FFFDF9!important;
  -webkit-text-fill-color:#FFFDF9!important;
}

/* Accordion headings use white/cream text on the Signature Album maroon header. */
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:#FFFDF9!important;
  -webkit-text-fill-color:#FFFDF9!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 maroon 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:#741323!important;
  color:#FFFDF9!important;
  -webkit-text-fill-color:#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,
  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):not(.sa-password-toggle):not(.sa-generate-password){
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.btn::before,
.filter-btn::before,
form button[type="submit"]::before,
form button[type="button"]:not(.custom-select-trigger):not(.sa-password-toggle):not(.sa-generate-password)::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):not(.sa-password-toggle):not(.sa-generate-password):hover::before,
form button[type="button"]:not(.custom-select-trigger):not(.sa-password-toggle):not(.sa-generate-password):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{border-color:#3b0b14}
.btn-primary::before,
.newsletter-card .btn::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):not(.sa-password-toggle):not(.sa-generate-password) > *{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):not(.sa-password-toggle):not(.sa-generate-password)::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):not(.sa-password-toggle):not(.sa-generate-password)::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):not(.sa-password-toggle):not(.sa-generate-password):hover::before,
form button[type="button"]:not(.custom-select-trigger):not(.sa-password-toggle):not(.sa-generate-password):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):not(.sa-password-toggle):not(.sa-generate-password){
  --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):not(.sa-password-toggle):not(.sa-generate-password)::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):not(.sa-password-toggle):not(.sa-generate-password):hover::before,
form button[type="button"]:not(.custom-select-trigger):not(.sa-password-toggle):not(.sa-generate-password):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(.sa-password-toggle):not(.sa-generate-password):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):not(.sa-password-toggle):not(.sa-generate-password)::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):not(.sa-password-toggle):not(.sa-generate-password)::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):not(.sa-password-toggle):not(.sa-generate-password)::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):not(.sa-password-toggle):not(.sa-generate-password){
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.btn::after,
.filter-btn::after,
form button[type="submit"]::after,
form button[type="button"]:not(.custom-select-trigger):not(.sa-password-toggle):not(.sa-generate-password)::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):not(.sa-password-toggle):not(.sa-generate-password):hover::after,
form button[type="button"]:not(.custom-select-trigger):not(.sa-password-toggle):not(.sa-generate-password):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):not(.sa-password-toggle):not(.sa-generate-password) > *{
  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):not(.sa-password-toggle):not(.sa-generate-password){
  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):not(.sa-password-toggle):not(.sa-generate-password)::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:0!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):not(.sa-password-toggle):not(.sa-generate-password):hover::after,
form button[type="button"]:not(.custom-select-trigger):not(.sa-password-toggle):not(.sa-generate-password):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-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-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):not(.sa-password-toggle):not(.sa-generate-password)::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):not(.sa-password-toggle):not(.sa-generate-password):hover::after,
form button[type="button"]:not(.custom-select-trigger):not(.sa-password-toggle):not(.sa-generate-password):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-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-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:790px;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 .gallery-card-arrow{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;display:grid;place-items:center;transition:.3s}.gallery-card:hover figcaption .gallery-card-arrow,.gallery-card:focus-visible figcaption .gallery-card-arrow{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 and Album Planner use the same custom-select trigger + menu design. */
.page-contact .form-card .field input,
.page-contact .form-card .field textarea,
:is(.page-contact .form-card .field, .sa-contact-select.field) .custom-select-trigger,
:is(.page-contact .form-card .field, .sa-contact-select.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}
:is(.page-contact .form-card .field, .sa-contact-select.field) .custom-select-trigger{padding-right:46px!important}
.page-contact .form-card .field:before,
.page-contact .form-card .field:after,
:is(.page-contact .form-card, .sa-contact-select) .custom-select-trigger::before{display:none!important}
.page-contact .form-card .field input:focus,
.page-contact .form-card .field textarea:focus,
:is(.page-contact .form-card, .sa-contact-select) .custom-select-trigger:hover,
:is(.page-contact .form-card, .sa-contact-select) .custom-select-trigger:focus-visible,
:is(.page-contact .form-card, .sa-contact-select) .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;
}
:is(.page-contact, .sa-contact-select) .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;
}
:is(.page-contact, .sa-contact-select) .custom-select-option:hover,
:is(.page-contact, .sa-contact-select) .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:4;
  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 .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,
:is(.page-contact, .sa-contact-select) .custom-select-trigger,
:is(.page-contact, .sa-contact-select) .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{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)}
@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 ===== */
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{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  background:rgba(255,253,249,.97)!important;
  border-bottom:0!important;
  box-shadow:0 16px 42px rgba(24,4,9,.16),0 4px 14px rgba(24,4,9,.08)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  transition:opacity .28s ease,visibility 0s linear .28s!important;
}
.page-index .site-header.is-after-hero{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transition:opacity .28s ease,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}

/* Mobile drawer is styled independently; profile appearance is owned by
   the canonical responsive header block near the stylesheet end. */
@media(max-width:700px){
  .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. */




/* 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.8.7.58 footer Join button — unified #741323 with light hover sweep ===== */
.site-footer .newsletter-inline .btn,
.site-footer .newsletter-inline button.btn{
  border:1px solid #741323!important;
  outline:0!important;
  background-color:#741323!important;
  background-image:linear-gradient(110deg,transparent 0 34%,rgba(255,255,255,0) 42%,rgba(255,255,255,.28) 50%,rgba(255,255,255,0) 58%,transparent 66%)!important;
  background-size:240% 100%!important;
  background-position:125% 0!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  box-shadow:0 8px 22px rgba(116,19,35,.18)!important;
  text-shadow:none!important;
  transition:background-position .62s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease!important;
}
.site-footer .newsletter-inline .btn > *,
.site-footer .newsletter-inline button.btn > *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!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-color:#741323!important;
  background-color:#741323!important;
  background-position:-24% 0!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 28px rgba(116,19,35,.28),0 0 22px rgba(255,255,255,.16)!important;
  transform:none!important;
}


/* =========================================================
   V2.4.5 SHARED CONTACT/PLANNER 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,
.sa-contact-select.field{
  position:relative;
  z-index:1;
}
:is(.page-contact .form-card .field, .sa-contact-select.field):focus-within,
:is(.page-contact .form-card .field, .sa-contact-select.field).has-custom-select:has(.custom-select.open){
  z-index:700!important;
}
:is(.page-contact .form-card, .sa-contact-select) .custom-select{
  position:relative;
  z-index:2!important;
  isolation:isolate;
}
:is(.page-contact .form-card, .sa-contact-select) .custom-select.open{
  z-index:800!important;
}
:is(.page-contact .form-card, .sa-contact-select) .custom-select-menu{
  z-index:9999!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
:is(.page-contact .form-card, .sa-contact-select) .custom-select.open .custom-select-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option{
  position:relative;
  z-index:1;
}
@media(max-width:700px){
  :is(.page-contact .form-card, .sa-contact-select) .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.
   ========================================================= */
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option:hover,
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option:focus,
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option:focus-visible,
:is(.page-contact .form-card, .sa-contact-select) .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;
}
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option:hover *,
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option:focus *,
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option:focus-visible *,
:is(.page-contact .form-card, .sa-contact-select) .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;
}
:is(.page-contact .form-card, .sa-contact-select) .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 SHARED CONTACT/PLANNER DROPDOWN OPTION SPACING
   Separate adjacent options and keep hover restrained/readable.
   ========================================================= */
:is(.page-contact .form-card, .sa-contact-select) .custom-select-menu{
  padding:8px!important;
}
:is(.page-contact .form-card, .sa-contact-select) .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;
}
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option:first-child{margin-top:0!important}
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option:last-child{margin-bottom:0!important}

/* Contact highlight visual: a near-white row with subtle burgundy inset
   marker. Planner's selected option shares this exact visual, unlike the
   Contact service selector's distinct solid-burgundy committed state. */
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option:hover:not([aria-selected="true"]):not(.is-selected),
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option:focus:not([aria-selected="true"]):not(.is-selected),
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option:focus-visible:not([aria-selected="true"]):not(.is-selected),
#sa-public-theme #sa-album-planner .sa-contact-select .custom-select-option[aria-selected="true"],
#sa-public-theme #sa-album-planner .sa-contact-select .custom-select-option.is-selected{
  background:#fffdf9!important;
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
  border-color:rgba(59,11,20,.08)!important;
  box-shadow:inset 3px 0 0 #3b0b14!important;
  font-weight:500!important;
}

/* Contact's existing selected-state styling stays unchanged. Planner selection
   uses the same pale left-accent appearance as the Contact screenshot's
   highlighted option (defined in the preceding shared hover block). */
.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. */
:is(.page-contact .form-card, .sa-contact-select) .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;
}
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option.is-placeholder:hover,
#sa-public-theme #sa-album-planner .sa-contact-select .custom-select-option.is-placeholder:hover,
:is(.page-contact .form-card, .sa-contact-select) .custom-select-option.is-placeholder:focus-visible,
#sa-public-theme #sa-album-planner .sa-contact-select .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%;transition:border-color .3s ease,box-shadow .3s ease!important}
/* Match the existing services hover without altering the album card resting layout. */
#sa-public-theme.page-albums main .product-card:hover,
#sa-public-theme.page-albums main .product-card:focus-within{
  transform:none!important;
  border-color:rgba(75,19,29,.26)!important;
  box-shadow:0 22px 54px rgba(24,4,9,.15)!important;
}
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-albums main .product-card:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-albums main .product-card:focus-within{
  border-color:rgba(241,185,189,.42)!important;
  box-shadow:0 22px 54px rgba(0,0,0,.34)!important;
}
.page-albums .product-card:before{display:none!important}
.page-albums .album-card-media{display:block;overflow:hidden;background:#eadfd5;border-radius:21px}
.page-albums .album-card-media img{border-radius:inherit;transition:transform .55s cubic-bezier(.22,1,.36,1),filter .4s ease!important}
.page-albums .product-card:hover .album-card-media img,.page-albums .product-card:focus-within .album-card-media img{transform:scale(1.045)!important;filter:saturate(.96)!important}
.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;position:relative}
.page-albums .album-text-link:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .28s ease}
.page-albums .product-card:hover .album-text-link:after,.page-albums .album-text-link:focus-visible:after{transform:scaleX(1);transform-origin:left}
.page-albums .album-text-link b{font-size:1rem;font-weight:400;transition:transform .25s ease}
.page-albums .album-text-link:hover b,.page-albums .product-card:hover .album-text-link b,.page-albums .album-text-link:focus-visible b{transform:translate(2px,-2px)}
@media(prefers-reduced-motion:reduce){
  .page-albums .product-card,.page-albums .album-card-media img,.page-albums .album-text-link:after,.page-albums .album-text-link b{transition:none!important}
}

/* Album Collection — Demo 1 Editorial Reveal. Single entrance on the card;
   the existing Service Card hover/size/layout and album filters remain intact.
   The animation uses positional offset because the theme intentionally locks
   card transforms to none (its global anchored-card rule). */
.page-albums .albums-wave-section .grid-3 > .product-card.sa-album-editorial-enter{
  animation:saAlbumEditorialEnter .85s cubic-bezier(.2,.8,.22,1) both!important;
  animation-delay:calc(var(--sa-album-index,0) * 95ms)!important;
}
@keyframes saAlbumEditorialEnter{
  from{opacity:0;top:38px;clip-path:inset(0 0 16% 0 round 22px)}
  to{opacity:1;top:0;clip-path:inset(0 0 0 0 round 22px)}
}
/* The original Gallery Demo 1's top hairline + gentle heading reveal;
   use the album's existing image/media and body markup without duplicating it. */
.page-albums .albums-wave-section .album-card-media{position:relative}
.page-albums .albums-wave-section .album-card-media::after{
  content:"";position:absolute;inset:0 0 auto;height:2px;background:rgba(244,227,221,.95);
  z-index:2;pointer-events:none;transform:scaleX(0);transform-origin:left;
  transition:transform .58s cubic-bezier(.22,1,.36,1);
}
.page-albums .albums-wave-section .product-card:hover .album-card-media::after,
.page-albums .albums-wave-section .product-card:focus-within .album-card-media::after{transform:scaleX(1)}
.page-albums .albums-wave-section .product-card-body > h3{
  transition:transform .54s cubic-bezier(.22,1,.36,1);
}
.page-albums .albums-wave-section .product-card:hover .product-card-body > h3,
.page-albums .albums-wave-section .product-card:focus-within .product-card-body > h3{transform:translateY(-7px)}
@media(prefers-reduced-motion:reduce){
  .page-albums .albums-wave-section .grid-3 > .product-card.sa-album-editorial-enter{animation:none!important;top:0;clip-path:none;opacity:1}
  .page-albums .albums-wave-section .album-card-media::after,
  .page-albums .albums-wave-section .product-card-body > h3{transition:none!important}
}

.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;
  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}
  .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!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!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:0!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-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:90px;--sa-public-header-height:90px}
@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.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
   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;
  }
}
/* =========================================================
   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;
}


/* =========================================================
   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;
}
.page-index .occasion-card,
.page-index .occasion-card *{cursor:pointer!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:0!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;
  }
}


/* =========================================================
   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 — GLOBAL BACK TO TOP
   ========================================================= */
.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){
  .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 .3s ease,border-color .3s ease!important;
}
#sa-public-theme.page-index main .sa-occasion-card:hover,
#sa-public-theme.page-index main .sa-occasion-card:focus-visible{
  border-color:rgba(75,19,29,.26)!important;
  box-shadow:0 22px 54px rgba(24,4,9,.15)!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!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:inherit!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  transform:translateZ(0) scale(1)!important;
  filter:saturate(1)!important;
  transition:transform .55s cubic-bezier(.22,1,.36,1),filter .4s ease!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.035)!important;
  filter:saturate(.96)!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;
  background-image:linear-gradient(currentColor,currentColor)!important;
  background-repeat:no-repeat!important;
  background-position:left bottom!important;
  background-size:0 1px!important;
  transition:background-size .28s ease!important;
}
.page-index .sa-occasion-card:hover .sa-occasion-link,
.page-index .sa-occasion-card:focus-visible .sa-occasion-link{
  background-size:100% 1px!important;
}
.page-index .sa-occasion-link>span{
  font-size:15px!important;
  transform:none!important;
  transition:transform .25s 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,
  .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
   Adds breathing room below the category pill.
   ========================================================= */
.page-index .sa-occasion-badge{
  margin-bottom:11px!important;
}
.page-index .sa-occasion-title{
  margin-top:0!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 — lower studio bridge on mobile */
@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.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}

/* 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.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:840px!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}
}


/* 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.35 — Premium testimonial card cleanup
   Built on the v2.8.7.28 public-theme baseline.
   ========================================================= */
.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;
  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{}
  .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:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;
  font-weight:620!important;
  font-optical-sizing:auto;
  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,
body.sa-card-motion-ready .sa-card-rise.sa-card-rise-visible{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  transition:none!important;
  will-change:auto!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-hero-actions .sa-play-store-icon{width:20px!important;height:20px!important;display:block;flex:0 0 auto;object-fit:contain;transform:none;transition:transform .25s ease;filter:none!important}
.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 .sa-play-store-icon{transform:translateX(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 .sa-stat-icon svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.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.47 — FULL THEME VISUAL AUDIT / CLEAN PALETTE LAYER
   Scope is deliberately limited to #sa-public-theme so footer styling and
   portal/plugin interfaces are not recolored. Public palette:
   canvas #ffffff · surface #fffdf9 · primary copy #180409.
   ========================================================================== */

/* Base public canvas */
#sa-public-theme,
#sa-public-theme main{
  background:#ffffff!important;
  color:#180409!important;
}
#sa-public-theme main > section:not(.hero):not(.studio-bridge):not(.sa-content-v2),
#sa-public-theme main > .section,
#sa-public-theme main > .section-sm,
#sa-public-theme main > .gallery-hero,
#sa-public-theme main > .album-view-hero,
#sa-public-theme main > .page-hero{
  background:#ffffff!important;
  background-image:none!important;
  color:#180409!important;
}

/* All normal reading copy. ID scope intentionally wins old !important rules. */
#sa-public-theme main h1,
#sa-public-theme main h2,
#sa-public-theme main h3,
#sa-public-theme main h4,
#sa-public-theme main h5,
#sa-public-theme main h6,
#sa-public-theme main p,
#sa-public-theme main li,
#sa-public-theme main blockquote,
#sa-public-theme main dt,
#sa-public-theme main dd,
#sa-public-theme main label,
#sa-public-theme main legend,
#sa-public-theme main th,
#sa-public-theme main td,
#sa-public-theme main caption,
#sa-public-theme main summary,
#sa-public-theme main strong,
#sa-public-theme main small,
#sa-public-theme main .eyebrow,
#sa-public-theme main .lead,
#sa-public-theme main .section-title,
#sa-public-theme main .card-title,
#sa-public-theme main .form-title,
#sa-public-theme main .dashboard-title,
#sa-public-theme main .widget-title,
#sa-public-theme main .policy-title{
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
  text-shadow:none!important;
}

/* Accordion header contrast: semantic exception to the generic dark-text palette. */
#sa-public-theme main .faq-list .faq-q,
#sa-public-theme main .faq-list .faq-q strong,
#sa-public-theme main .policy-accordion .faq-q .policy-title,
#sa-public-theme main .journal-accordion-list .faq-q .journal-question-text strong{
  color:#FFFDF9!important;
  -webkit-text-fill-color:#FFFDF9!important;
  text-shadow:none!important;
}
#sa-public-theme main .journal-accordion-list .faq-q .journal-question-text small{
  color:rgba(255,253,249,.72)!important;
  -webkit-text-fill-color:rgba(255,253,249,.72)!important;
}

/* Light content panels/cards */
#sa-public-theme main .card,
#sa-public-theme main .soft-panel,
#sa-public-theme main .form-card,
#sa-public-theme main .feature-box,
#sa-public-theme main .quote-card,
#sa-public-theme main .product-card,
#sa-public-theme main .pricing-card,
#sa-public-theme main .journal-card,
#sa-public-theme main .faq-item,
#sa-public-theme main .legal-card,
#sa-public-theme main .stat-card,
#sa-public-theme main .studio-bridge-card,
#sa-public-theme main .sa-testimonial-card,
#sa-public-theme main .newsletter-card,
#sa-public-theme main .newsletter-wave-card,
#sa-public-theme main .story-wave-card,
#sa-public-theme main .dark-panel:not(.heritage-wedding-card),
#sa-public-theme main .sidebar,
#sa-public-theme main .faq-intro,
#sa-public-theme main .legal-summary,
#sa-public-theme main .album-cta-card,
#sa-public-theme main .album-spec-card,
#sa-public-theme main .album-process-card,
#sa-public-theme main .dashboard-card,
#sa-public-theme main .cart-card,
#sa-public-theme main .checkout-card,
#sa-public-theme main .order-card,
#sa-public-theme main .wishlist-card{
  background:#fffdf9!important;
  background-image:none!important;
  color:#180409!important;
  border-color:rgba(24,4,9,.12)!important;
  box-shadow:0 14px 36px rgba(24,4,9,.065)!important;
}


/* Homepage Heritage Wedding Collection keeps its original photographic treatment. */
#sa-public-theme.page-index main .heritage-wedding-card,
body.home #sa-public-theme main .heritage-wedding-card{
  background:
    linear-gradient(90deg,rgba(23,21,19,.96),rgba(23,21,19,.50)),
    url("https://images.unsplash.com/photo-1542038784456-1ea8e935640e?auto=format&fit=crop&w=1400&q=85") center/cover no-repeat!important;
  color:#ffffff!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 18px 44px rgba(24,4,9,.16)!important;
}
#sa-public-theme.page-index main .heritage-wedding-card h2,
#sa-public-theme.page-index main .heritage-wedding-card p,
body.home #sa-public-theme main .heritage-wedding-card h2,
body.home #sa-public-theme main .heritage-wedding-card p{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
#sa-public-theme.page-index main .heritage-wedding-card .eyebrow,
body.home #sa-public-theme main .heritage-wedding-card .eyebrow{
  color:#e2bd76!important;
  -webkit-text-fill-color:#e2bd76!important;
}

/* Legacy dark wave sections become clean white stages. */
#sa-public-theme.page-index .occasion-section + .section,
#sa-public-theme.page-index .story-wave-section,
#sa-public-theme.page-index .why-signature-section,
#sa-public-theme.page-index .newsletter-wave-section,
#sa-public-theme.page-about .about-wave-section,
#sa-public-theme.page-albums .albums-wave-section,
#sa-public-theme.page-services .services-wave-section,
#sa-public-theme.page-portfolio .portfolio-wave-section,
#sa-public-theme.page-contact .contact-wave-section,
#sa-public-theme.page-album-details .album-story-section,
#sa-public-theme.page-album-details .album-gallery-section,
#sa-public-theme.page-album-details .album-spec-section,
#sa-public-theme.page-album-details .album-process-section,
#sa-public-theme.page-album-details .album-final-cta,
#sa-public-theme.page-gallery .gallery-showcase,
#sa-public-theme.page-gallery .gallery-cta{
  background:#ffffff!important;
  background-image:none!important;
  color:#180409!important;
}
#sa-public-theme.page-index .story-wave-section::before,
#sa-public-theme.page-index .story-wave-section::after,
#sa-public-theme.page-index .newsletter-wave-section::before,
#sa-public-theme.page-index .newsletter-wave-section::after{
  background-image:none!important;
  opacity:0!important;
}
#sa-public-theme .sa-premium-wave{opacity:.055!important}

/* Newsletter was the strongest dark-on-dark conflict. */
#sa-public-theme.page-index .newsletter-wave-card,
#sa-public-theme.home .newsletter-wave-card{
  background:#fffdf9!important;
  background-image:none!important;
  color:#180409!important;
  border:1px solid rgba(24,4,9,.12)!important;
  box-shadow:0 18px 46px rgba(24,4,9,.075)!important;
}
#sa-public-theme.page-index .newsletter-wave-card::before,
#sa-public-theme.page-index .newsletter-wave-card::after,
#sa-public-theme.home .newsletter-wave-card::before,
#sa-public-theme.home .newsletter-wave-card::after{
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
}
#sa-public-theme.page-index .newsletter-wave-card .eyebrow,
#sa-public-theme.page-index .newsletter-wave-card h2,
#sa-public-theme.page-index .newsletter-wave-card h3,
#sa-public-theme.page-index .newsletter-wave-card p,
#sa-public-theme.page-index .newsletter-wave-card label,
#sa-public-theme.home .newsletter-wave-card .eyebrow,
#sa-public-theme.home .newsletter-wave-card h2,
#sa-public-theme.home .newsletter-wave-card h3,
#sa-public-theme.home .newsletter-wave-card p,
#sa-public-theme.home .newsletter-wave-card label{
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}

/* Forms/inputs */
#sa-public-theme main input:not([type="checkbox"]):not([type="radio"]):not(.newsletter-email),
#sa-public-theme main textarea,
#sa-public-theme main select,
#sa-public-theme main .custom-select-trigger,
#sa-public-theme main .custom-select-menu{
  background:#ffffff!important;
  background-image:none!important;
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
  caret-color:#180409!important;
  border-color:rgba(24,4,9,.18)!important;
  box-shadow:none!important;
}
#sa-public-theme main input::placeholder,
#sa-public-theme main textarea::placeholder{
  color:rgba(24,4,9,.54)!important;
  -webkit-text-fill-color:rgba(24,4,9,.54)!important;
  opacity:1!important;
}
#sa-public-theme main input:not(.newsletter-email):focus,
#sa-public-theme main textarea:focus,
#sa-public-theme main select:focus,
#sa-public-theme main .custom-select-trigger:focus{
  border-color:rgba(24,4,9,.44)!important;
  box-shadow:0 0 0 3px rgba(24,4,9,.055)!important;
  outline:none!important;
}
#sa-public-theme main .custom-select-option{
  background:#ffffff!important;
  color:#180409!important;
}
#sa-public-theme main .custom-select-option:hover,
#sa-public-theme main .custom-select-option[aria-selected="true"]{
  background:#fffdf9!important;
  color:#180409!important;
}

/* Buttons and filters: unified #741323 button system with a subtle hover light sweep. */
#sa-public-theme main .btn,
#sa-public-theme main .btn-primary,
#sa-public-theme main .btn-outline,
#sa-public-theme main .btn-dark,
#sa-public-theme main button[type="submit"],
#sa-public-theme main button[type="button"]:not(.custom-select-trigger):not(.faq-q):not(.sa-recent-nav):not(.sa-recent-filter):not(.filter-btn):not(.gallery-filter-btn):not(.sa-password-toggle):not(.sa-generate-password):not(.sa-why-v53-details):not(.sa-why-v53-dialog-close):not(.sa-home-quiet-button){
  background-color:#741323!important;
  background-image:linear-gradient(110deg,transparent 0 34%,rgba(255,255,255,0) 42%,rgba(255,255,255,.28) 50%,rgba(255,255,255,0) 58%,transparent 66%)!important;
  background-size:240% 100%!important;
  background-position:125% 0!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#741323!important;
  box-shadow:0 8px 22px rgba(116,19,35,.18)!important;
  text-shadow:none!important;
  transition:background-position .62s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease,transform .28s ease!important;
}
#sa-public-theme main .btn > *,
#sa-public-theme main .btn-primary > *,
#sa-public-theme main .btn-outline > *,
#sa-public-theme main .btn-dark > *,
#sa-public-theme main button[type="submit"] > *,
#sa-public-theme main button[type="button"]:not(.custom-select-trigger):not(.faq-q):not(.sa-recent-nav):not(.sa-recent-filter):not(.filter-btn):not(.gallery-filter-btn):not(.sa-password-toggle):not(.sa-generate-password):not(.sa-why-v53-details):not(.sa-why-v53-dialog-close):not(.sa-home-quiet-button) > *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}
#sa-public-theme main .btn:hover,
#sa-public-theme main .btn:focus-visible,
#sa-public-theme main .btn-primary:hover,
#sa-public-theme main .btn-primary:focus-visible,
#sa-public-theme main .btn-outline:hover,
#sa-public-theme main .btn-outline:focus-visible,
#sa-public-theme main button[type="submit"]:hover,
#sa-public-theme main button[type="submit"]:focus-visible,
#sa-public-theme main button[type="button"]:not(.custom-select-trigger):not(.faq-q):not(.sa-recent-nav):not(.sa-recent-filter):not(.filter-btn):not(.gallery-filter-btn):not(.sa-password-toggle):not(.sa-generate-password):not(.sa-why-v53-details):not(.sa-why-v53-dialog-close):not(.sa-home-quiet-button):hover,
#sa-public-theme main button[type="button"]:not(.custom-select-trigger):not(.faq-q):not(.sa-recent-nav):not(.sa-recent-filter):not(.filter-btn):not(.gallery-filter-btn):not(.sa-password-toggle):not(.sa-generate-password):not(.sa-why-v53-details):not(.sa-why-v53-dialog-close):not(.sa-home-quiet-button):focus-visible{
  background-color:#741323!important;
  background-position:-24% 0!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#741323!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 0 1px rgba(255,255,255,.10),0 10px 28px rgba(116,19,35,.28),0 0 22px rgba(255,255,255,.16)!important;
}


/* Filter controls are selection states, not CTA buttons.
   Recent Posts, Albums, Portfolio and Gallery use one canonical color system. */
#sa-public-theme main .filter-btn,
#sa-public-theme main .gallery-filter-btn,
#sa-public-theme main .sa-recent-filter{
  background:#ffffff!important;
  background-image:none!important;
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
  border:1px solid rgba(116,19,35,.18)!important;
  box-shadow:none!important;
  text-shadow:none!important;
  transform:none!important;
  transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease!important;
}
#sa-public-theme main .filter-btn:hover:not(.active),
#sa-public-theme main .filter-btn:focus-visible:not(.active),
#sa-public-theme main .gallery-filter-btn:hover:not(.active),
#sa-public-theme main .gallery-filter-btn:focus-visible:not(.active),
#sa-public-theme main .sa-recent-filter:hover:not(.is-active),
#sa-public-theme main .sa-recent-filter:focus-visible:not(.is-active){
  background:#fff7f7!important;
  color:#741323!important;
  -webkit-text-fill-color:#741323!important;
  border-color:rgba(116,19,35,.42)!important;
  box-shadow:0 6px 16px rgba(116,19,35,.08)!important;
  transform:translateY(-1px)!important;
}
#sa-public-theme main .filter-btn.active,
#sa-public-theme main .filter-btn.active:hover,
#sa-public-theme main .filter-btn.active:focus-visible,
#sa-public-theme main .gallery-filter-btn.active,
#sa-public-theme main .gallery-filter-btn.active:hover,
#sa-public-theme main .gallery-filter-btn.active:focus-visible,
#sa-public-theme main .sa-recent-filter.is-active,
#sa-public-theme main .sa-recent-filter.is-active:hover,
#sa-public-theme main .sa-recent-filter.is-active:focus-visible{
  background:#741323!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#741323!important;
  box-shadow:0 8px 20px rgba(116,19,35,.20)!important;
  transform:none!important;
}
#sa-public-theme main .filter-btn::before,
#sa-public-theme main .filter-btn::after,
#sa-public-theme main .gallery-filter-btn::before,
#sa-public-theme main .gallery-filter-btn::after,
#sa-public-theme main .sa-recent-filter::before{
  content:none!important;
  display:none!important;
  animation:none!important;
}
#sa-public-theme main .sa-recent-filter:not(.is-filter-switching)::after{
  content:none!important;
  display:none!important;
  animation:none!important;
}

/* Public header aligns to the white canvas. Footer is not selected. */
#sa-public-theme .site-header,
#sa-public-theme .sa-wp-header,
#sa-public-theme .mobile-nav,
#sa-public-theme .sa-wp-mobile-nav,
#sa-public-theme .header-profile-menu{
  background:#ffffff!important;
  background-image:none!important;
  color:#180409!important;
  border-color:rgba(24,4,9,.10)!important;
  box-shadow:0 8px 28px rgba(24,4,9,.045)!important;
}
#sa-public-theme .site-header .nav a,
#sa-public-theme .site-header .brand-text,
#sa-public-theme .site-header .brand-text strong,
#sa-public-theme .site-header .brand-text small,
#sa-public-theme .site-header .nav-actions .plain,
#sa-public-theme .site-header .mobile-toggle,
#sa-public-theme .sa-wp-header .sa-wp-nav a,
#sa-public-theme .sa-wp-header .sa-wp-actions > a,
#sa-public-theme .sa-wp-header .sa-auth-open,
#sa-public-theme .mobile-nav a,
#sa-public-theme .sa-wp-mobile-nav a,
#sa-public-theme .header-profile-menu a,
#sa-public-theme .header-profile-menu button{
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}
#sa-public-theme .header-profile-trigger,
#sa-public-theme .header-bell,
#sa-public-theme .sa-auth-open,
#sa-public-theme .sa-boxed-login{
  background:#fffdf9!important;
  background-image:none!important;
  color:#180409!important;
  border-color:rgba(24,4,9,.16)!important;
  box-shadow:none!important;
}

/* Scroll progress */
#sa-public-theme .progress{background:#180409!important}

/* Homepage photographic hero is intentionally the only dark-photo stage. */
#sa-public-theme.page-index main .hero,
#sa-public-theme.home main .hero{
  color:#ffffff!important;
}
#sa-public-theme.page-index main .hero h1,
#sa-public-theme.page-index main .hero h2,
#sa-public-theme.page-index main .hero h3,
#sa-public-theme.page-index main .hero h4,
#sa-public-theme.page-index main .hero p,
#sa-public-theme.page-index main .hero .lead,
#sa-public-theme.page-index main .hero .eyebrow,
#sa-public-theme.page-index main .hero .sa-hero-kicker,
#sa-public-theme.page-index main .hero .sa-hero-kicker span,
#sa-public-theme.page-index main .hero .sa-hero-trust-copy,
#sa-public-theme.page-index main .hero .sa-hero-trust-copy strong,
#sa-public-theme.page-index main .hero .sa-premium-stat strong,
#sa-public-theme.page-index main .hero .sa-premium-stat small,
#sa-public-theme.page-index main .hero .scroll-indicator,
#sa-public-theme.home main .hero h1,
#sa-public-theme.home main .hero h2,
#sa-public-theme.home main .hero h3,
#sa-public-theme.home main .hero h4,
#sa-public-theme.home main .hero p,
#sa-public-theme.home main .hero .lead,
#sa-public-theme.home main .hero .eyebrow,
#sa-public-theme.home main .hero .sa-hero-kicker,
#sa-public-theme.home main .hero .sa-hero-kicker span,
#sa-public-theme.home main .hero .sa-hero-trust-copy,
#sa-public-theme.home main .hero .sa-hero-trust-copy strong,
#sa-public-theme.home main .hero .sa-premium-stat strong,
#sa-public-theme.home main .hero .sa-premium-stat small,
#sa-public-theme.home main .hero .scroll-indicator{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 2px 20px rgba(0,0,0,.22)!important;
}

/* Text that sits directly over photographs/lightboxes remains white. */
#sa-public-theme main .gallery-card figcaption,
#sa-public-theme main .gallery-card figcaption *,
#sa-public-theme main .masonry-caption,
#sa-public-theme main .masonry-caption *,
#sa-public-theme main .album-view-cover figcaption,
#sa-public-theme main .album-view-cover figcaption *,
#sa-public-theme main .album-editorial-gallery figcaption,
#sa-public-theme main .album-editorial-gallery figcaption *,
#sa-public-theme main .album-editorial-gallery-20 figcaption,
#sa-public-theme main .album-editorial-gallery-20 figcaption *,
#sa-public-theme main .gallery-lightbox,
#sa-public-theme main .gallery-lightbox *,
#sa-public-theme main .sa-album-lightbox,
#sa-public-theme main .sa-album-lightbox *,
#sa-public-theme main .auth-media,
#sa-public-theme main .auth-media *,
#sa-public-theme main .auth-caption,
#sa-public-theme main .auth-caption *{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 1px 12px rgba(0,0,0,.32)!important;
}

/* Testimonial system */
#sa-public-theme main .sa-testimonials-heading,
#sa-public-theme main .sa-testimonials-heading h2,
#sa-public-theme main .sa-testimonials-heading .eyebrow,
#sa-public-theme main .sa-testimonial-card,
#sa-public-theme main .sa-testimonial-card blockquote,
#sa-public-theme main .sa-testimonial-person-copy strong,
#sa-public-theme main .sa-testimonial-person-copy small{
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}
#sa-public-theme main .sa-testimonial-card{
  background:#fffdf9!important;
  background-image:none!important;
  border-color:rgba(24,4,9,.11)!important;
}
#sa-public-theme main .rating{color:#956014!important;-webkit-text-fill-color:#956014!important}

/* Native system cursor hierarchy. No custom/pulse/trail cursor. */
#sa-public-theme{cursor:default!important}
#sa-public-theme a[href],
#sa-public-theme a[href] *,
#sa-public-theme button,
#sa-public-theme button *,
#sa-public-theme [role="button"],
#sa-public-theme [role="button"] *,
#sa-public-theme summary,
#sa-public-theme summary *,
#sa-public-theme label[for],
#sa-public-theme label[for] *,
#sa-public-theme select,
#sa-public-theme input[type="button"],
#sa-public-theme input[type="submit"],
#sa-public-theme input[type="checkbox"],
#sa-public-theme input[type="radio"],
#sa-public-theme input[type="file"],
#sa-public-theme input[type="date"]{cursor:pointer!important}
#sa-public-theme input[type="text"],
#sa-public-theme input[type="email"],
#sa-public-theme input[type="password"],
#sa-public-theme input[type="search"],
#sa-public-theme input[type="tel"],
#sa-public-theme input[type="url"],
#sa-public-theme input[type="number"],
#sa-public-theme textarea,
#sa-public-theme [contenteditable="true"]{cursor:text!important}
#sa-public-theme [disabled],
#sa-public-theme [aria-disabled="true"]{cursor:not-allowed!important}

#sa-public-theme main ::selection{background:rgba(24,4,9,.15);color:#180409}



/* Audit pass: nested legacy panels and secondary components. */
#sa-public-theme main .premium-page-intro,
#sa-public-theme main .portfolio-intro,
#sa-public-theme main .services-intro{
  background:#fffdf9!important;
  background-image:none!important;
  color:#180409!important;
  border-color:rgba(24,4,9,.12)!important;
  box-shadow:0 14px 36px rgba(24,4,9,.065)!important;
}
#sa-public-theme main .premium-page-intro::after,
#sa-public-theme main .portfolio-intro::after,
#sa-public-theme main .services-intro::after{
  border-color:rgba(24,4,9,.10)!important;
}
#sa-public-theme main .premium-page-intro .eyebrow,
#sa-public-theme main .premium-page-intro h2,
#sa-public-theme main .premium-page-intro h3,
#sa-public-theme main .premium-page-intro p,
#sa-public-theme main .portfolio-intro .eyebrow,
#sa-public-theme main .portfolio-intro h2,
#sa-public-theme main .portfolio-intro h3,
#sa-public-theme main .portfolio-intro p,
#sa-public-theme main .services-intro .eyebrow,
#sa-public-theme main .services-intro h2,
#sa-public-theme main .services-intro h3,
#sa-public-theme main .services-intro p{
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}

/* Light account sidebar: old white links were unreadable after the palette switch. */
#sa-public-theme main .sidebar a,
#sa-public-theme main .sidebar button,
#sa-public-theme main .sidebar h1,
#sa-public-theme main .sidebar h2,
#sa-public-theme main .sidebar h3,
#sa-public-theme main .sidebar h4,
#sa-public-theme main .sidebar span{
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}
#sa-public-theme main .sidebar a:hover,
#sa-public-theme main .sidebar a.active,
#sa-public-theme main .sidebar a[aria-current="page"]{
  background:#ffffff!important;
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}

/* Album-detail labels/counts that previously retained white/low-contrast copy. */
#sa-public-theme.page-album-details .album-gallery-count,
#sa-public-theme.page-album-details .album-gallery-count span,
#sa-public-theme.page-album-details .album-spec-item > span{
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}
#sa-public-theme.page-album-details .album-gallery-count{
  border-color:rgba(24,4,9,.14)!important;
}
#sa-public-theme.page-album-details .album-view-cover{
  background:#fffdf9!important;
}
#sa-public-theme.page-album-details .album-view-cover::after{
  background:linear-gradient(to top,rgba(24,4,9,.72),transparent 48%)!important;
}
#sa-public-theme.page-album-details .album-view-cover > span{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 1px 10px rgba(0,0,0,.35)!important;
}
#sa-public-theme.page-album-details .album-editorial-gallery-20 .album-gallery-item,
#sa-public-theme.page-album-details .album-editorial-gallery .album-gallery-item{
  background:#fffdf9!important;
}

/* Gallery seal follows the light palette instead of introducing a dark circle. */
#sa-public-theme.page-gallery .hero-seal{
  background:#fffdf9!important;
  background-image:none!important;
  color:#180409!important;
  border-color:rgba(24,4,9,.14)!important;
  box-shadow:0 16px 36px rgba(24,4,9,.09)!important;
}
#sa-public-theme.page-gallery .hero-seal span,
#sa-public-theme.page-gallery .hero-seal strong,
#sa-public-theme.page-gallery .hero-seal small{
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}
#sa-public-theme.page-portfolio .masonry-item,
#sa-public-theme.page-gallery .gallery-card{
  background:#fffdf9!important;
}

/* Small UI surfaces and labels use the same two light surfaces. */
#sa-public-theme main .faq-icon,
#sa-public-theme main .legal-number,
#sa-public-theme main .journal-index,
#sa-public-theme main .badge,
#sa-public-theme main .service-card-badge,
#sa-public-theme main .icon,
#sa-public-theme main .sa-occasion-card,
#sa-public-theme main .sa-occasion-content,
#sa-public-theme main .sa-occasion-badge{
  background:#fffdf9!important;
  background-image:none!important;
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
  border-color:rgba(24,4,9,.12)!important;
}
#sa-public-theme main .breadcrumbs,
#sa-public-theme main .breadcrumbs a,
#sa-public-theme main .text-link,
#sa-public-theme main .album-back-link,
#sa-public-theme main .service-text-link,
#sa-public-theme main .badge,
#sa-public-theme main .service-card-badge,
#sa-public-theme main .legal-number,
#sa-public-theme main .price,
#sa-public-theme.page-index main .sa-occasion-meta,
#sa-public-theme.page-index main .sa-occasion-link{
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}
#sa-public-theme.page-index main .sa-occasion-card,
#sa-public-theme.page-index main .sa-occasion-content,
#sa-public-theme.page-index main .sa-occasion-media,
#sa-public-theme main .album-card-media,
#sa-public-theme main .service-card-media{
  background:#fffdf9!important;
}
#sa-public-theme.page-index main .why-signature-section .icon,
#sa-public-theme.page-index main .stat-card .icon{
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}

/* FAQ question controls: maroon header with white text for readable contrast. */
#sa-public-theme.page-faq main .faq-q{
  background:#741323!important;
  color:#FFFDF9!important;
  -webkit-text-fill-color:#FFFDF9!important;
  border-color:#741323!important;
}

/* Toasts use a light readable surface as well. */
#sa-public-theme .toast{
  background:#fffdf9!important;
  background-image:none!important;
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
  border:1px solid rgba(24,4,9,.14)!important;
  box-shadow:0 12px 28px rgba(24,4,9,.10)!important;
}



/* Responsive wave containment: legacy 320% tracks caused horizontal page scroll. */
#sa-public-theme main .sa-premium-wave{
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  contain:paint!important;
}
#sa-public-theme main .sa-premium-wave-track{
  width:100%!important;
  max-width:100%!important;
  transform:none!important;
  animation:none!important;
}
#sa-public-theme main .sa-premium-wave-track > svg{
  flex:0 0 50%!important;
  width:50%!important;
  max-width:50%!important;
}



/* Remove legacy oversized decorative section orb; it caused mobile horizontal overflow. */
#sa-public-theme main > .section:nth-of-type(even)::before,
#sa-public-theme main > .section-sm:nth-of-type(even)::before{
  content:none!important;
  display:none!important;
  background:none!important;
}

/* Footer intentionally has no color/background/button override in this layer. */


/* v2.8.7.48 — restore homepage studio bridge to its original floating position.
   The bridge itself must stay transparent so the -118px desktop overlap reveals
   the hero behind it; only the inner card owns the light surface. */
#sa-public-theme.page-index main > section.studio-bridge{
  background:transparent!important;
  background-image:none!important;
}

/* =========================================================
   v2.8.7.52 — PREMIUM FLOATING NAVIGATION HEADER — REFERENCE PALETTE
   Canonical public header component using the approved reference palette: #790a20 accent, #29090d copy, #f8f0f0 blush, #fffdfc surface.
   This scope intentionally changes only header/navigation UI.
   ========================================================= */
#sa-public-theme .site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:10000!important;
  padding:10px 0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  isolation:isolate;
}
#sa-public-theme .site-header .container.nav-wrap{
  width:min(calc(100% - 40px),1420px)!important;
  max-width:1420px!important;
  min-height:70px!important;
  margin:0 auto!important;
  padding:8px 16px 8px 18px!important;
  display:grid!important;
  grid-template-columns:minmax(250px,1fr) auto minmax(300px,1fr)!important;
  align-items:center!important;
  gap:20px!important;
  overflow:visible!important;
  background:transparent!important;
  background-image:none!important;
  border:1px solid transparent!important;
  border-radius:22px!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  filter:none!important;
  transition:background-color .34s cubic-bezier(.22,.8,.24,1),border-color .34s cubic-bezier(.22,.8,.24,1),box-shadow .34s cubic-bezier(.22,.8,.24,1)!important;
}
#sa-public-theme .site-header.is-scrolled .container.nav-wrap{
  background:#fffdfc!important;
  border-color:rgba(121,10,32,.12)!important;
  box-shadow:0 16px 46px rgba(41,9,13,.085),0 2px 8px rgba(121,10,32,.03)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  filter:none!important;
}

/* Brand */
#sa-public-theme .site-header .brand{
  justify-self:start!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:0 4px!important;
  color:#29090d!important;
  text-decoration:none!important;
}
#sa-public-theme .site-header .brand img{
  width:46px!important;
  height:52px!important;
  object-fit:contain!important;
  flex:0 0 auto!important;
  filter:none!important;
  image-rendering:auto!important;
}
#sa-public-theme .site-header .brand-text{
  min-width:0!important;
  line-height:1.04!important;
}
#sa-public-theme .site-header .brand-text strong{
  display:block!important;
  margin:0!important;
  color:#29090d!important;
  -webkit-text-fill-color:#29090d!important;
  font-family:var(--font)!important;
  font-size:1.08rem!important;
  font-weight:700!important;
  letter-spacing:-.015em!important;
  white-space:nowrap!important;
}
#sa-public-theme .site-header .brand-text small{
  display:block!important;
  margin-top:5px!important;
  color:#29090d!important;
  -webkit-text-fill-color:#29090d!important;
  opacity:.70!important;
  font-family:var(--font)!important;
  font-size:.55rem!important;
  font-weight:560!important;
  letter-spacing:.12em!important;
  line-height:1!important;
  text-transform:none!important;
  white-space:nowrap!important;
}

/* Desktop navigation */
#sa-public-theme .site-header .nav{
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  gap:4px!important;
  white-space:nowrap!important;
}
#sa-public-theme .site-header .nav a{
  position:relative!important;
  filter:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:10px 15px 12px!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#29090d!important;
  -webkit-text-fill-color:#29090d!important;
  font-family:"Google Sans Flex",Arial,sans-serif!important;
  font-size:.86rem!important;
  font-weight:560!important;
  letter-spacing:-.01em!important;
  line-height:1!important;
  text-decoration:none!important;
  transition:background .20s ease,color .20s ease!important;
}
#sa-public-theme .site-header .nav a::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:5px!important;
  width:0!important;
  height:3px!important;
  border-radius:999px!important;
  background:#790a20!important;
  transform:translateX(-50%)!important;
  transition:width .22s ease!important;
}
#sa-public-theme .site-header .nav a:hover,
#sa-public-theme .site-header .nav a:focus-visible{
  background:#fbf5f5!important;
  color:#29090d!important;
}
#sa-public-theme .site-header .nav a.active,
#sa-public-theme .site-header .nav a[aria-current="page"]{
  background:#f8f0f0!important;
  color:#29090d!important;
  font-weight:700!important;
  box-shadow:inset 0 0 0 1px rgba(121,10,32,.045)!important;
}
#sa-public-theme .site-header .nav a.active::after,
#sa-public-theme .site-header .nav a[aria-current="page"]::after{
  width:32px!important;
}

/* Right-side account cluster */
#sa-public-theme .site-header .nav-actions{
  justify-self:end!important;
  min-width:max-content!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  padding-left:20px!important;
  border-left:1px solid rgba(121,10,32,.11)!important;
  overflow:visible!important;
}
#sa-public-theme .site-header .header-account{
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
#sa-public-theme .site-header .header-bell{
  position:relative!important;
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(121,10,32,.12)!important;
  border-radius:50%!important;
  background:#f8f0f0!important;
  background-image:none!important;
  color:#29090d!important;
  box-shadow:0 7px 18px rgba(41,9,13,.05)!important;
  transition:box-shadow .2s ease,border-color .2s ease!important;
}
#sa-public-theme .site-header .header-bell:hover,
#sa-public-theme .site-header .header-bell:focus-visible{
  border-color:rgba(121,10,32,.26)!important;
  box-shadow:0 10px 24px rgba(41,9,13,.08)!important;
}
#sa-public-theme .site-header .header-bell svg{
  width:20px!important;
  height:20px!important;
  stroke-width:1.75!important;
}
#sa-public-theme .site-header .header-bell b{
  top:-5px!important;
  right:-4px!important;
  min-width:19px!important;
  height:19px!important;
  padding:0 4px!important;
  border:2px solid #fffdfc!important;
  border-radius:999px!important;
  background:#790a20!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  font:700 10px/15px Arial,sans-serif!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
#sa-public-theme .site-header .header-profile-trigger{
  min-width:0!important;
  max-width:245px!important;
  min-height:50px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:5px 12px 5px 6px!important;
  border:1px solid rgba(121,10,32,.12)!important;
  border-radius:999px!important;
  background:#f8f0f0!important;
  background-image:none!important;
  color:#29090d!important;
  box-shadow:0 7px 18px rgba(41,9,13,.045)!important;
  transition:box-shadow .2s ease,border-color .2s ease!important;
}
#sa-public-theme .site-header .header-profile-trigger:hover,
#sa-public-theme .site-header .header-profile-trigger:focus-visible{
  border-color:rgba(121,10,32,.22)!important;
  box-shadow:0 10px 24px rgba(41,9,13,.075)!important;
}
#sa-public-theme .site-header .header-avatar{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:50%!important;
  background:#f8f0f0!important;
  box-shadow:inset 0 0 0 1px rgba(121,10,32,.055)!important;
}
#sa-public-theme .site-header .header-user-copy{
  display:flex!important;
  min-width:0!important;
  max-width:145px!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  line-height:1.05!important;
}
#sa-public-theme .site-header .header-user-copy strong{
  display:block!important;
  max-width:145px!important;
  overflow:hidden!important;
  color:#29090d!important;
  -webkit-text-fill-color:#29090d!important;
  font-size:.78rem!important;
  font-weight:700!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#sa-public-theme .site-header .header-user-copy small{
  display:block!important;
  margin-top:4px!important;
  color:#29090d!important;
  -webkit-text-fill-color:#29090d!important;
  opacity:.62!important;
  font-size:.62rem!important;
  font-weight:500!important;
}
#sa-public-theme .site-header .header-chevron{
  width:16px!important;
  height:16px!important;
  margin-left:2px!important;
  flex:0 0 16px!important;
  stroke:#29090d!important;
  transition:transform .2s ease!important;
}
#sa-public-theme .site-header .header-account.open .header-chevron{
  transform:rotate(180deg)!important;
}
#sa-public-theme .site-header .header-profile-menu{
  width:238px!important;
  padding:9px!important;
  border:1px solid rgba(121,10,32,.10)!important;
  border-radius:18px!important;
  background:#fffdfc!important;
  color:#29090d!important;
  box-shadow:0 20px 55px rgba(41,9,13,.12)!important;
}
#sa-public-theme .site-header .header-profile-menu::before{
  right:28px!important;
  background:#fffdfc!important;
  border-color:rgba(121,10,32,.10)!important;
}
#sa-public-theme .site-header .header-profile-menu a:hover,
#sa-public-theme .site-header .header-profile-menu button:hover{
  background:#f8f0f0!important;
}

/* Logged-out action uses the same calm pill language. */
#sa-public-theme .site-header .nav-actions>.sa-boxed-login,
#sa-public-theme .site-header .nav-actions>.plain.sa-auth-open{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px 18px!important;
  border:1px solid rgba(121,10,32,.12)!important;
  border-radius:999px!important;
  background:#f8f0f0!important;
  color:#29090d!important;
  -webkit-text-fill-color:#29090d!important;
  font-size:.82rem!important;
  font-weight:700!important;
  text-decoration:none!important;
  box-shadow:0 7px 18px rgba(41,9,13,.04)!important;
}

/* Mobile / tablet keeps the existing drawer behaviour but matches the new shell. */
@media(max-width:1180px){
  #sa-public-theme .site-header .container.nav-wrap{
    grid-template-columns:minmax(215px,1fr) auto minmax(245px,1fr)!important;
    gap:12px!important;
  }
  #sa-public-theme .site-header .nav a{padding-left:10px!important;padding-right:10px!important;font-size:.80rem!important}
  #sa-public-theme .site-header .header-user-copy{max-width:112px!important}
  #sa-public-theme .site-header .header-user-copy strong{max-width:112px!important}
  #sa-public-theme .site-header .header-profile-trigger{max-width:205px!important}
}
@media(max-width:1080px){
  :root{--sa-album-header-height:78px;--sa-public-header-height:78px}
  #sa-public-theme .site-header{padding:8px 0!important}
  #sa-public-theme .site-header .container.nav-wrap{
    width:min(calc(100% - 24px),1420px)!important;
    min-height:62px!important;
    padding:7px 10px 7px 14px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    border-radius:18px!important;
  }
  #sa-public-theme .site-header .nav{display:none!important}
  #sa-public-theme .site-header .nav-actions{padding-left:12px!important;gap:8px!important}
  #sa-public-theme .site-header .brand img{width:38px!important;height:44px!important}
  #sa-public-theme .site-header .brand-text strong{font-size:.98rem!important}
  #sa-public-theme .site-header .header-bell{display:none!important}
  #sa-public-theme .site-header .header-user-copy{display:none!important}
  #sa-public-theme .site-header .header-profile-trigger{min-height:42px!important;padding:3px 7px 3px 3px!important}
  #sa-public-theme .site-header .header-avatar{width:34px!important;height:34px!important;flex-basis:34px!important}
  #sa-public-theme .site-header .mobile-toggle{
    width:42px!important;height:42px!important;flex:0 0 42px!important;
    display:grid!important;place-items:center!important;margin:0!important;
    border:1px solid rgba(121,10,32,.12)!important;border-radius:50%!important;
    background:#f8f0f0!important;color:#29090d!important;font-size:1.15rem!important;
  }
  #sa-public-theme .site-header .mobile-nav{
    top:82px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    padding:10px!important;
    border:1px solid rgba(121,10,32,.10)!important;
    border-radius:18px!important;
    background:#fffdfc!important;
    box-shadow:0 18px 48px rgba(41,9,13,.12)!important;
  }
  #sa-public-theme .site-header .mobile-nav a{
    border-radius:12px!important;
  }
  #sa-public-theme .site-header .mobile-nav a.active{
    background:#f8f0f0!important;
    font-weight:700!important;
  }
}
@media(max-width:600px){
  #sa-public-theme .site-header .container.nav-wrap{width:calc(100% - 16px)!important;padding-left:10px!important}
  #sa-public-theme .site-header .brand{gap:8px!important}
  #sa-public-theme .site-header .brand img{width:34px!important;height:39px!important}
  #sa-public-theme .site-header .brand-text strong{font-size:.88rem!important}
  #sa-public-theme .site-header .brand-text small{font-size:.47rem!important;letter-spacing:.19em!important}
  #sa-public-theme .site-header .nav-actions{border-left:0!important;padding-left:0!important}
  #sa-public-theme .site-header .nav-actions>.sa-boxed-login,
  #sa-public-theme .site-header .nav-actions>.plain.sa-auth-open{min-height:38px!important;padding:7px 12px!important;font-size:.76rem!important}
  #sa-public-theme .site-header .mobile-toggle{width:38px!important;height:38px!important;flex-basis:38px!important}
}

/* =========================================================
   v2.8.7.53 — APPROVED WHY SIGNATURE ALBUM REDESIGN
   Dedicated component: website typography, ivory editorial stage,
   three responsive material cards: Premium Printing, Handcrafted Quality, Luxury Finishing.
   ========================================================= */
#sa-public-theme.page-index main > .sa-why-v53-section,
body.home #sa-public-theme main > .sa-why-v53-section,
body.home main > .sa-why-v53-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  padding:clamp(76px,7.4vw,118px) 0 clamp(80px,7.8vw,124px)!important;
  background:#fffdf9 url("../images/why-v53/why-lines.svg") center/cover no-repeat!important;
  color:#180409!important;
}
.sa-why-v53-inner{position:relative;z-index:2}
.sa-why-v53-head{
  max-width:none;
  width:100%;
  margin:0 0 clamp(38px,4vw,58px);
  text-align:left;
}
.sa-why-v53-eyebrow{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:20px;
  margin:0 0 20px;
  color:#6f3617!important;
  font-family:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;
  font-size:clamp(.73rem,.95vw,.88rem);
  font-weight:620;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.sa-why-v53-eyebrow span{width:54px;height:1px;background:rgba(183,131,47,.58)}
.sa-why-v53-head h2{
  margin:0!important;
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
  font-family:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;
  font-weight:620!important;
  line-height:.98!important;
  letter-spacing:-.058em!important;
  text-wrap:balance;
}
.sa-why-v53-head h2 span{color:inherit!important;-webkit-text-fill-color:inherit!important}
.sa-why-v53-divider{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  margin-top:28px;
  color:#c58c32;
}
.sa-why-v53-divider i{display:block;width:146px;max-width:18vw;height:1px;background:linear-gradient(90deg,transparent,#cda251)}
.sa-why-v53-divider i:last-child{background:linear-gradient(90deg,#cda251,transparent)}
.sa-why-v53-divider b{font-size:22px;line-height:1;font-weight:500;color:#d19a3f!important;-webkit-text-fill-color:#d19a3f!important}
/* Why Signature Album — approved Demo 1 / Service-page editorial card design.
   Card-only rules; homepage heading, grid area, adjacent sections, fonts and layout logic are preserved. */
.sa-why-v53-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;align-items:stretch}
#sa-public-theme .sa-why-v53-card{
  position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;
  border-radius:22px!important;background:#f8f5f3!important;
  border:1px solid rgba(75,19,29,.14)!important;
  box-shadow:0 14px 40px rgba(24,4,9,.09)!important;
  transform:none!important;
  transition:border-color .3s ease,box-shadow .3s ease!important;
}
#sa-public-theme .sa-why-v53-card:hover,#sa-public-theme .sa-why-v53-card:focus-within{
  transform:none!important;border-color:rgba(116,19,35,.32)!important;
  box-shadow:0 22px 54px rgba(24,4,9,.15)!important;
}
#sa-public-theme .sa-why-v53-card::before,#sa-public-theme .sa-why-v53-card::after{content:none!important;display:none!important}
#sa-public-theme .sa-why-v53-media{
  position:relative;display:block;overflow:hidden;flex:none;width:100%;aspect-ratio:4/3;
  border-radius:21px 21px 20px 20px;background:#e7ddd2;
}
#sa-public-theme .sa-why-v53-media::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:38%;pointer-events:none;
  background:linear-gradient(0deg,rgba(24,4,9,.15),transparent);
}
#sa-public-theme .sa-why-v53-media img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center;
  transition:transform .55s cubic-bezier(.22,1,.36,1),filter .4s ease!important;
}
#sa-public-theme .sa-why-v53-card:hover .sa-why-v53-media img,
#sa-public-theme .sa-why-v53-card:focus-within .sa-why-v53-media img{
  transform:scale(1.035)!important;filter:saturate(.96);
}
#sa-public-theme .sa-why-v53-card .sa-why-v53-icon{
  position:absolute;left:17px;bottom:15px;z-index:1;
  display:grid;place-items:center;width:51px;height:51px;margin:0!important;
  border-radius:50%;background:#741323!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border:1px solid rgba(255,255,255,.34)!important;
  box-shadow:0 7px 23px rgba(40,9,15,.2)!important;
}
#sa-public-theme .sa-why-v53-icon svg{
  width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
}
#sa-public-theme .sa-why-v53-card-body{
  position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;
  flex:1;min-width:0;min-height:0;padding:22px 22px 21px!important;
  background:transparent!important;
}
#sa-public-theme .sa-why-v53-kicker{
  display:inline-flex;align-self:flex-start;align-items:center;margin:0 0 0!important;
  padding:8px 14px;border:1px solid rgba(75,19,29,.14);border-radius:999px;
  background:#eee2d4;color:#180409!important;-webkit-text-fill-color:#180409!important;
  font:700 10px/1.15 var(--font)!important;letter-spacing:.055em;text-transform:uppercase;
}
#sa-public-theme .sa-why-v53-kicker::before{content:none!important;display:none!important}
#sa-public-theme .sa-why-v53-card h3{
  max-width:none;margin:17px 0 10px!important;
  color:#180409!important;-webkit-text-fill-color:#180409!important;
  font:720 clamp(25px,2.3vw,32px)/1.12 var(--font)!important;
  letter-spacing:-.045em!important;
}
#sa-public-theme .sa-why-v53-quote{
  max-width:32ch;margin:0 0 25px!important;
  color:#655c58!important;-webkit-text-fill-color:#655c58!important;
  font:400 14px/1.65 var(--font)!important;letter-spacing:0!important;
}
#sa-public-theme .sa-why-v53-footer{
  display:flex;gap:10px;align-items:center;justify-content:space-between;
  margin-top:auto;padding-top:16px;border-top:1px solid rgba(75,19,29,.14);
}
#sa-public-theme .sa-why-v53-footer-note{
  color:#756c69;font:700 10px/1.5 var(--font);letter-spacing:.075em;text-transform:uppercase;
}
#sa-public-theme .sa-why-v53-details{
  display:inline-flex;position:relative;align-items:center;gap:7px;flex-shrink:0;
  border:0;background:transparent;padding:4px 0 5px;
  color:#180409;font:700 12.5px/1.2 var(--font)!important;
  white-space:nowrap;cursor:pointer;
}
#sa-public-theme .sa-why-v53-details::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:right;transition:transform .28s ease;
}
#sa-public-theme .sa-why-v53-details:hover::after,#sa-public-theme .sa-why-v53-details:focus-visible::after{transform:scaleX(1);transform-origin:left}
#sa-public-theme .sa-why-v53-details b{font-size:17px;font-weight:450;transition:transform .25s ease}
#sa-public-theme .sa-why-v53-details:hover b,#sa-public-theme .sa-why-v53-details:focus-visible b{transform:translate(2px,-2px)}
#sa-public-theme .sa-why-v53-details:focus-visible,#sa-public-theme .sa-why-v53-dialog-close:focus-visible{outline:2px solid #741323;outline-offset:3px}

/* Native detail dialog from approved demo. Scope to these three cards only. */
#sa-public-theme .sa-why-v53-dialog{
  position:fixed;inset:0;margin:auto;padding:20px;width:calc(100% - 24px);max-width:520px;
  border:0;background:transparent;color:#180409;max-height:calc(100dvh - 24px);overflow:auto;
}
#sa-public-theme .sa-why-v53-dialog::backdrop{background:rgba(15,6,8,.55);backdrop-filter:blur(3px)}
#sa-public-theme .sa-why-v53-dialog-inner{
  padding:25px 25px 27px;border:1px solid rgba(75,19,29,.14);
  border-radius:21px;background:#f8f5f3;box-shadow:0 20px 80px rgba(0,0,0,.24);
}
#sa-public-theme .sa-why-v53-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
#sa-public-theme .sa-why-v53-dialog-kicker{font:800 10px/1.2 var(--font);letter-spacing:.2em;color:#741323;text-transform:uppercase}
#sa-public-theme .sa-why-v53-dialog-close{
  display:grid;place-items:center;width:36px;height:36px;border-radius:50%;flex-shrink:0;
  border:1px solid rgba(75,19,29,.14);background:transparent;color:#180409;cursor:pointer;
}
#sa-public-theme .sa-why-v53-dialog h2{font:720 29px/1.2 var(--font)!important;letter-spacing:-.03em;margin:19px 0 12px!important;color:#180409!important}
#sa-public-theme .sa-why-v53-dialog p{margin:0!important;font:400 15px/1.6 var(--font);color:#655c58!important}
@media(max-width:1080px){.sa-why-v53-grid{gap:16px}}
@media(max-width:900px){
  #sa-public-theme .sa-why-v53-media{aspect-ratio:1.18}
  #sa-public-theme .sa-why-v53-card-body{padding:18px!important}
  #sa-public-theme .sa-why-v53-card h3{font-size:25px!important}
  #sa-public-theme .sa-why-v53-footer-note{max-width:50%}
}
@media(max-width:700px){
  .sa-why-v53-grid{grid-template-columns:1fr;gap:20px;max-width:440px;margin-inline:auto}
  #sa-public-theme .sa-why-v53-media{aspect-ratio:1.28}
  #sa-public-theme .sa-why-v53-card-body{padding:19px 20px 20px!important}
  #sa-public-theme .sa-why-v53-card h3{font-size:28px!important}
  #sa-public-theme .sa-why-v53-quote{max-width:none}
}
@media(prefers-reduced-motion:reduce){
  #sa-public-theme .sa-why-v53-card,#sa-public-theme .sa-why-v53-media img,
  #sa-public-theme .sa-why-v53-details::after,#sa-public-theme .sa-why-v53-details b{transition:none!important}
}

/* =========================================================
   v2.8.7.97 — Recent Posts crisp circular rendering + edge fade
   Circular path/drag controller remains unchanged. Fade uses real white overlay
   layers instead of a parent mask so text/media stay DOM-crisp while rotating.
   ========================================================= */
.sa-recent-posts-section{
  --sa-recent-card-w:427.68px;
  --sa-recent-empty-y:547px;
  --sa-recent-half-card-w:213.84px;
  --sa-recent-card-h:550px;
  position:relative;
  min-height:1240px;
  min-height:max(1240px,100vh);
  padding:30px 0 26px!important;
  overflow:hidden;
  isolation:isolate;
  background:#ffffff!important;
}
.sa-recent-posts-section::before{
  content:"";
  position:absolute;
  z-index:0;
  width:clamp(460px,31vw,640px);
  aspect-ratio:1;
  left:-7%;
  top:42px;
  border:1px solid rgba(116,19,35,.035);
  border-radius:50%;
  background:rgba(255,253,249,.46);
  box-shadow:inset 0 0 90px rgba(116,19,35,.018);
  pointer-events:none;
}
.sa-recent-posts-inner{position:relative;z-index:1;max-width:none!important;width:100%!important;padding:0!important}
.sa-recent-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sa-recent-intro{
  position:absolute;
  z-index:8;
  top:clamp(30px,3.6vw,56px);
  left:50%;
  width:min(calc(100% - 48px),var(--max));
  transform:translateX(-50%);
  text-align:left;
  pointer-events:none;
}
.sa-recent-intro-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 0 14px;
  color:#741323;
  font:700 12px/1.2 var(--font);
  letter-spacing:.22em;
}
.sa-recent-intro h2{
  margin:0!important;
  color:#180409!important;
  font-family:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;
  font-weight:700!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
.sa-recent-intro p{
  max-width:620px;
  margin:18px 0 0!important;
  color:#4b403b!important;
  font:400 16px/1.55 var(--font)!important;
  letter-spacing:0!important;
}
.sa-recent-posts-grid{
  --sa-recent-edge-fade:clamp(220px,15vw,360px);
  position:relative;
  z-index:2;
  width:100vw;
  height:1090px;
  margin:0 calc(50% - 50vw);
  overflow:hidden;
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
  outline:none;
  contain:layout;
  background:#ffffff;
}
.sa-recent-posts-grid::before,
.sa-recent-posts-grid::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:var(--sa-recent-edge-fade);
  z-index:500;
  pointer-events:none;
}
.sa-recent-posts-grid::before{
  left:0;
  background:linear-gradient(90deg,#ffffff 0%,rgba(255,255,255,.995) 22%,rgba(255,255,255,.96) 44%,rgba(255,255,255,.82) 62%,rgba(255,255,255,.52) 80%,rgba(255,255,255,.18) 92%,rgba(255,255,255,0) 100%);
}
.sa-recent-posts-grid::after{
  right:0;
  background:linear-gradient(270deg,#ffffff 0%,rgba(255,255,255,.995) 22%,rgba(255,255,255,.96) 44%,rgba(255,255,255,.82) 62%,rgba(255,255,255,.52) 80%,rgba(255,255,255,.18) 92%,rgba(255,255,255,0) 100%);
}
.sa-recent-posts-grid:focus-visible{outline:2px solid rgba(24,4,9,.18);outline-offset:-3px}
#sa-public-theme .sa-recent-posts-grid{cursor:default!important}
#sa-public-theme .sa-recent-posts-grid .sa-recent-post-card,
#sa-public-theme .sa-recent-posts-grid .sa-recent-post-card *{cursor:grab!important}
#sa-public-theme .sa-recent-posts-grid.is-dragging .sa-recent-post-card,
#sa-public-theme .sa-recent-posts-grid.is-dragging .sa-recent-post-card *{cursor:grabbing!important}
.sa-recent-post-card,
.sa-recent-post-skeleton{
  --sa-recent-angle:0deg;
  --sa-recent-opacity:1;
  position:absolute;
  left:0;
  top:0;
  width:var(--sa-recent-card-w);
  height:var(--sa-recent-card-h);
  margin:0;
  transform:rotate(var(--sa-recent-angle));
  transform-origin:50% 50%;
  opacity:var(--sa-recent-opacity);
}
/* v2.8.7.131 — reload-stable Recent Posts arc geometry.
   First-paint skeleton coordinates match the exact circle equation used by JS.
   Geometry constants live on the section so CSS first paint and JS runtime use
   the same responsive source instead of jumping between two unrelated arcs. */
.sa-recent-posts-section{
  --sa-recent-radius:4290;
  --sa-recent-spacing:510;
  --sa-recent-center-top:272px;
  --sa-recent-x1:509px;
  --sa-recent-x2:1010px;
  --sa-recent-y1:302px;
  --sa-recent-y2:393px;
  --sa-recent-angle1:6.811deg;
  --sa-recent-angle2:13.623deg;
}
.sa-recent-post-skeleton:nth-child(1){left:calc(50% - var(--sa-recent-x2) - var(--sa-recent-half-card-w));top:var(--sa-recent-y2);--sa-recent-angle:calc(-1 * var(--sa-recent-angle2))}
.sa-recent-post-skeleton:nth-child(2){left:calc(50% - var(--sa-recent-x1) - var(--sa-recent-half-card-w));top:var(--sa-recent-y1);--sa-recent-angle:calc(-1 * var(--sa-recent-angle1))}
.sa-recent-post-skeleton:nth-child(3){left:calc(50% - var(--sa-recent-half-card-w));top:var(--sa-recent-center-top);--sa-recent-angle:0deg}
.sa-recent-post-skeleton:nth-child(4){left:calc(50% + var(--sa-recent-x1) - var(--sa-recent-half-card-w));top:var(--sa-recent-y1);--sa-recent-angle:var(--sa-recent-angle1)}
.sa-recent-post-skeleton:nth-child(5){left:calc(50% + var(--sa-recent-x2) - var(--sa-recent-half-card-w));top:var(--sa-recent-y2);--sa-recent-angle:var(--sa-recent-angle2)}
@media(max-width:1599.98px){.sa-recent-posts-section{--sa-recent-radius:3802.5;--sa-recent-spacing:489;--sa-recent-center-top:272px;--sa-recent-x1:488px;--sa-recent-x2:967px;--sa-recent-y1:304px;--sa-recent-y2:398px;--sa-recent-angle1:7.368deg;--sa-recent-angle2:14.736deg}}
@media(max-width:1199.98px){.sa-recent-posts-section{--sa-recent-radius:3380;--sa-recent-spacing:460;--sa-recent-center-top:272px;--sa-recent-x1:459px;--sa-recent-x2:909px;--sa-recent-y1:303px;--sa-recent-y2:396px;--sa-recent-angle1:7.798deg;--sa-recent-angle2:15.595deg}}
@media(max-width:899.98px){.sa-recent-posts-section{--sa-recent-radius:3510;--sa-recent-spacing:454;--sa-recent-center-top:272px;--sa-recent-x1:453px;--sa-recent-x2:898px;--sa-recent-y1:301px;--sa-recent-y2:389px;--sa-recent-angle1:7.411deg;--sa-recent-angle2:14.822deg}}
@media(max-width:699.98px){.sa-recent-posts-section{--sa-recent-center-top:260px;--sa-recent-y1:289px;--sa-recent-y2:377px}}
@media(max-width:599.98px){.sa-recent-posts-section{--sa-recent-radius:3185;--sa-recent-spacing:411;--sa-recent-center-top:260px;--sa-recent-x1:410px;--sa-recent-x2:813px;--sa-recent-y1:286px;--sa-recent-y2:365px;--sa-recent-angle1:7.394deg;--sa-recent-angle2:14.787deg}}
/* Homepage Recent Post card surface — matches the existing Services editorial card.
   Position/rotate/size and all arc movement are deliberately defined elsewhere. */
.sa-recent-post-card{
  display:flex;
  flex-direction:column;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(75,19,29,.12)!important;
  border-radius:22px;
  background:#f8f5f3!important;
  box-shadow:0 14px 40px rgba(24,4,9,.10)!important;
  color:#180409!important;
  filter:none!important;
}
.sa-recent-post-card:hover,.sa-recent-post-card:focus-visible{
  border-color:rgba(75,19,29,.26)!important;
  box-shadow:0 22px 54px rgba(24,4,9,.15)!important;
}
/* v2.8.7.103 — overlap-based Cinematic Arc Focus.
   Old and new card sets coexist briefly, so there is no blank DOM frame or
   recenter jump between exit and entry. Only compositor-friendly properties animate. */
.sa-recent-post-card.sa-filter-old{pointer-events:none!important}
.sa-recent-post-card.sa-filter-preenter{opacity:0!important;pointer-events:none!important}
.sa-recent-post-card.is-filter-leaving{
  pointer-events:none!important;
  will-change:opacity,translate,scale;
  animation:sa-recent-filter-card-out .38s cubic-bezier(.32,.02,.2,1) both;
  animation-delay:var(--sa-filter-delay,0ms);
}
.sa-recent-post-card.is-filter-entering{
  pointer-events:none!important;
  will-change:opacity,translate,scale;
  animation:sa-recent-filter-card-in .52s cubic-bezier(.16,1,.3,1) both;
  animation-delay:var(--sa-filter-delay,0ms);
}
@keyframes sa-recent-filter-card-out{
  from{opacity:1;translate:0 0;scale:1}
  to{opacity:0;translate:var(--sa-filter-out-x,0px) var(--sa-filter-out-y,12px);scale:.986}
}
@keyframes sa-recent-filter-card-in{
  from{opacity:0;translate:var(--sa-filter-in-x,0px) var(--sa-filter-in-y,16px);scale:.988}
  to{opacity:1;translate:0 0;scale:1}
}
#sa-public-theme main .sa-recent-filter{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
#sa-public-theme main .sa-recent-filter.is-filter-switching::after{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:2;
  top:-45%;
  bottom:-45%;
  left:-44%;
  width:34%;
  pointer-events:none;
  border-radius:999px;
  background:linear-gradient(105deg,rgba(255,255,255,0),rgba(255,255,255,.58),rgba(255,255,255,0));
  transform:skewX(-18deg) translateX(-240%);
  animation:sa-recent-filter-light-sweep .56s cubic-bezier(.22,.72,.22,1) both!important;
}
@keyframes sa-recent-filter-light-sweep{
  0%{transform:skewX(-18deg) translateX(-240%);opacity:0}
  18%{opacity:.85}
  100%{transform:skewX(-18deg) translateX(520%);opacity:0}
}
.sa-recent-posts-grid.is-dragging .sa-recent-post-card,
.sa-recent-posts-grid.is-moving .sa-recent-post-card{transition:box-shadow .15s ease;will-change:transform}
.sa-recent-post-media{position:relative;width:100%;height:285px;flex:0 0 285px;overflow:hidden;border-radius:21px 21px 18px 18px;background:#eae2da}
/* Service-card bottom photo treatment; a non-interactive overlay above images only. */
.sa-recent-post-media::after{
  content:"";position:absolute;inset:auto 0 0;height:28%;z-index:1;
  background:linear-gradient(180deg,transparent,rgba(24,4,9,.10));pointer-events:none;
}
.sa-recent-post-media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none;transition:transform .55s cubic-bezier(.22,1,.36,1),filter .4s ease}
.sa-recent-post-card:hover .sa-recent-post-media img{transform:scale(1.035);filter:saturate(.96)}
.sa-recent-post-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#741323;background:linear-gradient(145deg,#fff,#f4efeb)}
.sa-recent-post-placeholder svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.5}
.sa-recent-post-type{display:block;margin:0 0 13px;color:#741323;font:500 12px/1.2 var(--font);letter-spacing:0}
.sa-recent-post-new{position:absolute;top:12px;right:12px;z-index:2;padding:6px 9px;border-radius:999px;background:#741323;color:#fff;font:650 9.5px/1 var(--font);letter-spacing:.03em;text-transform:uppercase}
.sa-recent-post-play{position:absolute;left:50%;top:50%;z-index:2;width:48px;height:48px;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.84);border-radius:50%;background:rgba(24,4,9,.68);color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.16)}
.sa-recent-post-play svg{width:18px;height:18px;fill:currentColor;stroke:none;margin-left:2px}
.sa-recent-post-body{display:flex;min-height:0;flex:1;flex-direction:column;padding:20px 21px 21px}

/* v2.8.7.147 — line-by-line hover audit: compositor-only invitation reveal.
   Root cause: the previous effect animated height + flex-basis + max-height + padding +
   flex-grow while the video was decoding/repainting, forcing repeated layout/repaint on
   every animation frame. It also reset currentTime immediately during the retract.
   The visual effect is preserved without changing card layout: a full-card absolute
   video layer expands from the exact media boundary via clip-path, while the body only
   fades. This keeps the original 'content hides / video fills card' behavior but removes
   the layout thrash and frame-reset flash that caused the visible shimmer. */
.sa-recent-invitation-preview{
  position:absolute;
  inset:0;
  z-index:7;
  display:block;
  width:100%;
  height:100%;
  border-radius:21px;
  object-fit:cover;
  background:#180409;
  opacity:0;
  clip-path:inset(0 0 var(--sa-preview-bottom,calc(100% - 285px)) 0 round 21px 21px 18px 18px);
  pointer-events:none;
  will-change:clip-path,opacity;
  transform:translateZ(0);
  backface-visibility:hidden;
  transition:clip-path .34s cubic-bezier(.2,.7,.2,1),opacity .18s ease;
}
.sa-video-toggle{
  position:absolute;left:50%;top:50%;z-index:11;width:58px;height:58px;display:grid;place-items:center;
  transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.88);border-radius:999px;
  background:rgba(24,4,9,.58);color:#fff;box-shadow:0 6px 22px rgba(0,0,0,.18);
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);cursor:pointer!important;
  opacity:1;transition:opacity .18s ease,transform .24s ease,background .2s ease;
}
.sa-video-toggle svg{display:block;width:21px;height:21px;fill:currentColor;stroke:none}
.sa-video-toggle[data-state="play"] svg{margin-left:2px}
.sa-video-toggle:hover{background:rgba(24,4,9,.72);transform:translate(-50%,-50%) scale(1.04)}
@media(hover:hover) and (pointer:fine){
  .sa-recent-post-card[data-kind="invitation"] .sa-recent-post-media{
    /* Layout is intentionally frozen during preview. */
    transition:none;
  }
  .sa-recent-post-card[data-kind="invitation"] .sa-recent-post-body{
    position:relative;
    z-index:1;
    overflow:hidden;
    transition:opacity .18s ease;
  }
  .sa-recent-post-card[data-kind="invitation"].is-invitation-preview-active .sa-recent-post-body{
    opacity:0;
    pointer-events:none;
  }
  .sa-recent-post-card[data-kind="invitation"].is-invitation-preview-active .sa-recent-invitation-preview{
    opacity:1;
    clip-path:inset(0 0 0 0 round 21px);
  }
  .sa-recent-post-card[data-kind="invitation"].is-invitation-preview .sa-recent-preview-toggle{opacity:0;pointer-events:none}
  .sa-recent-post-card[data-kind="invitation"] .sa-recent-post-media>img,
  .sa-recent-post-card[data-kind="invitation"] .sa-recent-post-placeholder{transition:transform .45s ease}
}

.sa-recent-post-card h3{display:-webkit-box;overflow:hidden;margin:0 0 12px!important;color:#180409!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;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.sa-recent-post-caption{display:-webkit-box;overflow:hidden;margin:0 0 17px!important;color:#332927!important;font-size:16px!important;font-weight:400!important;line-height:1.45!important;letter-spacing:0!important;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.sa-recent-post-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:15px;border-top:1px solid rgba(75,19,29,.11);color:#685f5b;font:650 10px/1.45 var(--font);letter-spacing:.065em;text-transform:uppercase}
.sa-recent-post-open{position:relative;display:inline-flex;align-items:center;gap:7px;flex-shrink:0;white-space:nowrap;color:#4b131d;font:750 12.5px/1.2 var(--font);letter-spacing:0;text-transform:none}
.sa-recent-post-open::before{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .28s ease}
.sa-recent-post-card:hover .sa-recent-post-open::before,.sa-recent-post-card:focus-visible .sa-recent-post-open::before{transform:scaleX(1);transform-origin:left}
.sa-recent-post-open-arrow{display:inline-block;font-size:16px;font-weight:500;transition:transform .25s ease}
.sa-recent-post-card:hover .sa-recent-post-open-arrow,.sa-recent-post-card:focus-visible .sa-recent-post-open-arrow{transform:translate(2px,-2px)}
.sa-recent-post-skeleton{padding:0;overflow:hidden;border:1px solid rgba(24,4,9,.06);border-radius:22px;background:#fffdf9;box-shadow:0 16px 38px rgba(35,27,22,.055)}
.sa-recent-post-skeleton span,.sa-recent-post-skeleton i,.sa-recent-post-skeleton b,.sa-recent-post-skeleton em{display:block;border-radius:10px;background:linear-gradient(90deg,#ece7e2 25%,#faf8f6 45%,#ece7e2 65%);background-size:220% 100%;animation:sa-recent-shimmer 1.35s linear infinite}
.sa-recent-post-skeleton span{height:285px;border-radius:21px 21px 18px 18px}.sa-recent-post-skeleton i{width:28%;height:10px;margin:24px 21px 13px}.sa-recent-post-skeleton b{width:72%;height:22px;margin:0 21px 12px}.sa-recent-post-skeleton em{width:60%;height:12px;margin:0 21px}
.sa-recent-posts-controls{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:14px;margin-top:8px;transform:translateY(-14px)}
.sa-recent-posts-controls[hidden],.sa-recent-posts-status[hidden]{display:none!important}
#sa-public-theme main .sa-recent-nav{width:46px;height:46px;display:grid;place-items:center;padding:0!important;border:1px solid #d5c8bb!important;border-radius:50%!important;background:#f7f2ec!important;background-image:none!important;color:#544a42!important;-webkit-text-fill-color:#544a42!important;box-shadow:none!important;cursor:pointer!important;transition:background .18s ease,border-color .18s ease,transform .18s ease!important}
#sa-public-theme main .sa-recent-nav:hover,#sa-public-theme main .sa-recent-nav:focus-visible{transform:translateY(-1px)!important;background:#fff!important;border-color:#cfc2b5!important;color:#180409!important;-webkit-text-fill-color:#180409!important;box-shadow:none!important}
#sa-public-theme main .sa-recent-nav svg{width:16px;height:16px;fill:none;stroke:currentColor!important;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sa-recent-filters{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:0 18px}
#sa-public-theme main .sa-recent-filter{min-height:44px!important;padding:0 24px!important;border-radius:999px!important;font:600 12px/1 var(--font)!important;letter-spacing:0!important;cursor:pointer!important}
.sa-recent-posts-status{position:relative;z-index:5;max-width:560px;margin:28px auto 0!important;padding:16px 18px;border:1px solid rgba(24,4,9,.08);border-radius:14px;background:rgba(255,255,255,.78);color:#5b4b4e!important;text-align:center}
.sa-recent-posts-status.is-card-empty{
  position:absolute;
  left:calc(50% - (var(--sa-recent-card-w) / 2));
  top:var(--sa-recent-center-top);
  z-index:7;
  width:var(--sa-recent-card-w);
  height:var(--sa-recent-card-h);
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:0;
  margin:0!important;
  padding:0;
  overflow:hidden;
  transform:none;
  border:1px solid rgba(24,4,9,.08);
  border-radius:22px;
  background:#fffdf9;
  box-shadow:0 16px 38px rgba(35,27,22,.075);
  color:#180409!important;
  text-align:left;
  animation:sa-recent-empty-card-in .42s cubic-bezier(.16,1,.3,1) both;
}
.sa-recent-empty-media{
  position:relative;
  width:100%;
  height:285px;
  flex:0 0 285px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:21px 21px 18px 18px;
  background:linear-gradient(145deg,#fff,#f4efeb);
}
.sa-recent-empty-media::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  border:1px solid rgba(116,19,35,.07);
  border-radius:50%;
}
.sa-recent-empty-icon{
  position:relative;
  z-index:1;
  width:76px;
  height:76px;
  flex:0 0 76px;
  display:grid;
  place-items:center;
  border:1px solid rgba(116,19,35,.14);
  border-radius:50%;
  background:#fff7f8;
  color:#741323;
  box-shadow:inset 0 0 0 8px rgba(116,19,35,.025);
  animation:sa-recent-empty-icon-float 2.6s ease-in-out infinite;
}
.sa-recent-empty-icon::before{
  content:"";
  position:absolute;
  inset:-7px;
  border:1px solid rgba(116,19,35,.13);
  border-radius:50%;
  opacity:0;
  animation:sa-recent-empty-icon-ring 2.6s ease-out infinite;
}
.sa-recent-empty-icon svg{
  width:32px;
  height:32px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sa-recent-empty-body{
  display:flex;
  min-height:0;
  flex:1;
  flex-direction:column;
  padding:24px 21px 19px;
}
.sa-recent-empty-type{
  display:block;
  margin:0 0 13px;
  color:#741323;
  font:500 12px/1.2 var(--font);
}
.sa-recent-empty-title{
  display:block;
  margin:0 0 12px;
  color:#180409;
  font-family:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(25px,2.25vw,31px);
  font-weight:700;
  line-height:1.04;
  letter-spacing:-.035em;
}
.sa-recent-empty-note{
  display:block;
  margin:0 0 17px;
  color:#332927;
  font-size:16px;
  font-weight:400;
  line-height:1.45;
}
.sa-recent-empty-meta{
  display:flex;
  align-items:center;
  margin-top:auto;
  padding-top:15px;
  border-top:1px solid rgba(24,4,9,.13);
  color:#4b403b;
  font:500 11px/1.2 var(--font);
  letter-spacing:.045em;
  text-transform:uppercase;
}
@keyframes sa-recent-empty-card-in{
  from{opacity:0;translate:0 10px;scale:.985}
  to{opacity:1;translate:0 0;scale:1}
}
@keyframes sa-recent-empty-icon-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes sa-recent-empty-icon-ring{
  0%{opacity:0;transform:scale(.82)}
  24%{opacity:.58}
  72%,100%{opacity:0;transform:scale(1.18)}
}
@media(max-width:520px){
  .sa-recent-empty-title{font-size:28px}
  .sa-recent-empty-note{font-size:15px}
  .sa-recent-empty-icon{width:68px;height:68px;flex-basis:68px}
  .sa-recent-empty-icon svg{width:29px;height:29px}
}
@media(prefers-reduced-motion:reduce){
  .sa-recent-posts-status.is-card-empty,.sa-recent-empty-icon,.sa-recent-empty-icon::before{animation:none!important}
}
@keyframes sa-recent-shimmer{to{background-position:-220% 0}}
@media(max-width:1500px){
  .sa-recent-posts-section{--sa-recent-card-w:409.86px;--sa-recent-empty-y:540px;--sa-recent-half-card-w:204.93px;--sa-recent-card-h:535px;min-height:1170px;min-height:max(1170px,96vh)}
  .sa-recent-posts-grid{height:1020px}
  .sa-recent-post-media,.sa-recent-post-skeleton span{height:272px;flex-basis:272px}
}
@media(max-width:1100px){
  .sa-recent-posts-section{--sa-recent-card-w:386.1px;--sa-recent-empty-y:527px;--sa-recent-half-card-w:193.05px;--sa-recent-card-h:510px;min-height:1100px;padding-bottom:12px!important}
  .sa-recent-posts-section::before{width:420px;left:-110px;top:50px}
  .sa-recent-posts-grid{height:955px}
  .sa-recent-post-media,.sa-recent-post-skeleton span{height:250px;flex-basis:250px}
  .sa-recent-post-body{padding-top:20px}
  .sa-recent-posts-controls{margin-top:12px}
  .sa-recent-filters{margin-top:22px;gap:7px}
  #sa-public-theme main .sa-recent-filter{min-height:40px!important;padding:0 18px!important;font-size:10.5px!important}
}
@media(max-width:900px) and (min-width:701px){
}
@media(max-width:700px){
  .sa-recent-intro{top:28px;left:50%;width:min(calc(100% - 28px),var(--max));transform:translateX(-50%);text-align:left}
  .sa-recent-intro-eyebrow{margin-bottom:10px;font-size:10px;letter-spacing:.18em}
  .sa-recent-intro h2{line-height:1.04!important}
  .sa-recent-intro p{max-width:340px;margin:12px 0 0!important;font-size:14px!important;line-height:1.5!important}
  .sa-recent-posts-section{--sa-recent-card-w:min(97.416vw,356.4px);--sa-recent-empty-y:500px;--sa-recent-half-card-w:min(48.708vw,178.2px);--sa-recent-card-h:480px;min-height:1030px;padding:18px 0 0!important}
  .sa-recent-posts-section::before{width:290px;left:-105px;top:34px}
  /* v2.8.7.104: the circular geometry places the center card bottom near 740px
     and the first side card near 790px after rotation. 830px prevents the
     card/footer from being clipped while keeping controls close to the arc. */
  .sa-recent-posts-grid{height:830px;touch-action:pan-y}
  .sa-recent-posts-grid{--sa-recent-edge-fade:0px}
  .sa-recent-posts-grid::before,.sa-recent-posts-grid::after{display:none!important}
  .sa-recent-post-card{touch-action:pan-y}
  .sa-recent-post-media,.sa-recent-post-skeleton span{height:222px;flex-basis:222px}
  .sa-recent-post-body{padding:17px 20px 19px}
  .sa-recent-post-type{margin-bottom:10px;font-size:12px}
  .sa-recent-post-card h3{font-size:30px!important;margin-bottom:10px!important}
  .sa-recent-post-caption{font-size:16px!important;line-height:1.45!important;-webkit-line-clamp:2}
  .sa-recent-post-meta{padding-top:12px;font-size:11px}
  .sa-recent-post-open{font-size:13px}
  .sa-recent-posts-controls{margin-top:10px}
  .sa-recent-filters{margin-top:18px;padding-inline:10px}
}
@media(max-width:599px){
}
@media(max-width:430px){
  .sa-recent-post-card h3{font-size:28px!important}
  .sa-recent-post-caption{font-size:15px!important}
  .sa-recent-post-meta{font-size:10px}
  .sa-recent-post-open{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.sa-recent-post-card,.sa-recent-post-media img,.sa-recent-nav,.sa-recent-filter{transition:none!important}.sa-recent-post-card.is-filter-leaving,.sa-recent-post-card.is-filter-entering,.sa-recent-filter.is-filter-switching,.sa-recent-post-skeleton span,.sa-recent-post-skeleton i,.sa-recent-post-skeleton b,.sa-recent-post-skeleton em{animation:none!important}}


/* =========================================================
   v2.8.7.113 — Why heading aligned with canonical theme heading
   Matches “Trusted by photographers and families.” typography.
   ========================================================= */
#sa-public-theme main .sa-why-v53-head h2{
  font-family:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;
  font-weight:650!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
}

/* =========================================================
   v2.8.7.114 — WHY SIGNATURE ALBUM intro matches Recent Posts
   Same eyebrow, heading typography, description rhythm and left alignment.
   ========================================================= */
#sa-public-theme main .sa-why-v53-head{
  max-width:none!important;
  width:100%!important;
  margin:0 0 clamp(38px,4vw,58px)!important;
  text-align:left!important;
}
#sa-public-theme main .sa-why-v53-eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  margin:0 0 14px!important;
  color:#741323!important;
  -webkit-text-fill-color:#741323!important;
  font:700 12px/1.2 var(--font)!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
}
#sa-public-theme main .sa-why-v53-head h2{
  margin:0!important;
  color:#180409!important;
  -webkit-text-fill-color:#180409!important;
  font-family:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;
  font-weight:700!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  text-wrap:initial!important;
}
#sa-public-theme main .sa-why-v53-description{
  max-width:760px!important;
  margin:18px 0 0!important;
  color:#4b403b!important;
  -webkit-text-fill-color:#4b403b!important;
  font:400 16px/1.55 var(--font)!important;
  letter-spacing:0!important;
}
#sa-public-theme main .sa-why-v53-divider{display:none!important}
@media(max-width:700px){
  #sa-public-theme main .sa-why-v53-eyebrow{margin-bottom:10px!important;font-size:10px!important;letter-spacing:.18em!important}
  #sa-public-theme main .sa-why-v53-head h2{line-height:1.04!important}
  #sa-public-theme main .sa-why-v53-description{max-width:340px!important;margin:12px 0 0!important;font-size:14px!important;line-height:1.5!important}
}



/* =========================================================
   v2.8.7.129 — Website post canonical header + viewport shell
   The WordPress post route now uses the exact .site-header class tree used by
   the static theme. Legacy .sa-wp-header grid rules no longer participate.
   The route also owns a full-height page shell so the real footer reaches the
   viewport bottom with no body-background strip below it.
   ========================================================= */
body#sa-public-theme.sa-website-post-page{
  min-height:100vh!important;
  min-height:100dvh!important;
  display:flex!important;
  flex-direction:column!important;
}
body#sa-public-theme.sa-website-post-page>.sa-website-post-view{
  flex:1 0 auto!important;
  width:100%!important;
}
body#sa-public-theme.sa-website-post-page>.site-footer{
  flex:0 0 auto!important;
  width:100%!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
body#sa-public-theme.sa-website-post-page::after{content:none!important;display:none!important}



/* v2.8.7.140 — Recent Post card balance refinement + 5-photo collage.
   Keeps the existing fixed card geometry/arc shell while matching the
   user-requested 2-top / 3-bottom photo collage and a more balanced text hierarchy. */
.sa-recent-post-media.is-collage{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:2px;
  background:#fff;
}
.sa-recent-post-media.is-collage .sa-recent-media-tile{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;background:#f5f1ed}
.sa-recent-post-media.is-collage .sa-recent-media-tile>img{width:100%;height:100%;object-fit:cover;border-radius:0!important;transform:none!important}
.sa-recent-post-media.is-collage.has-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}
.sa-recent-post-media.is-collage.has-2 .sa-recent-media-tile:nth-child(1){grid-column:1 / span 1;grid-row:1}
.sa-recent-post-media.is-collage.has-2 .sa-recent-media-tile:nth-child(2){grid-column:2 / span 1;grid-row:1}
.sa-recent-post-media.is-collage.has-3{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.sa-recent-post-media.is-collage.has-3 .sa-recent-media-tile:first-child{grid-row:1 / span 2}
.sa-recent-post-media.is-collage.has-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.sa-recent-post-media.is-collage.has-5 .sa-recent-media-tile:nth-child(1),
.sa-recent-post-media.is-collage.has-5 .sa-recent-media-tile:nth-child(2){grid-row:1}
.sa-recent-post-media.is-collage.has-5 .sa-recent-media-tile:nth-child(1){grid-column:1 / span 3}
.sa-recent-post-media.is-collage.has-5 .sa-recent-media-tile:nth-child(2){grid-column:4 / span 3}
.sa-recent-post-media.is-collage.has-5 .sa-recent-media-tile:nth-child(3),
.sa-recent-post-media.is-collage.has-5 .sa-recent-media-tile:nth-child(4),
.sa-recent-post-media.is-collage.has-5 .sa-recent-media-tile:nth-child(5){grid-row:2}
.sa-recent-post-media.is-collage.has-5 .sa-recent-media-tile:nth-child(3){grid-column:1 / span 2}
.sa-recent-post-media.is-collage.has-5 .sa-recent-media-tile:nth-child(4){grid-column:3 / span 2}
.sa-recent-post-media.is-collage.has-5 .sa-recent-media-tile:nth-child(5){grid-column:5 / span 2}
.sa-recent-media-more{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:rgba(24,4,9,.57);color:#fff;font:700 32px/1 var(--font);letter-spacing:-.03em;text-shadow:0 1px 4px rgba(0,0,0,.24)}
.sa-recent-post-author{display:grid;grid-template-columns:33px minmax(0,1fr) auto;align-items:center;gap:9px;margin:0 0 13px;min-width:0}
.sa-recent-post-avatar{width:33px;height:33px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(116,19,35,.23);border-radius:50%;background:#fff6f3;color:#741323;font:700 13px/1 var(--font)}
.sa-recent-post-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;transform:none!important}
.sa-recent-post-author-text{display:flex;min-width:0;flex-direction:column;gap:3px;color:#180409}
.sa-recent-post-author-text strong{overflow:hidden;color:#180409;font:750 12.5px/1.12 var(--font);text-overflow:ellipsis;white-space:nowrap}
.sa-recent-post-author-text>span{overflow:hidden;color:#685f5b;font:500 10px/1.25 var(--font);text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}
.sa-recent-post-author .sa-recent-post-type{margin:0;padding:7px 13px;border:1px solid rgba(75,19,29,.12);border-radius:999px;background:#eee2d4;color:#4b131d;font-size:10px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.sa-recent-post-card h3{font-size:22px!important;line-height:1.14!important;letter-spacing:-.035em!important;margin-bottom:9px!important}
.sa-recent-post-caption{display:block!important;overflow:hidden;margin-bottom:14px!important;color:#685f5b!important;font-size:13px!important;line-height:1.55!important}
.sa-recent-caption-more{color:#741323;font-weight:700;cursor:pointer;white-space:nowrap}
@media(max-width:699.98px){
  .sa-recent-post-author{grid-template-columns:33px minmax(0,1fr) auto;gap:8px;margin-bottom:12px}
  .sa-recent-post-avatar{width:33px;height:33px;font-size:13px}
  .sa-recent-post-author-text strong{font-size:12.5px}
  .sa-recent-post-author-text>span{font-size:10px}
  .sa-recent-post-author .sa-recent-post-type{padding:6px 10px;font-size:9.5px}
  .sa-recent-post-card h3{font-size:21px!important}
  .sa-recent-post-caption{font-size:13px!important}
}


/* v2.8.7.149 — symmetric More/Less expansion.
   Card and caption geometry are both frozen before content swap, then animated in
   the same frame. This removes the one-frame flex reflow jerk that only affected More. */
.sa-recent-post-card{transition:border-color .3s ease,box-shadow .3s ease,height .42s cubic-bezier(.22,.75,.22,1)}
.sa-recent-post-card.is-caption-expanded{overflow:hidden}
.sa-recent-post-caption{transition:max-height .42s cubic-bezier(.22,.75,.22,1)}
.sa-recent-post-caption.is-expanded{
  display:block!important;
  height:auto!important;
  padding-right:0;
  -webkit-line-clamp:unset!important;
}
.sa-recent-post-caption.is-expanded .sa-recent-caption-text{display:inline}
.sa-recent-post-caption.is-expanded .sa-recent-caption-more{
  position:static;
  display:inline;
  padding-left:2px;
  background:transparent;
}


/* v2.8.7.152 — Momentum Wave Arc (concept J), driven by real carousel velocity.
   Layered maroon waves intensify with speed, travel with direction, then flatten/fade as momentum settles. */
.sa-recent-motion-arc{
  --sa-motion-strength:0;
  position:absolute;
  z-index:4;
  left:50%;
  top:870px;
  width:min(760px,74vw);
  height:96px;
  transform:translateX(-50%);
  pointer-events:none;
  opacity:calc(.20 + (var(--sa-motion-strength) * .80));
  transition:opacity .24s ease;
}
.sa-recent-motion-arc[hidden]{display:none!important}
.sa-recent-motion-arc svg{display:block;width:100%;height:100%;overflow:visible}
.sa-recent-motion-arc path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.sa-recent-motion-arc-base{
  stroke:rgba(116,19,35,.10);
  stroke-width:1;
}
.sa-recent-wave-line{
  stroke:url(#saRecentWaveGradient);
  transform-box:fill-box;
  transform-origin:center;
  filter:drop-shadow(0 2px calc(2px + (var(--sa-motion-strength) * 5px)) rgba(116,19,35,.14));
  transition:opacity .12s linear;
}
.sa-recent-wave-line-a{
  stroke-width:calc(1.15px + (var(--sa-motion-strength) * 1.75px));
}
.sa-recent-wave-line-b{
  stroke-width:calc(.85px + (var(--sa-motion-strength) * 1.20px));
  stroke-opacity:.55;
}
.sa-recent-wave-line-c{
  stroke-width:calc(.65px + (var(--sa-motion-strength) * .85px));
  stroke-opacity:.34;
}
.sa-recent-wave-arc.is-active .sa-recent-wave-line-a{stroke-opacity:1}
.sa-recent-wave-arc.is-active .sa-recent-wave-line-b{stroke-opacity:.66}
.sa-recent-wave-arc.is-active .sa-recent-wave-line-c{stroke-opacity:.42}
@media(max-width:899.98px){
  .sa-recent-motion-arc{top:856px;width:min(650px,80vw);height:88px}
}
@media(max-width:699.98px){
  .sa-recent-motion-arc{top:834px;width:min(540px,84vw);height:80px}
}
@media(max-width:520px){
  .sa-recent-motion-arc{top:820px;width:88vw;height:72px}
}
@media(prefers-reduced-motion:reduce){
  .sa-recent-motion-arc{opacity:.24!important}
  .sa-recent-wave-line{filter:none!important;opacity:.18!important}
}


/* ========================================================================== 
   v2.8.7.155 — Albums That Tell Stories / C Frameless Overlapping Strips
   Rebuilt after line-by-line audit of v154 against the approved C concept.
   Direct photos only: no card/frame surface around each image. Hover opens the
   selected strip with a single coordinated flex transition; siblings close at
   the same easing so there is no snap or layered-frame look.
   ========================================================================== */
#sa-public-theme.page-index .story-wave-section{overflow:visible!important}
#sa-public-theme.page-index .story-wave-card.sa-story-strips-section{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(560px,1.08fr)!important;
  align-items:center!important;
  gap:38px!important;
  min-height:500px!important;
  padding:40px 38px 40px 58px!important;
  overflow:visible!important;
  background:#fff!important;
  border:1px solid rgba(24,4,9,.10)!important;
  border-radius:26px!important;
  box-shadow:0 18px 50px rgba(24,4,9,.055)!important;
}
#sa-public-theme.page-index .sa-story-copy{position:relative;z-index:4;padding:24px 12px 24px 0}
#sa-public-theme.page-index .sa-story-copy .eyebrow{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;
  color:#180409!important;letter-spacing:.18em
}
#sa-public-theme.page-index .sa-story-copy .eyebrow::before{content:"✦";color:#741323;font-size:.72rem;letter-spacing:0}
#sa-public-theme.page-index .sa-story-copy h2{
  margin:0 0 26px!important;max-width:560px!important;
  font-size:clamp(3rem,4.5vw,5.2rem)!important;line-height:.96!important;
  letter-spacing:-.045em!important;color:#180409!important
}
#sa-public-theme.page-index .sa-story-copy p{
  margin:0 0 28px!important;max-width:590px!important;
  font-size:1.05rem!important;line-height:1.72!important;color:#3e3032!important
}
#sa-public-theme.page-index .sa-story-copy .btn{
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  justify-content:center!important;
  gap:12px!important;
}
#sa-public-theme.page-index .sa-story-copy .btn:hover{
  transform:none!important;
}

@media(max-width:1050px){
  #sa-public-theme.page-index .story-wave-card.sa-story-strips-section{
    grid-template-columns:1fr!important;gap:8px!important;padding:38px 34px 30px!important
  }
  #sa-public-theme.page-index .sa-story-copy{padding:8px 8px 0}
  #sa-public-theme.page-index .sa-story-copy h2,#sa-public-theme.page-index .sa-story-copy p{max-width:720px!important}
}
@media(max-width:700px){
  #sa-public-theme.page-index .story-wave-card.sa-story-strips-section{
    width:min(calc(100% - 28px),var(--max))!important;padding:26px 20px 22px!important;border-radius:22px!important
  }
  #sa-public-theme.page-index .sa-story-copy h2{font-size:clamp(2.6rem,13vw,4rem)!important;margin-bottom:18px!important}
  #sa-public-theme.page-index .sa-story-copy p{font-size:.98rem!important;margin-bottom:22px!important}
  #sa-public-theme.page-index .sa-story-copy .btn{width:auto!important;min-width:0!important;max-width:100%!important}
}

/* Albums story photo grow interaction
   Single click/focus state and one transition definition for open and close. */
#sa-public-theme.page-index .story-wave-card.sa-story-strips-section{overflow:hidden!important}
#sa-public-theme.page-index .sa-story-strips{
  display:flex!important;align-items:stretch!important;justify-content:stretch!important;
  gap:3px!important;height:320px!important;padding:0!important;margin:0!important;
  overflow:hidden!important;border-radius:16px!important;isolation:isolate
}
#sa-public-theme.page-index .sa-story-strip,
#sa-public-theme.page-index .sa-story-strip-1,
#sa-public-theme.page-index .sa-story-strip-2,
#sa-public-theme.page-index .sa-story-strip-3,
#sa-public-theme.page-index .sa-story-strip-4,
#sa-public-theme.page-index .sa-story-strip-5{
  position:relative!important;flex:.58 1 0!important;min-width:0!important;width:auto!important;
  height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;
  border:0!important;outline:0!important;border-radius:14px!important;background:transparent!important;
  box-shadow:none!important;transform:none!important;filter:none!important;opacity:1!important;
  z-index:1!important;cursor:pointer;
  transition:flex-grow 1.10s cubic-bezier(.4,0,.2,1)!important
}
#sa-public-theme.page-index .sa-story-strip.is-active{flex-grow:5.2!important;z-index:2!important}
#sa-public-theme.page-index .sa-story-strip img{
  display:block!important;width:100%!important;height:100%!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;outline:0!important;
  border-radius:inherit!important;box-shadow:none!important;object-fit:cover!important;
  object-position:center!important;transform:none!important;filter:none!important;opacity:1!important;
  transition:none!important
}
#sa-public-theme.page-index .sa-story-strip:focus-visible{outline:2px solid #741323!important;outline-offset:-3px!important}
@media(max-width:1050px){
  #sa-public-theme.page-index .sa-story-strips{height:330px!important;max-width:820px!important;width:100%!important;margin:0 auto!important}
  #sa-public-theme.page-index .sa-story-strip.is-active{flex-grow:5!important}
}
@media(max-width:700px){
  #sa-public-theme.page-index .sa-story-strips{height:238px!important;gap:2px!important;border-radius:12px!important}
  #sa-public-theme.page-index .sa-story-strip{flex-grow:.58!important;border-radius:10px!important;transition-duration:.9s!important}
  #sa-public-theme.page-index .sa-story-strip.is-active{flex-grow:4.6!important;border-radius:10px!important}
}
@media(prefers-reduced-motion:reduce){#sa-public-theme.page-index .sa-story-strip{transition:none!important}}
/* =========================================================
   v2.8.7.193 — Heritage balanced spacing + softened cinematic scroll
   Image 1 keeps the approved center -> fullscreen morph. Once fullscreen,
   editor-gallery images 2..N slide bottom -> top over the previous image.
   Equal outer spacing separates Heritage from the sections above/below, while
   stable sticky-shell geometry prevents wheel/trackpad resize feedback.
   ========================================================= */
#sa-public-theme.page-index .heritage-scroll-stage,
body.home #sa-public-theme .heritage-scroll-stage{
  --heritage-stage-vh:365vh;
  --heritage-edge-space:clamp(64px,5.6vw,92px);
  min-height:var(--heritage-stage-vh);
  margin-top:var(--heritage-edge-space)!important;
  margin-bottom:var(--heritage-edge-space)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  position:relative;
  overflow:visible!important;
}
#sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-card,
body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-card{
  --heritage-overlay-a:.88;
  --heritage-overlay-b:.42;
  position:sticky;
  top:0;
  transform:none;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:none!important;
  min-width:0;
  overflow:hidden;
  isolation:isolate;
  /* Do not pre-promote the resizing card to a compositor texture. On Chromium
     that can preserve the small-card raster and magnify it after fullscreen. */
  will-change:auto!important;
  backface-visibility:visible!important;
  background:
    linear-gradient(90deg,rgba(23,21,19,.88),rgba(23,21,19,.42)),
    var(--heritage-fallback-image, url("../images/heritage-cinema-1.png")) center/cover no-repeat!important;
}
#sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-card.heritage-native-image-ready,
body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-card.heritage-native-image-ready{
  background:#171513!important;
}
#sa-public-theme.page-index .heritage-wedding-card::after,
body.home #sa-public-theme .heritage-wedding-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(23,21,19,var(--heritage-overlay-a)),rgba(23,21,19,var(--heritage-overlay-b)));
}
#sa-public-theme.page-index .heritage-cinema-layer,
body.home #sa-public-theme .heritage-cinema-layer{
  position:absolute;
  inset:0;
  z-index:0;
  opacity:1;
  background:none!important;
  transform:none;
  transform-origin:50% 50%;
  border-radius:0;
  transition:none!important;
  will-change:auto!important;
  backface-visibility:visible!important;
  pointer-events:none;
  overflow:hidden;
}
/* v2.8.7.204 — keep prepared photo planes composited while this scroll scene is
   near the viewport, avoiding promotion/de-promotion snaps at each handoff. */
#sa-public-theme.page-index .heritage-scroll-stage.is-heritage-active .heritage-cinema-layer,
body.home #sa-public-theme .heritage-scroll-stage.is-heritage-active .heritage-cinema-layer{
  will-change:transform!important;
  backface-visibility:hidden!important;
  transform-style:preserve-3d;
}
/* v2.8.7.203 — compositor-friendly edge depth; opacity is eased in JS so the
   shadow never pops when a photo enters or settles. */
#sa-public-theme.page-index .heritage-cinema-edge-shadow,
body.home #sa-public-theme .heritage-cinema-edge-shadow{
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  right:0;
  height:clamp(32px,5.5vw,64px);
  pointer-events:none;
  opacity:0;
  background:linear-gradient(180deg,rgba(41,9,13,.42) 0%,rgba(121,10,32,.18) 38%,rgba(41,9,13,0) 100%);
  transform:translateZ(0);
  will-change:opacity;
}
/* v2.8.7.196 — native <img> renderer. The exact original Media Library URL
   is decoded by the browser and resized by layout; no CSS background texture,
   pseudo blur plane, responsive srcset or pre-scaled GPU snapshot is used. */
#sa-public-theme.page-index .heritage-cinema-image,
body.home #sa-public-theme .heritage-cinema-image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  image-rendering:auto!important;
  transform:none!important;
  filter:none!important;
  opacity:1!important;
  backface-visibility:visible!important;
}
#sa-public-theme.page-index .heritage-cinema-layer::before,
body.home #sa-public-theme .heritage-cinema-layer::before,
#sa-public-theme.page-index .heritage-cinema-layer::after,
body.home #sa-public-theme .heritage-cinema-layer::after{
  content:none!important;
  display:none!important;
}
#sa-public-theme.page-index .heritage-cinema-layer[data-heritage-layer="0"],
body.home #sa-public-theme .heritage-cinema-layer[data-heritage-layer="0"]{
  transform:none!important;
}
#sa-public-theme.page-index .heritage-wedding-content,
body.home #sa-public-theme .heritage-wedding-content{
  position:relative;
  z-index:4;
  max-width:760px;
  transform:translate3d(0,0,0);
  will-change:opacity,transform;
}
#sa-public-theme.page-index .heritage-wedding-content .eyebrow,
#sa-public-theme.page-index .heritage-wedding-content h2,
#sa-public-theme.page-index .heritage-wedding-content p,
#sa-public-theme.page-index .heritage-wedding-content .btn,
body.home #sa-public-theme .heritage-wedding-content .eyebrow,
body.home #sa-public-theme .heritage-wedding-content h2,
body.home #sa-public-theme .heritage-wedding-content p,
body.home #sa-public-theme .heritage-wedding-content .btn{
  will-change:opacity,transform;
}
#sa-public-theme.page-index .heritage-scroll-stage.is-cinematic .heritage-wedding-card,
body.home #sa-public-theme .heritage-scroll-stage.is-cinematic .heritage-wedding-card{
  box-shadow:none!important;
}
#sa-public-theme.page-index .heritage-scroll-stage:not(.is-cinematic) .heritage-wedding-card,
body.home #sa-public-theme .heritage-scroll-stage:not(.is-cinematic) .heritage-wedding-card{
  box-shadow:0 14px 38px rgba(41,9,13,var(--heritage-card-shadow,.095))!important;
}
@media (max-width:767px){
  #sa-public-theme.page-index .heritage-scroll-stage,
  body.home #sa-public-theme .heritage-scroll-stage{
    --heritage-stage-vh:auto;
    --heritage-edge-space:clamp(44px,10vw,60px);
    min-height:auto!important;
  }
  #sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-card,
  body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-card{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    height:auto!important;
    min-height:clamp(410px,68svh,560px)!important;
    padding:clamp(26px,7vw,40px)!important;
    border-radius:22px!important;
    position:relative!important;
    top:auto!important;
    transform:none!important;
  }
  #sa-public-theme.page-index .heritage-wedding-content,
  body.home #sa-public-theme .heritage-wedding-content{
    width:100%!important;
    max-width:100%!important;
  }
  #sa-public-theme.page-index .heritage-cinema-layer[data-heritage-layer]:not([data-heritage-layer="0"]),
  body.home #sa-public-theme .heritage-cinema-layer[data-heritage-layer]:not([data-heritage-layer="0"]){
    display:none!important;
  }
}
@media (max-width:767px) and (max-height:520px){
  #sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-card,
  body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-card{
    min-height:300px!important;
    padding:24px!important;
  }
}

/* =========================================================
   Heritage scroll root fix — stable sticky shell
   Sticky layout is isolated from the animated card. The shell has a fixed
   measured height/top while the card is absolute inside it, preventing card
   resize from changing document flow or feeding back into scroll anchoring.
   ========================================================= */
#sa-public-theme.page-index .heritage-scroll-stage,
body.home #sa-public-theme .heritage-scroll-stage{
  overflow-anchor:none!important;
}
#sa-public-theme.page-index .heritage-sticky-shell,
body.home #sa-public-theme .heritage-sticky-shell{
  position:sticky;
  width:100%;
  height:var(--heritage-shell-base-height,auto);
  margin:0;
  overflow:visible;
  z-index:1;
  overflow-anchor:none;
  contain:layout style;
}
#sa-public-theme.page-index .heritage-sticky-shell > .heritage-wedding-card,
body.home #sa-public-theme .heritage-sticky-shell > .heritage-wedding-card{
  position:absolute!important;
  top:0;
  left:50%;
  transform:translateX(-50%)!important;
  margin:0!important;
  width:var(--heritage-shell-base-width, min(calc(100% - 48px), var(--max)));
  height:var(--heritage-shell-base-height,auto);
  overflow-anchor:none!important;
}
#sa-public-theme.page-index .heritage-sticky-shell.is-measuring,
body.home #sa-public-theme .heritage-sticky-shell.is-measuring{
  position:relative!important;
  top:auto!important;
  height:auto!important;
  contain:none!important;
}
#sa-public-theme.page-index .heritage-sticky-shell.is-measuring > .heritage-wedding-card,
body.home #sa-public-theme .heritage-sticky-shell.is-measuring > .heritage-wedding-card{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  transform:none!important;
  width:min(calc(100% - 48px),var(--max))!important;
  height:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:767px){
  #sa-public-theme.page-index .heritage-sticky-shell,
  body.home #sa-public-theme .heritage-sticky-shell{
    display:contents!important;
    position:static!important;
    height:auto!important;
    contain:none!important;
  }
  #sa-public-theme.page-index .heritage-sticky-shell > .heritage-wedding-card,
  body.home #sa-public-theme .heritage-sticky-shell > .heritage-wedding-card{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    transform:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #sa-public-theme.page-index .heritage-scroll-stage,
  body.home #sa-public-theme .heritage-scroll-stage{
    min-height:auto!important;
    padding-top:var(--space-3,24px)!important;
    padding-bottom:var(--space-3,24px)!important;
  }
  #sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-card,
  body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-card{
    position:relative!important;
    top:auto!important;
    transform:none!important;
    width:auto!important;
    height:auto!important;
    border-radius:22px!important;
  }
  #sa-public-theme.page-index .heritage-cinema-layer[data-heritage-layer]:not([data-heritage-layer="0"]),
  body.home #sa-public-theme .heritage-cinema-layer[data-heritage-layer]:not([data-heritage-layer="0"]){display:none!important}
}

/* ========================================================================== 
   v2.8.7.169 — Premium menu sample 10: dark brand wing
   Visual-only header refinement. Font family and page layout remain unchanged.
   ========================================================================== */
@media (min-width:1081px){
  #sa-public-theme .site-header .container.nav-wrap{
    position:relative!important;
    z-index:0!important;
    background:#fffdfc!important;
    background-image:none!important;
    border:1px solid rgba(121,10,32,.18)!important;
    border-radius:22px!important;
    box-shadow:0 14px 38px rgba(41,9,13,.095),0 2px 8px rgba(121,10,32,.035)!important;
    isolation:isolate!important;
  }
  #sa-public-theme .site-header .container.nav-wrap::before{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    top:-1px!important;
    bottom:-1px!important;
    left:-1px!important;
    width:clamp(348px,31.5%,456px)!important;
    border-radius:22px 0 76px 22px!important;
    background:linear-gradient(112deg,#790a20 0%,#8a0b25 54%,#9a0d2b 100%)!important;
    clip-path:polygon(0 0,100% 0,82% 100%,0 100%)!important;
    pointer-events:none!important;
  }
  /* v2.8.7.170 — remove only the decorative white transition patch.
     It could protrude below the header as a white/gray triangular strip. */
  

  #sa-public-theme .site-header .brand{
    position:relative!important;
    z-index:2!important;
    color:#fff!important;
  }
  #sa-public-theme .site-header .brand img{
    filter:brightness(0) invert(1)!important;
  }
  #sa-public-theme .site-header .brand-text strong{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  #sa-public-theme .site-header .brand-text small{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    opacity:.82!important;
  }

  #sa-public-theme .site-header .nav,
  #sa-public-theme .site-header .nav-actions{
    position:relative!important;
    z-index:2!important;
  }
  #sa-public-theme .site-header .nav a.active,
  #sa-public-theme .site-header .nav a[aria-current="page"]{
    background:#f8f0f0!important;
    box-shadow:inset 0 0 0 1px rgba(121,10,32,.055),0 7px 18px rgba(121,10,32,.055)!important;
  }
  #sa-public-theme .site-header .nav-actions{
    border-left-color:rgba(121,10,32,.13)!important;
  }
  #sa-public-theme .site-header .header-bell,
  #sa-public-theme .site-header .header-profile-trigger{
    background:#fbf5f5!important;
    border-color:rgba(121,10,32,.13)!important;
  }

  /* Homepage reveal rule earlier in the stylesheet set brand colors back to dark.
     Keep sample-10 white branding once the floating menu becomes visible. */
  #sa-public-theme.page-index .site-header .brand-text,
  #sa-public-theme.page-index .site-header .brand-text strong,
  #sa-public-theme.page-index .site-header .brand-text small{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  #sa-public-theme.page-index .site-header .brand img{
    filter:brightness(0) invert(1)!important;
  }
}

/* Tablet/mobile keeps the established safe geometry; carry the sample-10 accent
   as a compact brand capsule instead of letting the desktop diagonal cross controls. */



/* ========================================================================== 
   v2.8.7.172 — Original-at-top -> Sample-10-on-scroll premium header morph
   Top state keeps the established white premium header. Scrolled state stages:
   1) maroon wing, 2) white logo, 3) white brand copy. Geometry never changes.
   ========================================================================== */
#sa-public-theme .site-header{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
#sa-public-theme.page-index .site-header,
body.home #sa-public-theme .site-header{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transition:none!important;
}

@media (min-width:1081px){
  /* Stable shell in both states: no height, width or page-content jump.
     Keep overflow visible so the account dropdown can escape the rounded header shell.
     The decorative ribbon is clipped by its own clip-path/border-radius instead. */
  #sa-public-theme .site-header .container.nav-wrap{
    overflow:visible!important;
    background:#fffdfc!important;
    background-image:none!important;
    border:1px solid rgba(121,10,32,.16)!important;
    border-radius:22px!important;
    box-shadow:0 12px 34px rgba(41,9,13,.09),0 2px 8px rgba(121,10,32,.035)!important;
    transition:box-shadow .42s ease,border-color .42s ease!important;
  }

  /* Maroon wing exists in the same geometry, but is collapsed at 0% scroll. */
  #sa-public-theme .site-header .container.nav-wrap::before{
    display:block!important;
    content:""!important;
    transform:scaleX(0)!important;
    transform-origin:left center!important;
    opacity:0!important;
    transition:transform .52s cubic-bezier(.16,1,.3,1),opacity .12s linear!important;
    will-change:transform,opacity;
  }
  #sa-public-theme .site-header .container.nav-wrap::after{
    content:none!important;
    display:none!important;
  }

  /* Original approved top-state branding. */
  #sa-public-theme .site-header:not(.is-scrolled) .brand{
    color:#261d1b!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .brand img{
    filter:none!important;
    opacity:1!important;
    transform:translate3d(0,0,0) scale(1)!important;
    animation:none!important;
    transition:opacity .22s ease,transform .32s ease,filter .18s ease!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .brand-text,
  #sa-public-theme .site-header:not(.is-scrolled) .brand-text strong,
  #sa-public-theme .site-header:not(.is-scrolled) .brand-text small,
  #sa-public-theme.page-index .site-header:not(.is-scrolled) .brand-text,
  #sa-public-theme.page-index .site-header:not(.is-scrolled) .brand-text strong,
  #sa-public-theme.page-index .site-header:not(.is-scrolled) .brand-text small{
    color:#261d1b!important;
    -webkit-text-fill-color:#261d1b!important;
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    animation:none!important;
    transition:opacity .2s ease,transform .3s ease,color .18s ease!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .brand-text small,
  #sa-public-theme.page-index .site-header:not(.is-scrolled) .brand-text small{
    color:#5f4d50!important;
    -webkit-text-fill-color:#5f4d50!important;
  }

  /* Scroll state: wing arrives first. */
  #sa-public-theme .site-header.is-scrolled .container.nav-wrap{
    border-color:rgba(121,10,32,.20)!important;
    box-shadow:0 16px 42px rgba(24,4,9,.16),0 4px 14px rgba(24,4,9,.08)!important;
  }
  #sa-public-theme .site-header.is-scrolled .container.nav-wrap::before{
    transform:scaleX(1)!important;
    opacity:1!important;
  }

  /* Existing dark top brand disappears immediately; white logo returns only
     after the wing has mostly arrived. */
  #sa-public-theme .site-header.is-scrolled .brand img{
    filter:brightness(0) invert(1)!important;
    animation:saMenuLogoReveal .72s cubic-bezier(.16,1,.3,1) both!important;
  }
  #sa-public-theme .site-header.is-scrolled .brand-text,
  #sa-public-theme .site-header.is-scrolled .brand-text strong,
  #sa-public-theme .site-header.is-scrolled .brand-text small,
  #sa-public-theme.page-index .site-header.is-scrolled .brand-text,
  #sa-public-theme.page-index .site-header.is-scrolled .brand-text strong,
  #sa-public-theme.page-index .site-header.is-scrolled .brand-text small{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    animation:saMenuBrandCopyReveal .86s cubic-bezier(.16,1,.3,1) both!important;
  }
  #sa-public-theme .site-header.is-scrolled .brand-text small,
  #sa-public-theme.page-index .site-header.is-scrolled .brand-text small{
    opacity:.82!important;
  }

  @keyframes saMenuLogoReveal{
    0%,48%{opacity:0;transform:translate3d(-8px,0,0) scale(.96)}
    68%{opacity:1}
    100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
  }
  @keyframes saMenuBrandCopyReveal{
    0%,62%{opacity:0;transform:translate3d(-10px,0,0)}
    78%{opacity:.72}
    100%{opacity:1;transform:translate3d(0,0,0)}
  }
}

/* Compact devices keep their established geometry. Top is the original clean
   brand; after scrolling only the brand capsule gains maroon, avoiding control shifts. */


@media (prefers-reduced-motion:reduce){
  #sa-public-theme .site-header .container.nav-wrap::before,
  #sa-public-theme .site-header .brand,
  #sa-public-theme .site-header .brand img,
  #sa-public-theme .site-header .brand-text,
  #sa-public-theme .site-header .brand-text strong,
  #sa-public-theme .site-header .brand-text small{
    animation:none!important;
    transition:none!important;
  }
}

/* ========================================================================== 
   v2.8.7.174 — Premium ribbon-only scroll morph
   Branding stays spatially fixed. Only the diagonal brand ribbon wipes between
   white and maroon. No logo/text fade, slide, scale or staged reveal.
   ========================================================================== */
#sa-public-theme .site-header .brand,
#sa-public-theme .site-header .brand img,
#sa-public-theme .site-header .brand-text,
#sa-public-theme .site-header .brand-text strong,
#sa-public-theme .site-header .brand-text small{
  animation:none!important;
  transform:none!important;
  opacity:1!important;
}
#sa-public-theme .site-header .brand img,
#sa-public-theme .site-header .brand-text,
#sa-public-theme .site-header .brand-text strong,
#sa-public-theme .site-header .brand-text small{
  transition:none!important;
}

/* The wing always owns the same geometry. At the top it is visually white;
   scrolling moves the maroon half of a double-width background across it. */
@media (min-width:1081px){#sa-public-theme .site-header .container.nav-wrap::before{
  transform:none!important;
  transform-origin:left center!important;
  opacity:1!important;
  background:linear-gradient(90deg,
    #790a20 0%,
    #860b24 38%,
    #9a0d2b 47%,
    #b33a50 49.4%,
    #fffdfc 50%,
    #fffdfc 100%)!important;
  background-size:200% 100%!important;
  background-position:100% 0!important;
  background-repeat:no-repeat!important;
  transition:background-position 1.156s cubic-bezier(.16,1,.3,1)!important;
  will-change:background-position!important;
}}
@media (min-width:1081px){#sa-public-theme .site-header.is-scrolled .container.nav-wrap::before{
  transform:none!important;
  opacity:1!important;
  background-position:0 0!important;
}}

@media (max-width:1080px){#sa-public-theme .site-header .mobile-toggle.is-open{font-size:0!important;line-height:0!important}#sa-public-theme .site-header .mobile-toggle.is-open::after{content:none!important;display:none!important}#sa-public-theme .site-header .mobile-toggle.is-open::before{
    content:"×"!important;
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:100%!important;
    font:400 30px/1 Arial,sans-serif!important;
    transform:none!important;
  }}


/* Top branding stays exactly where it is and uses the original dark treatment. */
@media (min-width:1081px){#sa-public-theme .site-header:not(.is-brand-inverted) .brand img,
#sa-public-theme.page-index .site-header:not(.is-brand-inverted) .brand img{
  filter:none!important;
}}
@media (min-width:1081px){#sa-public-theme .site-header:not(.is-brand-inverted) .brand,
#sa-public-theme .site-header:not(.is-brand-inverted) .brand-text,
#sa-public-theme .site-header:not(.is-brand-inverted) .brand-text strong,
#sa-public-theme.page-index .site-header:not(.is-brand-inverted) .brand-text,
#sa-public-theme.page-index .site-header:not(.is-brand-inverted) .brand-text strong{
  color:#261d1b!important;
  -webkit-text-fill-color:#261d1b!important;
}}
@media (min-width:1081px){#sa-public-theme .site-header:not(.is-brand-inverted) .brand-text small,
#sa-public-theme.page-index .site-header:not(.is-brand-inverted) .brand-text small{
  color:#5f4d50!important;
  -webkit-text-fill-color:#5f4d50!important;
  opacity:1!important;
}}

/* Once the moving ribbon has reached the brand, only its static color treatment
   flips for contrast. There is still no logo/text motion or opacity animation. */
@media (min-width:1081px){#sa-public-theme .site-header.is-brand-inverted .brand img,
#sa-public-theme.page-index .site-header.is-brand-inverted .brand img{
  filter:brightness(0) invert(1)!important;
}}
@media (min-width:1081px){#sa-public-theme .site-header.is-brand-inverted .brand,
#sa-public-theme .site-header.is-brand-inverted .brand-text,
#sa-public-theme .site-header.is-brand-inverted .brand-text strong,
#sa-public-theme .site-header.is-brand-inverted .brand-text small,
#sa-public-theme.page-index .site-header.is-brand-inverted .brand-text,
#sa-public-theme.page-index .site-header.is-brand-inverted .brand-text strong,
#sa-public-theme.page-index .site-header.is-brand-inverted .brand-text small{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}}
@media (min-width:1081px){#sa-public-theme .site-header.is-brand-inverted .brand-text small,
#sa-public-theme.page-index .site-header.is-brand-inverted .brand-text small{
  opacity:.82!important;
}}

/* Neutralize every earlier scroll-state keyframe without changing geometry. */
#sa-public-theme .site-header.is-scrolled .brand,
#sa-public-theme .site-header.is-scrolled .brand img,
#sa-public-theme .site-header.is-scrolled .brand-text,
#sa-public-theme .site-header.is-scrolled .brand-text strong,
#sa-public-theme .site-header.is-scrolled .brand-text small{
  animation:none!important;
  transform:none!important;
}

@media (prefers-reduced-motion:reduce){
  #sa-public-theme .site-header .container.nav-wrap::before{
    transition:none!important;
  }
}

/* ========================================================================== 
   v2.8.7.175 — Restore v2.8.7.170 homepage hero/header behaviour
   Homepage header is fully absent while the hero is on-screen and fades in only
   after the hero has completely cleared the viewport. Current menu visuals stay.
   ========================================================================== */
#sa-public-theme.page-index .site-header,
body.home #sa-public-theme .site-header{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .28s ease,visibility 0s linear .28s!important;
}
#sa-public-theme.page-index .site-header.is-after-hero,
body.home #sa-public-theme .site-header.is-after-hero{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transition:opacity .28s ease,visibility 0s linear 0s!important;
}


/* ========================================================================== 
   v2.8.7.176 — Restore original flat menu before premium scroll treatment
   v175 remains the base. Homepage header stays hidden over the hero. When it
   first appears it is borderless/shadowless; premium shell styling arrives
   only after the secondary scroll threshold. Desktop and mobile share states.
   ========================================================================== */
#sa-public-theme .site-header:not(.is-scrolled),
#sa-public-theme.page-index .site-header:not(.is-scrolled),
body.home #sa-public-theme .site-header:not(.is-scrolled){
  background:transparent!important;
  background-image:none!important;
  border-bottom-color:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

#sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap,
#sa-public-theme.page-index .site-header:not(.is-scrolled) .container.nav-wrap,
body.home #sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap{
  border-color:transparent!important;
  box-shadow:none!important;
  transition:border-color .42s ease,box-shadow .46s cubic-bezier(.16,1,.3,1),background-color .42s ease!important;
}

/* Keep the restored plain state visually neutral: the ribbon geometry remains
   in place but its visible half is white until is-scrolled is applied. */
@media (min-width:1081px){#sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap::before{
  background-position:100% 0!important;
}}

/* Premium treatment appears only after scroll state is active. */
#sa-public-theme .site-header.is-scrolled .container.nav-wrap{
  border-color:rgba(121,10,32,.20)!important;
  box-shadow:0 16px 42px rgba(24,4,9,.16),0 4px 14px rgba(24,4,9,.08)!important;
  transition:border-color .42s ease,box-shadow .46s cubic-bezier(.16,1,.3,1),background-color .42s ease!important;
}

/* Preserve v175 hero visibility behavior exactly. */
#sa-public-theme.page-index .site-header:not(.is-after-hero),
body.home #sa-public-theme .site-header:not(.is-after-hero){
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
#sa-public-theme.page-index .site-header.is-after-hero,
body.home #sa-public-theme .site-header.is-after-hero{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

@media (prefers-reduced-motion:reduce){
  #sa-public-theme .site-header .container.nav-wrap{
    transition:none!important;
  }
}


/* ==========================================================================
   v2.8.7.178 — Menu shadow theme-color correction
   Remove legacy gray/brown outer header shadow and keep the visible floating
   menu depth in a soft light-maroon tone derived from #741323.
   ========================================================================== */
#sa-public-theme .site-header.is-scrolled,
#sa-public-theme.page-index .site-header.is-scrolled,
body.home #sa-public-theme .site-header.is-scrolled{
  box-shadow:none!important;
}
#sa-public-theme .site-header.is-scrolled .container.nav-wrap{
  box-shadow:0 16px 42px rgba(116,19,35,.14),0 4px 14px rgba(116,19,35,.07)!important;
}


/* ========================================================================== 
   v2.8.7.179 — Shared water-drop navigation hover highlight
   The active underline remains anchored to the real current page. A single
   highlight blob glides between hovered/focused desktop links and returns to
   the active link on leave, avoiding separate pills and abrupt hover jumps.
   ========================================================================== */
@media (min-width:1181px){
  #sa-public-theme .site-header .nav.sa-waterdrop-ready{
    position:relative!important;
    isolation:isolate!important;
  }
  #sa-public-theme .site-header .nav.sa-waterdrop-ready .sa-nav-waterdrop{
    position:absolute!important;
    left:0!important;
    top:0!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px;
    background:#f8f0f0!important;
    box-shadow:inset 0 0 0 1px rgba(121,10,32,.055),0 7px 18px rgba(121,10,32,.055)!important;
    pointer-events:none!important;
    z-index:0!important;
    will-change:transform,width,height,border-radius!important;
    transform:translate3d(0,0,0);
    transform-origin:center center!important;
  }
  #sa-public-theme .site-header .nav.sa-waterdrop-ready a{
    position:relative!important;
    z-index:1!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #sa-public-theme .site-header .nav.sa-waterdrop-ready a:hover,
  #sa-public-theme .site-header .nav.sa-waterdrop-ready a:focus-visible,
  #sa-public-theme .site-header .nav.sa-waterdrop-ready a.active,
  #sa-public-theme .site-header .nav.sa-waterdrop-ready a[aria-current="page"]{
    background:transparent!important;
    box-shadow:none!important;
  }
  /* The underline is page-state, not hover-state. */
  #sa-public-theme .site-header .nav.sa-waterdrop-ready a:not(.active):not([aria-current="page"])::after{
    width:0!important;
  }
  #sa-public-theme .site-header .nav.sa-waterdrop-ready a.active::after,
  #sa-public-theme .site-header .nav.sa-waterdrop-ready a[aria-current="page"]::after{
    width:32px!important;
    z-index:2!important;
  }
}
@media (prefers-reduced-motion:reduce){
  #sa-public-theme .site-header .nav .sa-nav-waterdrop{transition:none!important}
}

/* ========================================================================== 
   v2.8.7.184 — Mobile story photo tap highlight + stable full-height image
   Mobile only: remove browser tap/focus tint and keep the selected story photo
   filling the existing strip height. Desktop story behaviour is unchanged.
   ========================================================================== */
@media(max-width:700px) and (hover:none){
  #sa-public-theme.page-index .sa-story-strip,
  #sa-public-theme.page-index .sa-story-strip img{
    -webkit-tap-highlight-color:transparent!important;
    -webkit-touch-callout:none!important;
    -webkit-user-select:none!important;
    user-select:none!important;
  }
  #sa-public-theme.page-index .sa-story-strip:focus,
  #sa-public-theme.page-index .sa-story-strip:focus-visible{
    outline:0!important;
    box-shadow:none!important;
  }
  #sa-public-theme.page-index .sa-story-strip,
  #sa-public-theme.page-index .sa-story-strip.is-active{
    height:100%!important;
    background:transparent!important;
  }
  #sa-public-theme.page-index .sa-story-strip img,
  #sa-public-theme.page-index .sa-story-strip.is-active img{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    background:transparent!important;
  }
}


/* ==========================================================================
   v2.8.7.185 — Desktop story mobile-parity interaction
   Desktop no longer opens/grows a photo on hover. The existing shared active
   strip changes only on click/focus, matching mobile tap behaviour. Keep the
   selected image filling the same strip height while the flex width slides open.
   ========================================================================== */
#sa-public-theme.page-index .sa-story-strip img,
#sa-public-theme.page-index .sa-story-strip.is-active img{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}
@media(hover:hover) and (pointer:fine){
  #sa-public-theme.page-index .sa-story-strip:hover,
  #sa-public-theme.page-index .sa-story-strip:hover img{
    transform:none!important;
    filter:none!important;
    opacity:1!important;
  }
}

/* v2.8.7.188 — Website Editor source gallery.
   Kept outside the visible layout; the editor scans it as one bulk gallery. */
#sa-public-theme .heritage-editor-gallery-source,
body.home #sa-public-theme .heritage-editor-gallery-source{
  display:none!important;
}


/* ==========================================================================
   v2.8.7.191 — Recent Posts arc card photo hover parity
   The collage layout previously forced tile images to transform:none!important,
   cancelling the same smooth media hover used by the rest of the theme.
   Keep the arc/card geometry untouched and animate only the image pixels.
   ========================================================================== */
@media (hover:hover) and (pointer:fine){
  #sa-public-theme.page-index .sa-recent-post-card .sa-recent-post-media img,
  body.home #sa-public-theme .sa-recent-post-card .sa-recent-post-media img{
    transform:translate3d(0,0,0) scale(1)!important;
    -webkit-transform:translate3d(0,0,0) scale(1)!important;
    transition:transform .65s cubic-bezier(.22,1,.36,1),filter .35s ease!important;
    will-change:transform;
    backface-visibility:hidden;
  }
  #sa-public-theme.page-index .sa-recent-post-card:hover .sa-recent-post-media img,
  #sa-public-theme.page-index .sa-recent-post-card:focus-visible .sa-recent-post-media img,
  body.home #sa-public-theme .sa-recent-post-card:hover .sa-recent-post-media img,
  body.home #sa-public-theme .sa-recent-post-card:focus-visible .sa-recent-post-media img{
    transform:translate3d(0,0,0) scale(1.035)!important;
    -webkit-transform:translate3d(0,0,0) scale(1.035)!important;
    filter:saturate(.96);
  }
}
@media (prefers-reduced-motion:reduce){
  #sa-public-theme.page-index .sa-recent-post-card .sa-recent-post-media img,
  body.home #sa-public-theme .sa-recent-post-card .sa-recent-post-media img{
    transition:none!important;
    transform:none!important;
    -webkit-transform:none!important;
  }
}

/* =========================================================
   v2.8.7.198 — Heritage exact-quality scroll performance
   Only the currently moving fullscreen layer is GPU-promoted. Hidden exact
   originals do not allocate compositor textures, and the base image remains
   unscaled so fullscreen sharpness is unchanged.
   ========================================================= */
#sa-public-theme.page-index .heritage-cinema-layer,
body.home #sa-public-theme .heritage-cinema-layer{
  contain:paint;
}
#sa-public-theme.page-index .heritage-cinema-layer.is-heritage-moving,
body.home #sa-public-theme .heritage-cinema-layer.is-heritage-moving{
  will-change:transform!important;
  backface-visibility:hidden!important;
  transform-style:preserve-3d;
}
#sa-public-theme.page-index .heritage-cinema-image,
body.home #sa-public-theme .heritage-cinema-image{
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}

/* Mobile New Collection copy stays still while the page scrolls. */
@media (max-width:767px){
  #sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-card,
  body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-card,
  #sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-content,
  body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-content,
  #sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-content .eyebrow,
  #sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-content h2,
  #sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-content p,
  #sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-content .btn,
  body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-content .eyebrow,
  body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-content h2,
  body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-content p,
  body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-content .btn{
    opacity:1!important;
    transform:none!important;
    translate:none!important;
    animation:none!important;
    transition:none!important;
    will-change:auto!important;
  }
}
@media (max-width:767px){
  #sa-public-theme.page-index .heritage-scroll-stage .heritage-wedding-card,
  body.home #sa-public-theme .heritage-scroll-stage .heritage-wedding-card{
    --heritage-card-shadow:.095!important;
    --heritage-overlay-a:.88!important;
    --heritage-overlay-b:.42!important;
    box-shadow:0 14px 38px rgba(41,9,13,.095)!important;
    transition:none!important;
  }
}
/* v2.8.7.208 — hero trust copy must stay visible and wrap at every width. */
#sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-premium-hero-copy,
body.home main .hero.sa-premium-app-hero .sa-premium-hero-copy,
#sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-trust,
body.home main .hero.sa-premium-app-hero .sa-hero-trust,
#sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-trust-copy,
body.home main .hero.sa-premium-app-hero .sa-hero-trust-copy{
  visibility:visible!important;
  opacity:1!important;
}
#sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-trust,
body.home main .hero.sa-premium-app-hero .sa-hero-trust{
  display:flex!important;
  position:relative!important;
  z-index:5!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  max-width:100%!important;
  overflow:visible!important;
}
#sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-trust-copy,
body.home main .hero.sa-premium-app-hero .sa-hero-trust-copy{
  display:inline!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Older browsers without the individual translate property still float the albums. */
@supports not (translate:0 0){
  #sa-public-theme.page-index .sa-premium-app-hero .sa-album-card-front,
  body.home .sa-premium-app-hero .sa-album-card-front{
    animation-name:saHeroPhotoFloatFrontFallback!important;
    will-change:transform!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-album-card-middle,
  body.home .sa-premium-app-hero .sa-album-card-middle{
    animation-name:saHeroPhotoFloatMiddleFallback!important;
    will-change:transform!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-album-card-back,
  body.home .sa-premium-app-hero .sa-album-card-back{
    animation-name:saHeroPhotoFloatBackFallback!important;
    will-change:transform!important;
  }
}
@keyframes saHeroPhotoFloatFrontFallback{
  0%,100%{transform:translate3d(0,0,0) rotateY(-6deg) rotateZ(-4deg) translateZ(54px)}
  50%{transform:translate3d(0,-15px,0) rotateY(-6deg) rotateZ(-4deg) translateZ(54px)}
}
@keyframes saHeroPhotoFloatMiddleFallback{
  0%,100%{transform:translate3d(0,0,0) rotateY(-8deg) rotateZ(3.2deg) translateZ(22px)}
  50%{transform:translate3d(0,-11px,0) rotateY(-8deg) rotateZ(3.2deg) translateZ(22px)}
}
@keyframes saHeroPhotoFloatBackFallback{
  0%,100%{transform:translate3d(0,0,0) rotateY(-10deg) rotateZ(8deg)}
  50%{transform:translate3d(0,-13px,0) rotateY(-10deg) rotateZ(8deg)}
}
/* v2.8.7.208 — scale the homepage hero to short and tall viewports, not width alone. */
#sa-public-theme.page-index main .hero.sa-premium-app-hero,
body.home main .hero.sa-premium-app-hero{
  min-height:100vh!important;
  min-height:100svh!important;
  height:auto!important;
}
@media (min-width:981px) and (max-height:760px){
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-grid,
  body.home .sa-premium-app-hero .sa-premium-hero-grid{
    padding:clamp(54px,9vh,78px) 0 clamp(34px,5vh,50px)!important;
    gap:clamp(20px,3vw,48px)!important;
    align-items:center!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-visual,
  body.home .sa-premium-app-hero .sa-premium-hero-visual{
    height:clamp(310px,70vh,500px)!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-album-card,
  body.home .sa-premium-app-hero .sa-album-card{
    width:clamp(220px,24vw,300px)!important;
    height:clamp(270px,64vh,400px)!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-stat-rating,
  body.home .sa-premium-app-hero .sa-premium-stat-rating{top:clamp(4px,4vh,30px)!important}
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-stat-revisions,
  body.home .sa-premium-app-hero .sa-premium-stat-revisions{bottom:clamp(8px,5vh,38px)!important}
}
@media (min-width:701px) and (max-width:980px) and (max-height:760px){
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-grid,
  body.home .sa-premium-app-hero .sa-premium-hero-grid{
    padding:clamp(68px,11vh,88px) 0 clamp(42px,7vh,60px)!important;
    gap:clamp(20px,4vh,34px)!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-visual,
  body.home .sa-premium-app-hero .sa-premium-hero-visual{
    height:clamp(270px,55vh,420px)!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-album-card,
  body.home .sa-premium-app-hero .sa-album-card{
    width:clamp(190px,32vw,280px)!important;
    height:clamp(240px,49vh,360px)!important;
  }
}
@media (max-width:700px) and (max-height:700px){
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-grid,
  body.home .sa-premium-app-hero .sa-premium-hero-grid{
    padding:clamp(62px,12vh,78px) 0 38px!important;
    gap:clamp(18px,4vh,26px)!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-visual,
  body.home .sa-premium-app-hero .sa-premium-hero-visual{
    height:clamp(210px,45vh,330px)!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-album-card,
  body.home .sa-premium-app-hero .sa-album-card{
    width:clamp(140px,40vw,190px)!important;
    height:clamp(190px,35vh,282px)!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-stat,
  body.home .sa-premium-app-hero .sa-premium-stat{
    padding:10px 11px!important;
  }
}
@media (max-width:700px) and (max-height:520px){
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-grid,
  body.home .sa-premium-app-hero .sa-premium-hero-grid{
    padding:58px 0 30px!important;
    gap:16px!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-visual,
  body.home .sa-premium-app-hero .sa-premium-hero-visual{
    height:210px!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-album-card,
  body.home .sa-premium-app-hero .sa-album-card{
    width:clamp(130px,38vw,166px)!important;
    height:190px!important;
  }
}
/* Short-height screens must shrink the copy block as well as the album artwork. */
@media (max-height:760px){
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-kicker,
  body.home main .hero.sa-premium-app-hero .sa-hero-kicker{
    margin-bottom:clamp(8px,1.8vh,14px)!important;
    font-size:clamp(.58rem,1.7vh,.7rem)!important;
    line-height:1.3!important;
  }
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .hero-copy h1,
  body.home main .hero.sa-premium-app-hero .hero-copy h1{
    font-size:clamp(1.9rem,7vh,4.2rem)!important;
    line-height:.98!important;
    margin-bottom:clamp(8px,1.8vh,14px)!important;
  }
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .hero-copy .lead,
  body.home main .hero.sa-premium-app-hero .hero-copy .lead{
    font-size:clamp(.84rem,2.4vh,.98rem)!important;
    line-height:1.52!important;
    margin-bottom:clamp(12px,2.5vh,20px)!important;
  }
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-actions,
  body.home main .hero.sa-premium-app-hero .sa-hero-actions{
    gap:clamp(9px,1.8vh,14px)!important;
  }
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-actions .btn,
  body.home main .hero.sa-premium-app-hero .sa-hero-actions .btn{
    min-height:clamp(46px,8vh,58px)!important;
  }
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-trust,
  body.home main .hero.sa-premium-app-hero .sa-hero-trust{
    margin-top:clamp(10px,2.2vh,18px)!important;
    gap:clamp(8px,1.6vh,12px)!important;
  }
}/* v2.8.7.208 — fit all hero content to short monitor heights. */
@media (min-width:981px) and (max-height:760px){
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-grid,
  body.home .sa-premium-app-hero .sa-premium-hero-grid{
    padding:clamp(30px,6vh,46px) 0 clamp(18px,3vh,26px)!important;
    gap:clamp(18px,2vw,30px)!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-visual,
  body.home .sa-premium-app-hero .sa-premium-hero-visual{height:clamp(230px,52vh,390px)!important}
  #sa-public-theme.page-index .sa-premium-app-hero .sa-album-card,
  body.home .sa-premium-app-hero .sa-album-card{height:clamp(210px,46vh,310px)!important}
}
@media (min-width:701px) and (max-width:980px) and (max-height:760px){
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-grid,
  body.home .sa-premium-app-hero .sa-premium-hero-grid{
    width:min(calc(100% - 40px),900px)!important;
    grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important;
    align-items:center!important;
    gap:clamp(14px,2.5vw,24px)!important;
    padding:clamp(50px,9vh,66px) 0 clamp(20px,4vh,30px)!important;
  }
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-visual,
  body.home .sa-premium-app-hero .sa-premium-hero-visual{height:clamp(210px,48vh,340px)!important;min-width:0!important}
  #sa-public-theme.page-index .sa-premium-app-hero .sa-album-card,
  body.home .sa-premium-app-hero .sa-album-card{width:clamp(130px,22vw,205px)!important;height:clamp(190px,39vh,280px)!important}
}
@media (max-width:700px) and (max-height:700px){
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-grid,
  body.home .sa-premium-app-hero .sa-premium-hero-grid{padding:clamp(46px,9vh,62px) 0 clamp(18px,3vh,26px)!important;gap:clamp(14px,3vh,22px)!important}
  #sa-public-theme.page-index .sa-premium-app-hero .sa-premium-hero-visual,
  body.home .sa-premium-app-hero .sa-premium-hero-visual{height:clamp(170px,35vh,250px)!important}
  #sa-public-theme.page-index .sa-premium-app-hero .sa-album-card,
  body.home .sa-premium-app-hero .sa-album-card{height:clamp(160px,31vh,220px)!important}
}
@media (max-height:760px){
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-kicker,
  body.home main .hero.sa-premium-app-hero .sa-hero-kicker{margin-bottom:clamp(6px,1.2vh,10px)!important;font-size:clamp(.55rem,1.45vh,.68rem)!important;line-height:1.2!important}
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .hero-copy h1,
  body.home main .hero.sa-premium-app-hero .hero-copy h1{font-size:clamp(1.65rem,7.2vh,3.6rem)!important;line-height:.96!important;margin-bottom:clamp(6px,1.2vh,10px)!important}
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .hero-copy .lead,
  body.home main .hero.sa-premium-app-hero .hero-copy .lead{font-size:clamp(.78rem,2.1vh,.93rem)!important;line-height:1.42!important;margin-bottom:clamp(8px,1.6vh,13px)!important}
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-actions,
  body.home main .hero.sa-premium-app-hero .sa-hero-actions{gap:clamp(7px,1.2vh,10px)!important}
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-actions .btn,
  body.home main .hero.sa-premium-app-hero .sa-hero-actions .btn{min-height:clamp(40px,6.8vh,52px)!important;padding-top:clamp(8px,1.4vh,11px)!important;padding-bottom:clamp(8px,1.4vh,11px)!important}
  #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-hero-trust,
  body.home main .hero.sa-premium-app-hero .sa-hero-trust{margin-top:clamp(7px,1.5vh,11px)!important;gap:clamp(6px,1vh,9px)!important}
}
/* v2.8.7.208 — reduce “Every Memory Deserves A Beautiful Story” by 30% at each responsive size. */
#sa-public-theme.page-index main .hero.sa-premium-app-hero #sa-home-hero-title{font-size:clamp(2.8rem,3.815vw,4.515rem)!important}
@media (max-width:1180px){#sa-public-theme.page-index main .hero.sa-premium-app-hero #sa-home-hero-title{font-size:clamp(2.59rem,3.745vw,3.78rem)!important}}
@media (max-width:980px){#sa-public-theme.page-index main .hero.sa-premium-app-hero #sa-home-hero-title{font-size:clamp(2.625rem,6.3vw,3.99rem)!important}}
@media (max-width:700px){#sa-public-theme.page-index main .hero.sa-premium-app-hero #sa-home-hero-title{font-size:clamp(2.1rem,9.8vw,3.115rem)!important}}
@media (max-height:760px){#sa-public-theme.page-index main .hero.sa-premium-app-hero #sa-home-hero-title{font-size:clamp(1.155rem,5.04vh,2.52rem)!important}}


/* ==========================================================================
   v2.8.7.208 — RESOLVED THEME PALETTE — FINAL AUTHORITY
   data-sa-theme is resolved before paint from saved choice or OS preference.
   Light mode keeps the original theme; dark mode uses the app-reference palette.
   ========================================================================== */

  html[data-sa-theme="dark"]{
    color-scheme:dark;
    --sa-dark-bg:#160708;
    --sa-dark-card:#210c0e;
    --sa-dark-raised:#301014;
    --sa-dark-raised-2:#381318;
    --sa-dark-text:#fff7f7;
    --sa-dark-muted:#e8d5d7;
    --sa-dark-accent:#f1b9bd;
    --sa-dark-border:#68474c;
    --sa-dark-brand:#741323;
    --cream:#160708;
    --ivory:#210c0e;
    --beige:#301014;
    --gold:#d1ad70;
    --gold2:#ead09d;
    --wine:#ad3549;
    --wine2:#741323;
    --ink:#fff7f7;
    --muted:#e8d5d7;
    --line:rgba(241,185,189,.22);
    --white:#fff7f7;
    --shadow:0 22px 60px rgba(0,0,0,.34);
    --shadow-sm:0 10px 30px rgba(0,0,0,.25);
  }

  html[data-sa-theme="dark"],
html[data-sa-theme="dark"] body,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main{
    background:var(--sa-dark-bg)!important;
    color:var(--sa-dark-text)!important;
  }

  /* Main light canvases -> app body canvas. Photo/video stages are deliberately excluded. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main > .section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main > .section-sm,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main > .page-hero,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main > .gallery-hero,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main > .album-view-hero,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .occasion-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-posts-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-posts-grid,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-why-v53-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .why-signature-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .story-wave-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-about main .about-wave-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-albums main .albums-wave-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-services main .services-wave-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-portfolio main .portfolio-wave-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-contact main .contact-wave-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-gallery main .gallery-showcase,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-gallery main .gallery-cta,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-album-details main .album-story-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-album-details main .album-gallery-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-album-details main .album-spec-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-album-details main .album-process-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-album-details main .album-final-cta,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .journal-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .faq-premium,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .legal-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .pre-footer-cream{
    background-color:var(--sa-dark-bg)!important;
    color:var(--sa-dark-text)!important;
  }

  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main > .page-hero,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .page-hero{
    background:
      radial-gradient(circle at 84% 12%,rgba(173,53,73,.18),transparent 29%),
      linear-gradient(145deg,#160708 0%,#210c0e 100%)!important;
  }

  /* Typography hierarchy: app reference uses warm white titles + muted pink-beige copy. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main h1,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main h2,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main h3,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main h4,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main h5,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main h6,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main strong,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main b,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main dt,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main th,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .section-title,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .card-title,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .form-title,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .dashboard-title,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .widget-title,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .policy-title,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main #sa-why-v53-title,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonials-heading{
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
    text-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main p,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main li,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main dd,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main td,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main caption,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main small,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main label,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main legend,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .lead,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .muted,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .person small,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonial-person-copy small,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .catalog-price-label,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-description,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-meta,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-why-v53-description,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-why-v53-quote,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .album-card-note,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .service-card-note,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .form-note{
    color:var(--sa-dark-muted)!important;
    -webkit-text-fill-color:var(--sa-dark-muted)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .eyebrow,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .text-link,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .album-back-link,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .service-text-link,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .album-text-link,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .price,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-link,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-intro-eyebrow,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-why-v53-eyebrow,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-why-v53-kicker,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .studio-bridge-label{
    color:var(--sa-dark-accent)!important;
    -webkit-text-fill-color:var(--sa-dark-accent)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .breadcrumbs,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .breadcrumbs a{
    color:rgba(232,213,215,.78)!important;
    -webkit-text-fill-color:rgba(232,213,215,.78)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main ::selection{background:rgba(241,185,189,.28);color:var(--sa-dark-text)}

  /* App-reference card surface: #210C0E. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .product-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .product-card-body,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .service-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .service-card-content,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .soft-panel,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .form-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .feature-box,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .quote-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .pricing-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .journal-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .journal-feature,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .journal-intro,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .faq-item,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .legal-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .stat-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .studio-bridge-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonial-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .newsletter-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .newsletter-wave-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .story-wave-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .dark-panel:not(.heritage-wedding-card),
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sidebar,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .faq-intro,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .legal-summary,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .album-cta-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .album-spec-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .album-process-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .dashboard-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .cart-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .checkout-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .order-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .wishlist-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .premium-page-intro,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .portfolio-intro,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .services-intro,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .gallery-premium-intro,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .feature-bridge,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-public-account>div,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-skeleton,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-posts-status.is-card-empty,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-why-v53-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .story-wave-card.sa-story-strips-section{
    background:var(--sa-dark-card)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    border-color:var(--sa-dark-border)!important;
    box-shadow:0 14px 38px rgba(0,0,0,.28)!important;
  }

  /* Homepage occasion cards had stronger old light selectors; match them exactly. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-card:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-card:focus-visible,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-content{
    background:var(--sa-dark-card)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    border-color:var(--sa-dark-border)!important;
    box-shadow:0 20px 48px rgba(0,0,0,.28)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-card:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-card:focus-visible{
    border-color:rgba(241,185,189,.48)!important;
    box-shadow:0 24px 56px rgba(0,0,0,.34)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-media,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .album-card-media,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .service-card-media,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-portfolio main .masonry-item,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-gallery main .gallery-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-album-details main .album-view-cover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-album-details main .album-editorial-gallery-20 .album-gallery-item,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-album-details main .album-editorial-gallery .album-gallery-item{
    background:var(--sa-dark-card)!important;
    border-color:var(--sa-dark-border)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-badge,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .badge,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .service-card-badge,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .legal-number,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .journal-index,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-author .sa-recent-post-type,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-empty-icon,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-posts-status{
    background:var(--sa-dark-raised)!important;
    background-image:none!important;
    color:var(--sa-dark-accent)!important;
    -webkit-text-fill-color:var(--sa-dark-accent)!important;
    border-color:var(--sa-dark-border)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-title,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-title *,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .product-card h3,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .service-card h3{
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-occasion-footer,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .album-card-action,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .service-card-action{
    border-color:var(--sa-dark-border)!important;
  }

  /* Testimonials/Why — remove the old light wash and use the app dark canvas/card hierarchy. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-testimonials-section,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .sa-testimonials-section{
    background:var(--sa-dark-bg)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-testimonials-section::before,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .sa-testimonials-section::before{
    background:none!important;
    opacity:0!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonials-heading,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonial-card,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonial-person-copy strong,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main #sa-why-v53-title,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-why-v53-card h3{
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonial-card{
    background:var(--sa-dark-card)!important;
    background-image:none!important;
    border-color:var(--sa-dark-border)!important;
    box-shadow:0 14px 38px rgba(0,0,0,.28)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonial-card:hover{
    background:var(--sa-dark-card)!important;
    border-color:rgba(241,185,189,.42)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.34)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonial-card blockquote,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonial-person-copy small,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-why-v53-description,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-why-v53-quote{
    color:var(--sa-dark-muted)!important;
    -webkit-text-fill-color:var(--sa-dark-muted)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonial-person img{
    border-color:rgba(241,185,189,.28)!important;
    box-shadow:0 0 0 1px rgba(104,71,76,.62),0 7px 18px rgba(0,0,0,.24)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-testimonial-quote-mark{color:rgba(241,185,189,.18)!important;-webkit-text-fill-color:rgba(241,185,189,.18)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .rating{color:#d1ad70!important;-webkit-text-fill-color:#d1ad70!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-why-v53-icon,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-stat-icon,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .studio-stat-icon,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .faq-icon,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .icon{
    background:var(--sa-dark-raised)!important;
    color:var(--sa-dark-accent)!important;
    -webkit-text-fill-color:var(--sa-dark-accent)!important;
    border-color:var(--sa-dark-border)!important;
  }

  /* Inputs/forms: no white controls in system dark mode. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main textarea,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main select,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer input,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer textarea,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer select{
    background:var(--sa-dark-bg)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
    border-color:var(--sa-dark-border)!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main input::placeholder,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main textarea::placeholder,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer input::placeholder,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer textarea::placeholder{
    color:rgba(232,213,215,.60)!important;
    -webkit-text-fill-color:rgba(232,213,215,.60)!important;
    opacity:1!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main input:focus,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main textarea:focus,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main select:focus{
    border-color:var(--sa-dark-accent)!important;
    outline-color:var(--sa-dark-accent)!important;
  }

  /* Buttons and filter controls mirror app hierarchy. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .btn-primary,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main button[type="submit"],
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main input[type="submit"],
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-premium-app-hero .sa-project-start-btn{
    background:var(--sa-dark-brand)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
    border-color:#982f40!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .btn-primary:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main button[type="submit"]:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main input[type="submit"]:hover{
    background:#8f2940!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .btn-outline,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .filter-btn,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .gallery-filter-btn,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-recent-filter{
    background:var(--sa-dark-raised)!important;
    background-image:none!important;
    color:var(--sa-dark-muted)!important;
    -webkit-text-fill-color:var(--sa-dark-muted)!important;
    border-color:var(--sa-dark-border)!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .filter-btn:hover:not(.active),
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .gallery-filter-btn:hover:not(.active),
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-recent-filter:hover:not(.is-active){
    background:var(--sa-dark-raised-2)!important;
    color:var(--sa-dark-accent)!important;
    -webkit-text-fill-color:var(--sa-dark-accent)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .filter-btn.active,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .filter-btn.active:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .gallery-filter-btn.active,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .gallery-filter-btn.active:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-recent-filter.is-active,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-recent-filter.is-active:hover{
    background:var(--sa-dark-brand)!important;
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
    border-color:#982f40!important;
  }

  /* Header/menu — explicit top + scrolled states, so no white strip/surface can win by specificity. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index .site-header,
html[data-sa-theme="dark"] body.home #sa-public-theme#sa-public-theme .site-header{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
    color:var(--sa-dark-text)!important;
  }
  @media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .container.nav-wrap,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .container.nav-wrap,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index .site-header .container.nav-wrap,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index .site-header:not(.is-scrolled) .container.nav-wrap,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index .site-header.is-scrolled .container.nav-wrap,
html[data-sa-theme="dark"] body.home #sa-public-theme#sa-public-theme .site-header .container.nav-wrap,
html[data-sa-theme="dark"] body.home #sa-public-theme#sa-public-theme .site-header.is-scrolled .container.nav-wrap,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-wp-header,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .mobile-nav,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-wp-mobile-nav{
    background:var(--sa-dark-card)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    border-color:var(--sa-dark-border)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.32)!important;
  }}

  /* Profile dropdown belongs to both desktop and mobile dark palettes.
     The prior min-width:1081px group left a white panel under white text
     at mobile widths. Keep the rule outside that breakpoint. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-menu{
    background:var(--sa-dark-card)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    border-color:var(--sa-dark-border)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.32)!important;
  }
  @media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .container.nav-wrap::before,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .container.nav-wrap::before,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap::before{
    background:linear-gradient(90deg,
      #790a20 0%,#860b24 38%,#9a0d2b 47%,#ad3549 49.4%,
      var(--sa-dark-card) 50%,var(--sa-dark-card) 100%)!important;
    background-size:200% 100%!important;
  }}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .nav a,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text strong,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .nav-actions .plain,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .mobile-toggle,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-wp-header .sa-wp-nav a,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-wp-header .sa-wp-actions > a,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-wp-header .sa-auth-open,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .mobile-nav a,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-wp-mobile-nav a,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-menu a,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-menu button,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-menu a span{
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text small{
    color:var(--sa-dark-muted)!important;
    -webkit-text-fill-color:var(--sa-dark-muted)!important;
  }
  @media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand img,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-brand-inverted) .brand img,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index .site-header:not(.is-brand-inverted) .brand img{
    filter:brightness(0) invert(1)!important;
  }}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .nav a.active,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .nav a[aria-current="page"],
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .nav a:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .nav a:focus-visible{
    background:transparent!important;
    background-image:none!important;
    border-color:transparent!important;
    box-shadow:none!important;
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .mobile-nav a.active,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .mobile-nav a:hover{
    background:var(--sa-dark-raised)!important;
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .nav.sa-waterdrop-ready .sa-nav-waterdrop{
    background:var(--sa-dark-raised)!important;
    box-shadow:inset 0 0 0 1px rgba(241,185,189,.18),0 7px 18px rgba(0,0,0,.24)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-trigger,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-bell,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-auth-open,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-boxed-login{
    background:var(--sa-dark-raised)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    border-color:var(--sa-dark-border)!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-trigger svg,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-bell svg,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .mobile-toggle svg{
    color:var(--sa-dark-accent)!important;
    stroke:currentColor!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .header-avatar{background:#fff7f7!important;color:#741323!important;-webkit-text-fill-color:#741323!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-menu::before{background:var(--sa-dark-card)!important;border-color:var(--sa-dark-border)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-menu-head,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-menu .header-logout,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .mobile-account-links{border-color:rgba(104,72,76,.82)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-menu a:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-menu button:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .mobile-nav a:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-wp-mobile-nav a:hover{background:var(--sa-dark-raised)!important}

  /* FAQ/legal surfaces follow the app card system instead of a bright maroon block. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-faq main .faq-q,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .faq-list .faq-q,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .policy-accordion .faq-q,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .journal-accordion-list .faq-q{
    background:var(--sa-dark-raised)!important;
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
    border-color:var(--sa-dark-border)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .faq-list .faq-q *,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .policy-accordion .faq-q *,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .journal-accordion-list .faq-q *{color:var(--sa-dark-text)!important;-webkit-text-fill-color:var(--sa-dark-text)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .faq-list .faq-item.open,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .policy-accordion .faq-item.open,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .journal-accordion-list .faq-item.open,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .faq-list .faq-item.open > .faq-a,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .policy-accordion .faq-item.open > .faq-a,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .journal-accordion-list .faq-item.open > .faq-a{
    background:var(--sa-dark-card)!important;
    color:var(--sa-dark-muted)!important;
    border-color:var(--sa-dark-border)!important;
  }

  /* Image overlays/lightboxes stay image-first; only chrome adopts dark palette. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .image-card .overlay,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .masonry-caption{
    background:rgba(22,7,8,.82)!important;
    color:var(--sa-dark-text)!important;
    border-color:var(--sa-dark-border)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .image-card .overlay *,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .masonry-caption *{color:var(--sa-dark-text)!important;-webkit-text-fill-color:var(--sa-dark-text)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-gallery main .hero-seal{
    background:var(--sa-dark-card)!important;
    color:var(--sa-dark-text)!important;
    border-color:var(--sa-dark-border)!important;
    box-shadow:0 16px 36px rgba(0,0,0,.30)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-gallery main .hero-seal *{color:var(--sa-dark-text)!important;-webkit-text-fill-color:var(--sa-dark-text)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .gallery-lightbox,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-album-lightbox{background:rgba(10,2,5,.97)!important;color:#fff!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .lightbox-close,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .lightbox-prev,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .lightbox-next,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .gallery-card-arrow{
    background:var(--sa-dark-raised)!important;
    color:var(--sa-dark-accent)!important;
    border-color:var(--sa-dark-border)!important;
  }

  /* Newsletter/footer — one clean app-style pill, no inherited form underline. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer{
    background:var(--sa-dark-bg)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    border-top:0!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer h1,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer h2,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer h3,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer h4,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer strong{color:var(--sa-dark-text)!important;-webkit-text-fill-color:var(--sa-dark-text)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer p,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer a,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer .footer-bottom span{color:var(--sa-dark-muted)!important;-webkit-text-fill-color:var(--sa-dark-muted)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer a:hover{color:var(--sa-dark-accent)!important;-webkit-text-fill-color:var(--sa-dark-accent)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer .newsletter-inline{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    overflow:hidden!important;
    min-height:52px!important;
    padding:4px!important;
    background:var(--sa-dark-card)!important;
    background-image:none!important;
    border:1px solid var(--sa-dark-border)!important;
    border-radius:999px!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer .newsletter-inline input{
    flex:1 1 auto!important;
    min-width:0!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 18px!important;
    background:transparent!important;
    background-image:none!important;
    border:0!important;
    border-bottom:0!important;
    border-radius:0!important;
    outline:0!important;
    box-shadow:none!important;
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer .newsletter-inline input:focus{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer .newsletter-inline .btn,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-footer .newsletter-inline button.btn{
    flex:0 0 auto!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 22px!important;
    border:1px solid #982f40!important;
    border-radius:999px!important;
    background:var(--sa-dark-brand)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
    box-shadow:none!important;
  }

  /* Heritage/photo hero content stays white on photography. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .hero *,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .hero *,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .heritage-wedding-card h2,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .heritage-wedding-card p,
html[data-sa-theme="dark"] body.home #sa-public-theme#sa-public-theme main .heritage-wedding-card h2,
html[data-sa-theme="dark"] body.home #sa-public-theme#sa-public-theme main .heritage-wedding-card p,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .gallery-lightbox *,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sa-album-lightbox *{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .heritage-wedding-card .eyebrow,
html[data-sa-theme="dark"] body.home #sa-public-theme#sa-public-theme main .heritage-wedding-card .eyebrow{color:#ead09d!important;-webkit-text-fill-color:#ead09d!important}

  /* Homepage recent posts — full app-reference card/content hierarchy, including old hard-coded meta colors. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-card{
    background:var(--sa-dark-card)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    border-color:var(--sa-dark-border)!important;
    box-shadow:0 14px 38px rgba(0,0,0,.28)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-card:hover{
    border-color:rgba(241,185,189,.42)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.34)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-card h3,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-author-text,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-author-text strong{
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-caption,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-author-text>span,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-meta{
    color:var(--sa-dark-muted)!important;
    -webkit-text-fill-color:var(--sa-dark-muted)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-meta{
    border-top-color:rgba(104,71,76,.70)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-open,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-caption-more,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-type{
    color:var(--sa-dark-accent)!important;
    -webkit-text-fill-color:var(--sa-dark-accent)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-author .sa-recent-post-type{
    background:var(--sa-dark-raised)!important;
    border-color:var(--sa-dark-border)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-avatar{
    background:var(--sa-dark-raised)!important;
    color:var(--sa-dark-accent)!important;
    -webkit-text-fill-color:var(--sa-dark-accent)!important;
    border-color:var(--sa-dark-border)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-posts-grid::before{
    background:linear-gradient(90deg,#160708 0%,rgba(22,7,8,.995)22%,rgba(22,7,8,.96)44%,rgba(22,7,8,.82)62%,rgba(22,7,8,.52)80%,rgba(22,7,8,.18)92%,rgba(22,7,8,0)100%)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-posts-grid::after{
    background:linear-gradient(270deg,#160708 0%,rgba(22,7,8,.995)22%,rgba(22,7,8,.96)44%,rgba(22,7,8,.82)62%,rgba(22,7,8,.52)80%,rgba(22,7,8,.18)92%,rgba(22,7,8,0)100%)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-placeholder,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-empty-media{background:linear-gradient(145deg,#301014,#210c0e)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-post-media.is-collage{background:var(--sa-dark-bg)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-nav:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .sa-recent-nav:focus-visible{background:var(--sa-dark-raised)!important}

  /* Sidebar/account selected state */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sidebar a,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sidebar button,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sidebar h1,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sidebar h2,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sidebar h3,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sidebar h4,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sidebar span{color:var(--sa-dark-text)!important;-webkit-text-fill-color:var(--sa-dark-text)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sidebar a:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sidebar a.active,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .sidebar a[aria-current="page"]{background:var(--sa-dark-raised)!important;color:var(--sa-dark-text)!important;-webkit-text-fill-color:var(--sa-dark-text)!important}

  /* Feedback + cursor + scrollbar */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .toast{
    background:var(--sa-dark-card)!important;
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
    border:1px solid var(--sa-dark-border)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.34)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .progress{background:linear-gradient(90deg,#ad3549,#f1b9bd)!important}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme{scrollbar-color:#68474c #160708}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme::-webkit-scrollbar-track{background:#160708}
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme::-webkit-scrollbar-thumb{background:#68474c;border-color:#160708}

  /* Final audit: specialty light remnants */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .breadcrumbs{
    background:var(--sa-dark-raised)!important;
    color:var(--sa-dark-muted)!important;
    -webkit-text-fill-color:var(--sa-dark-muted)!important;
    border-color:var(--sa-dark-border)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .error-page{
    background:var(--sa-dark-bg)!important;
    color:var(--sa-dark-text)!important;
  }
  /* Homepage Studio Notes newsletter — app-style single pill control.
     This intentionally outranks the generic dark input rule above, which
     otherwise paints .newsletter-email as a separate #160708 rectangle. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact{
    background:var(--sa-dark-raised)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    border-color:var(--sa-dark-border)!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact .field,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact .field{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact .field::before,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact .field::after,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact .field::before,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact .field::after{
    display:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact input.newsletter-email,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact input.newsletter-email{
    background:transparent!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
    caret-color:var(--sa-dark-accent)!important;
    border-color:transparent!important;
    outline:0!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact input.newsletter-email::placeholder,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact input.newsletter-email::placeholder{
    color:rgba(232,213,215,.66)!important;
    -webkit-text-fill-color:rgba(232,213,215,.66)!important;
    opacity:1!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact input.newsletter-email:focus,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact input.newsletter-email:focus-visible,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact input.newsletter-email:focus,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact input.newsletter-email:focus-visible{
    background:transparent!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact input.newsletter-email:-webkit-autofill,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact input.newsletter-email:-webkit-autofill:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact input.newsletter-email:-webkit-autofill:focus,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact input.newsletter-email:-webkit-autofill,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact input.newsletter-email:-webkit-autofill:hover,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact input.newsletter-email:-webkit-autofill:focus{
    -webkit-text-fill-color:var(--sa-dark-text)!important;
    caret-color:var(--sa-dark-accent)!important;
    -webkit-box-shadow:0 0 0 1000px var(--sa-dark-raised) inset!important;
    box-shadow:0 0 0 1000px var(--sa-dark-raised) inset!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact .btn,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact button.btn,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact .btn,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact button.btn{
    border-color:#982f40!important;
    background:var(--sa-dark-brand)!important;
    background-image:none!important;
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index main .newsletter-wave-card .newsletter-compact:focus-within,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.home main .newsletter-wave-card .newsletter-compact:focus-within{
    border-color:rgba(241,185,189,.52)!important;
    box-shadow:0 0 0 3px rgba(241,185,189,.07)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-album-details main .album-gallery-count,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-album-details main .album-gallery-count span,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-album-details main .album-spec-item > span{
    color:var(--sa-dark-muted)!important;
    -webkit-text-fill-color:var(--sa-dark-muted)!important;
    border-color:var(--sa-dark-border)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .faq-note span{
    color:var(--sa-dark-muted)!important;
    -webkit-text-fill-color:var(--sa-dark-muted)!important;
  }

  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .header-user-copy strong,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-wp-header .header-user-copy strong,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-menu .header-menu-head strong{
    color:var(--sa-dark-text)!important;
    -webkit-text-fill-color:var(--sa-dark-text)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .header-user-copy small,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .sa-wp-header .header-user-copy small,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-profile-menu .header-menu-head small{
    color:var(--sa-dark-muted)!important;
    -webkit-text-fill-color:var(--sa-dark-muted)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .header-bell b{
    background:#ad3549!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
  }

  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .text-link span,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .gallery-text-link,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme main .gallery-text-link span{
    color:var(--sa-dark-accent)!important;
    -webkit-text-fill-color:var(--sa-dark-accent)!important;
  }

/* ========================================================================== 
   v2.8.7.208 — HEADER THEME TOGGLE + DARK MODE COMPLETION
   Separate from smooth-scroll logic. The toggle is injected by theme-mode.js.
   ========================================================================== */
html[data-sa-theme="light"]{color-scheme:light}
html[data-sa-theme="dark"]{color-scheme:dark}

.sa-theme-toggle{
  position:relative;
  flex:0 0 40px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(59,11,20,.14);
  border-radius:999px;
  background:#fff;
  color:#3b0b14;
  box-shadow:0 8px 24px rgba(59,11,20,.08);
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  transition:background-color 2.4s cubic-bezier(.16,.70,.10,1),border-color 2.4s cubic-bezier(.16,.70,.10,1),color 2.4s cubic-bezier(.16,.70,.10,1),box-shadow 2.4s cubic-bezier(.16,.70,.10,1);
}
.sa-theme-toggle:hover{box-shadow:0 12px 30px rgba(59,11,20,.14)}
.sa-theme-toggle:focus-visible{outline:2px solid #741323;outline-offset:3px}
.sa-theme-toggle svg{position:absolute;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:opacity 2.4s cubic-bezier(.16,.70,.10,1),transform 2.4s cubic-bezier(.16,.70,.10,1)}
.sa-theme-toggle .sa-theme-sun{opacity:1;transform:rotate(0deg) scale(1)}
.sa-theme-toggle .sa-theme-moon{opacity:0;transform:rotate(-45deg) scale(.55)}
html[data-sa-theme="dark"] .sa-theme-toggle{
  background:#301014;
  color:#f1b9bd;
  border-color:#68474c;
  box-shadow:none;
}
html[data-sa-theme="dark"] .sa-theme-toggle:hover{background:#381318;border-color:rgba(241,185,189,.48);box-shadow:0 10px 26px rgba(0,0,0,.26)}
html[data-sa-theme="dark"] .sa-theme-toggle:focus-visible{outline-color:#f1b9bd}
html[data-sa-theme="dark"] .sa-theme-toggle .sa-theme-sun{opacity:0;transform:rotate(70deg) scale(.55)}
html[data-sa-theme="dark"] .sa-theme-toggle .sa-theme-moon{opacity:1;transform:rotate(0deg) scale(1)}
@media(max-width:700px){.sa-theme-toggle{width:36px;height:36px;flex-basis:36px}.sa-theme-toggle svg{width:17px;height:17px}}

/* Browser View Transition: sunrise/sunset atmosphere.
   Root colors cross-fade globally while a separate soft gradient wash blooms
   from the toggle. There is no hard clip-path or solid moving shape. */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
html.sa-theme-view-transition::view-transition-old(root){z-index:1}
html.sa-theme-view-transition::view-transition-new(root){z-index:2}
::view-transition-group(sa-theme-wash){animation:none;z-index:3}
::view-transition-old(sa-theme-wash),::view-transition-new(sa-theme-wash){animation:none;mix-blend-mode:normal}

.sa-theme-atmosphere{
  position:fixed;
  inset:0;
  z-index:2147483000;
  pointer-events:none;
  opacity:0;
  transform-origin:var(--sa-theme-origin-x,85%) var(--sa-theme-origin-y,5%);
  will-change:opacity,transform;
}
.sa-theme-atmosphere.is-sunrise{
  background:
    radial-gradient(circle at var(--sa-theme-origin-x,85%) var(--sa-theme-origin-y,5%),
      rgba(255,250,244,.72) 0%,
      rgba(255,236,219,.42) 18%,
      rgba(241,185,189,.20) 38%,
      rgba(255,255,255,.08) 58%,
      transparent 78%),
    linear-gradient(118deg,rgba(255,244,232,.18) 0%,rgba(255,255,255,.06) 44%,transparent 78%);
}
.sa-theme-atmosphere.is-sunset{
  background:
    radial-gradient(circle at var(--sa-theme-origin-x,85%) var(--sa-theme-origin-y,5%),
      rgba(116,19,35,.30) 0%,
      rgba(79,14,25,.24) 20%,
      rgba(48,16,20,.18) 40%,
      rgba(22,7,8,.10) 60%,
      transparent 80%),
    linear-gradient(118deg,rgba(116,19,35,.12) 0%,rgba(22,7,8,.08) 48%,transparent 82%);
}
.sa-theme-atmosphere.is-active{opacity:1}

/* Fallback for browsers without View Transitions. Scope the transition to painted
   surfaces only so scrolling/layout stays untouched. */
html.sa-theme-fallback-transition body,
html.sa-theme-fallback-transition #sa-public-theme,
html.sa-theme-fallback-transition #sa-public-theme main,
html.sa-theme-fallback-transition #sa-public-theme .site-header .container.nav-wrap,
html.sa-theme-fallback-transition #sa-public-theme .site-footer,
html.sa-theme-fallback-transition #sa-public-theme main .card,
html.sa-theme-fallback-transition #sa-public-theme main .soft-panel,
html.sa-theme-fallback-transition #sa-public-theme main .form-card,
html.sa-theme-fallback-transition #sa-public-theme main .dark-panel,
html.sa-theme-fallback-transition #sa-public-theme main input,
html.sa-theme-fallback-transition #sa-public-theme main textarea,
html.sa-theme-fallback-transition #sa-public-theme main select{
  transition:background-color 2.4s cubic-bezier(.16,.70,.10,1),color 2.4s cubic-bezier(.16,.70,.10,1),border-color 2.4s cubic-bezier(.16,.70,.10,1),box-shadow 2.4s cubic-bezier(.16,.70,.10,1)!important;
}

/* ---- App-reference dark completion for the exact remaining audited surfaces. ---- */
html[data-sa-theme="dark"] #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-premium-stat,
html[data-sa-theme="dark"] body.home #sa-public-theme main .hero.sa-premium-app-hero .sa-premium-stat{
  background:#210c0e!important;
  background-image:none!important;
  color:#fff7f7!important;
  border:1px solid #68474c!important;
  box-shadow:0 16px 38px rgba(0,0,0,.30)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-premium-stat strong,
html[data-sa-theme="dark"] #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-premium-stat small{
  color:#fff7f7!important;-webkit-text-fill-color:#fff7f7!important;
}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-premium-stat small{color:#e8d5d7!important;-webkit-text-fill-color:#e8d5d7!important}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-premium-stat .sa-stat-icon{color:#f1b9bd!important;-webkit-text-fill-color:#f1b9bd!important;background:transparent!important;border:0!important}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .hero.sa-premium-app-hero .sa-premium-stat i{background:#ad3549!important;opacity:1!important}

/* Dark theme parity for the approved Why card; reuse the public theme's existing palette. */
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-card{
  background:#210c0e!important;border-color:#68474c!important;
  box-shadow:0 14px 38px rgba(0,0,0,.28)!important;
}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-card:hover,
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-card:focus-within{
  border-color:rgba(241,185,189,.42)!important;
  box-shadow:0 22px 54px rgba(0,0,0,.4)!important;
}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-kicker{
  background:#4d3038!important;border-color:#68474c!important;
  color:#fff7f7!important;-webkit-text-fill-color:#fff7f7!important;
}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-card .sa-why-v53-icon{
  background:#741323!important;border-color:rgba(255,255,255,.34)!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-quote{
  color:#e8d5d7!important;-webkit-text-fill-color:#e8d5d7!important;
}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-footer{border-color:#68474c!important}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-footer-note{color:#cbb6b9!important}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-details{color:#fff7f7!important}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-dialog{color:#fff7f7!important}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-dialog-inner{background:#210c0e!important;border-color:#68474c!important}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-dialog h2{color:#fff7f7!important;-webkit-text-fill-color:#fff7f7!important}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-dialog p{color:#e8d5d7!important;-webkit-text-fill-color:#e8d5d7!important}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-dialog-kicker{color:#f1b9bd!important}
html[data-sa-theme="dark"] #sa-public-theme.page-index main .sa-why-v53-dialog-close{color:#fff7f7!important;border-color:#68474c!important}

html[data-sa-theme="dark"] #sa-public-theme.page-services main .soft-panel{
  background:#210c0e!important;background-image:none!important;border-color:#68474c!important;box-shadow:0 18px 44px rgba(0,0,0,.28)!important;
}
html[data-sa-theme="dark"] #sa-public-theme.page-services main .soft-panel::after{border-color:rgba(241,185,189,.12)!important}
html[data-sa-theme="dark"] #sa-public-theme.page-services main .soft-panel .timeline::before{background:#ad3549!important}
html[data-sa-theme="dark"] #sa-public-theme.page-services main .soft-panel .timeline-item{border-color:rgba(104,71,76,.70)!important}
html[data-sa-theme="dark"] #sa-public-theme.page-services main .soft-panel .timeline-item::before{background:#ad3549!important;box-shadow:0 0 0 6px #210c0e!important}
html[data-sa-theme="dark"] #sa-public-theme.page-services main .soft-panel .timeline-item strong{color:#fff7f7!important;-webkit-text-fill-color:#fff7f7!important}
html[data-sa-theme="dark"] #sa-public-theme.page-services main .soft-panel .timeline-item p{color:#e8d5d7!important;-webkit-text-fill-color:#e8d5d7!important}

html[data-sa-theme="dark"] #sa-public-theme.page-portfolio main .masonry-item{background:#210c0e!important;border-color:#68474c!important;box-shadow:0 14px 34px rgba(0,0,0,.25)!important}
html[data-sa-theme="dark"] #sa-public-theme.page-portfolio main .masonry-item::before{background:linear-gradient(to top,rgba(22,7,8,.94),rgba(22,7,8,.48) 62%,transparent)!important}
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-portfolio main .portfolio-wave-section .masonry .masonry-item .masonry-caption{
  /* Match light mode exactly: caption stays image-first with no extra panel. */
  background:transparent!important;
  border:0!important;
  border-radius:14px!important;
  padding:0!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-portfolio main .portfolio-wave-section .masonry .masonry-item .masonry-caption strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.35)!important;
}
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-portfolio main .portfolio-wave-section .masonry .masonry-item .masonry-caption small,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-portfolio main .portfolio-wave-section .masonry .masonry-item .masonry-caption span{
  color:rgba(255,255,255,.88)!important;
  -webkit-text-fill-color:rgba(255,255,255,.88)!important;
  text-shadow:0 2px 10px rgba(0,0,0,.38)!important;
}

html[data-sa-theme="dark"] #sa-public-theme.page-contact main .form-card,
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .dark-panel,
html[data-sa-theme="dark"] #sa-public-theme.page-contact main > .section .card{
  background:#210c0e!important;background-image:none!important;border-color:#68474c!important;box-shadow:0 18px 44px rgba(0,0,0,.28)!important;
}
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .form-card h2,
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .dark-panel h3,
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .dark-panel strong{color:#fff7f7!important;-webkit-text-fill-color:#fff7f7!important}
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .dark-panel p,
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .dark-panel a,
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .form-note{color:#e8d5d7!important;-webkit-text-fill-color:#e8d5d7!important}
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .form-card .field label{background:#210c0e!important;color:#e8d5d7!important;-webkit-text-fill-color:#e8d5d7!important}
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme#sa-public-theme.page-contact main .form-card .field input,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme#sa-public-theme.page-contact main .form-card .field textarea,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme#sa-public-theme.page-contact main .form-card .field select,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme#sa-public-theme.page-contact main .form-card .custom-select-trigger,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme#sa-public-theme main #sa-album-planner .sa-contact-select .custom-select-trigger{
  background:#301014!important;background-image:none!important;color:#fff7f7!important;-webkit-text-fill-color:#fff7f7!important;border-color:#68474c!important;box-shadow:none!important;
}
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme#sa-public-theme.page-contact main .form-card .field input:focus,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme#sa-public-theme.page-contact main .form-card .field textarea:focus,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme#sa-public-theme.page-contact main .form-card .custom-select-trigger:focus-visible,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme#sa-public-theme main #sa-album-planner .sa-contact-select .custom-select-trigger:focus-visible,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme#sa-public-theme.page-contact main .form-card .custom-select.open .custom-select-trigger,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme#sa-public-theme main #sa-album-planner .sa-contact-select .custom-select.open .custom-select-trigger{background:#381318!important;border-color:rgba(241,185,189,.55)!important;box-shadow:0 0 0 3px rgba(241,185,189,.07)!important}
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .custom-select-menu,
html[data-sa-theme="dark"] #sa-public-theme main #sa-album-planner .sa-contact-select .custom-select-menu{
  background:#210c0e!important;background-image:none!important;color:#fff7f7!important;border-color:#68474c!important;box-shadow:0 18px 46px rgba(0,0,0,.38)!important;
}
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .custom-select-option,
html[data-sa-theme="dark"] #sa-public-theme main #sa-album-planner .sa-contact-select .custom-select-option{background:transparent!important;color:#e8d5d7!important;-webkit-text-fill-color:#e8d5d7!important}
/* Contact's original dark hover and selected states are preserved.
   Planner uses the same highlighted-row visual for hover AND selected. */
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .custom-select-option:hover,
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .custom-select-option:focus-visible{
  background:#301014!important;color:#fff7f7!important;-webkit-text-fill-color:#fff7f7!important
}
html[data-sa-theme="dark"] #sa-public-theme main #sa-album-planner .sa-contact-select .custom-select-option:hover,
html[data-sa-theme="dark"] #sa-public-theme main #sa-album-planner .sa-contact-select .custom-select-option:focus-visible,
html[data-sa-theme="dark"] #sa-public-theme main #sa-album-planner .sa-contact-select .custom-select-option[aria-selected="true"],
html[data-sa-theme="dark"] #sa-public-theme main #sa-album-planner .sa-contact-select .custom-select-option.is-selected{
  background:#301014!important;color:#fff7f7!important;-webkit-text-fill-color:#fff7f7!important;
  border-color:rgba(241,185,189,.2)!important;box-shadow:inset 3px 0 0 #f1b9bd!important
}
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .custom-select-option[aria-selected="true"],
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .custom-select-option.is-selected{
  background:#381318!important;color:#f1b9bd!important;-webkit-text-fill-color:#f1b9bd!important
}
html[data-sa-theme="dark"] #sa-public-theme.page-contact main select option{background:#210c0e!important;color:#fff7f7!important}
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .btn-primary{background:#741323!important;border-color:#982f40!important;color:#fff7f7!important;-webkit-text-fill-color:#fff7f7!important}

/* Header dark-mode state parity — match the approved light-mode 0-scroll behavior.
   At page top the shell merges into the #160708 canvas with no border/shadow.
   The premium #210C0E card treatment appears only after .is-scrolled, exactly
   like the light menu's flat-top -> premium-scroll state change. */
@media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap{
  background:#160708!important;
  background-image:none!important;
  color:#fff7f7!important;
  border-color:transparent!important;
  box-shadow:none!important;
}}
@media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .container.nav-wrap{
  background:#210c0e!important;
  background-image:none!important;
  color:#fff7f7!important;
  border-color:#68474c!important;
  box-shadow:0 12px 34px rgba(0,0,0,.28)!important;
}}
/* The ribbon's top-state half must merge into the dark canvas too; scrolling
   still brings the existing maroon half across without changing geometry. */
@media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .container.nav-wrap::before{
  background:linear-gradient(90deg,
    #790a20 0%,#860b24 38%,#9a0d2b 47%,#ad3549 49.4%,
    #160708 50%,#160708 100%)!important;
  background-size:200% 100%!important;
  background-repeat:no-repeat!important;
}}
@media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap::before,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .container.nav-wrap::before{
  background:linear-gradient(90deg,
    #790a20 0%,#860b24 38%,#9a0d2b 47%,#ad3549 49.4%,
    #160708 50%,#160708 100%)!important;
  background-size:200% 100%!important;
  background-repeat:no-repeat!important;
}}
@media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap::before{
  background-position:100% 0!important;
}}
@media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .container.nav-wrap::before{
  background-position:0 0!important;
}}
html[data-sa-theme="dark"] #sa-public-theme .site-header .nav a{color:#e8d5d7!important;-webkit-text-fill-color:#e8d5d7!important}
html[data-sa-theme="dark"] #sa-public-theme .site-header .nav a.active,
html[data-sa-theme="dark"] #sa-public-theme .site-header .nav a[aria-current="page"],
html[data-sa-theme="dark"] #sa-public-theme .site-header .nav a:hover{color:#fff7f7!important;-webkit-text-fill-color:#fff7f7!important}

@media(prefers-reduced-motion:reduce){
  .sa-theme-toggle,.sa-theme-toggle svg,.sa-theme-atmosphere{transition:none!important;animation:none!important}
}


/* v2.8.7.208 — Dark 0-scroll header shell must reveal the real page background.
   Keep geometry and the scrolled premium state unchanged; remove only the painted
   top-state surface so gradients/textures behind the header match perfectly. */
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled){
  background:transparent!important;
  background-image:none!important;
  border-bottom-color:transparent!important;
  box-shadow:none!important;
}
@media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap{
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}}

/* =========================================================
   DARK CONTACT SELECT ARROW — LIGHT-MODE GEOMETRY PARITY
   Root fix: the custom chevron kept the light-mode maroon stroke
   (#3b0b14), which became nearly invisible on the dark #301014
   control surface. Keep the exact light-mode size/position/rotation
   and only switch the stroke to the approved dark accent.
   ========================================================= */
html[data-sa-theme="dark"] #sa-public-theme.page-contact main .form-card .custom-select-trigger::after{
  border-right-color:#f1b9bd!important;
  border-bottom-color:#f1b9bd!important;
  opacity:1!important;
}

/* =========================================================
   INNER PAGE REFERENCE REDESIGN — EXACT GEOMETRY PARITY
   Reference geometry is shared by every public inner page.
   Homepage is intentionally excluded because it never receives
   the .sa-inner-reference body class.
   ========================================================= */
#sa-public-theme.sa-inner-reference main{overflow:clip}
#sa-public-theme.sa-inner-reference main>.sa-ref-original-hero{display:none!important}
#sa-public-theme.sa-inner-reference .sa-ref-anchor{display:block;position:relative;top:-88px;visibility:hidden}

/* Reference hero: 1280px editorial canvas, 420px copy column,
   right media breaks out to the viewport edge just like the approved mock-up. */
#sa-public-theme.sa-inner-reference .sa-ref-hero{
  position:relative;isolation:isolate;overflow:hidden;padding:0;
  background:radial-gradient(circle at 5% 32%,rgba(116,19,35,.025),transparent 28%),radial-gradient(circle at 92% 12%,rgba(199,165,106,.045),transparent 24%),#fff;
  border-bottom:1px solid rgba(24,4,9,.07)
}
#sa-public-theme.sa-inner-reference .sa-ref-hero::before,
#sa-public-theme.sa-inner-reference .sa-ref-feature-section::before{
  content:"";position:absolute;pointer-events:none;z-index:0;
  inset:auto -8% -62px -8%;height:165px;opacity:.38;
  background:radial-gradient(80% 62% at 12% 100%,transparent 62%,rgba(116,19,35,.055) 63%,transparent 64.5%),radial-gradient(82% 62% at 62% 100%,transparent 63%,rgba(199,165,106,.075) 64%,transparent 65.5%),radial-gradient(76% 58% at 96% 100%,transparent 62%,rgba(116,19,35,.045) 63%,transparent 64.5%);
  transform:scaleX(1.1)
}
#sa-public-theme.sa-inner-reference .sa-ref-hero-grid{
  position:relative;z-index:2;display:grid;
  grid-template-columns:minmax(390px,420px) minmax(0,1fr);
  align-items:center;gap:28px;min-height:410px
}
#sa-public-theme.sa-inner-reference .sa-ref-hero-copy{min-width:0;align-self:center;padding:18px 0 20px}
#sa-public-theme.sa-inner-reference .sa-ref-breadcrumbs{
  display:inline-flex;align-items:center;min-height:34px;margin:0 0 21px;padding:7px 13px;
  border:1px solid rgba(116,19,35,.13);border-radius:999px;background:rgba(255,255,255,.82);
  color:#67585a;font-size:.78rem;line-height:1;box-shadow:0 8px 24px rgba(52,20,22,.028)
}
#sa-public-theme.sa-inner-reference .sa-ref-eyebrow,
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy>.eyebrow{
  display:flex;align-items:center;gap:11px;margin:0 0 13px;color:#741323;
  letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;font-weight:800
}
#sa-public-theme.sa-inner-reference .sa-ref-eyebrow::before,
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy>.eyebrow::before{content:"✦";color:#741323;font-size:.72rem;letter-spacing:0}
#sa-public-theme.sa-inner-reference .sa-ref-hero h1{
  margin:0;max-width:510px;color:#180409;
  font-family:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;
  font-size:clamp(4.6rem,5.2vw,5.6rem);font-weight:700;letter-spacing:-.05em;line-height:.9;text-wrap:balance
}
#sa-public-theme.sa-inner-reference .sa-ref-hero .lead{
  max-width:430px;margin:27px 0 0;color:#49383a;font-size:1.02rem;line-height:1.62
}
#sa-public-theme.sa-inner-reference .sa-ref-hero-actions{display:flex;align-items:center;margin-top:24px}
#sa-public-theme.sa-inner-reference .sa-ref-hero-cta,
#sa-public-theme.sa-inner-reference .sa-ref-panel-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;
  padding:9px 11px 9px 23px;border-radius:999px;border:1px solid #741323!important;
  background:#741323!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  font-size:.92rem;font-weight:750;box-shadow:0 13px 30px rgba(116,19,35,.16);
  transition:transform .34s cubic-bezier(.2,.7,.2,1),box-shadow .34s ease,background-color .34s ease!important
}
#sa-public-theme.sa-inner-reference .sa-ref-hero-cta:hover,
#sa-public-theme.sa-inner-reference .sa-ref-panel-cta:hover{transform:translateY(-2px);background:#86172a!important;box-shadow:0 18px 34px rgba(116,19,35,.23)}
#sa-public-theme.sa-inner-reference .sa-ref-hero-arrow,
#sa-public-theme.sa-inner-reference .sa-ref-panel-cta>span{
  display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:#fff;
  color:#741323!important;-webkit-text-fill-color:#741323!important;font-size:1rem
}
#sa-public-theme.sa-inner-reference .sa-ref-pager{
  display:flex;align-items:center;gap:11px;width:158px;margin-top:25px;color:#5d4448;font-size:.72rem;font-weight:750
}
#sa-public-theme.sa-inner-reference .sa-ref-pager i{position:relative;display:block;height:1px;flex:1;background:rgba(24,4,9,.18)}
#sa-public-theme.sa-inner-reference .sa-ref-pager i::before{content:"";position:absolute;left:0;top:50%;width:34%;height:2px;transform:translateY(-50%);background:#741323}
#sa-public-theme.sa-inner-reference .sa-ref-pager i::after{content:"";position:absolute;left:34%;top:50%;width:5px;height:5px;border-radius:50%;background:#741323;transform:translate(-50%,-50%)}
#sa-public-theme.sa-inner-reference .sa-ref-hero-media{
  position:relative;align-self:start;height:410px;margin:0 min(-24px,calc((1320px - 100vw)/2)) 0 0;
  overflow:visible;filter:drop-shadow(0 28px 35px rgba(47,25,20,.12))
}
#sa-public-theme.sa-inner-reference .sa-ref-hero-media::before{
  content:"";position:absolute;inset:-6px -7px -7px -7px;z-index:-1;border:1px solid rgba(116,19,35,.2);
  border-radius:48% 0 0 42% / 58% 0 0 43%;transform:translate(3px,-1px)
}
#sa-public-theme.sa-inner-reference .sa-ref-hero-media img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center;
  border-radius:48% 0 0 42% / 58% 0 0 43%;border:0!important;box-shadow:none!important;
  filter:saturate(.96) contrast(1.012)
}
#sa-public-theme.sa-inner-reference .sa-ref-watch{
  position:absolute;right:7%;bottom:17%;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;
  border:1px solid rgba(255,255,255,.72);color:#fff;background:rgba(116,19,35,.9);
  box-shadow:0 15px 34px rgba(55,14,22,.27);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)
}
#sa-public-theme.sa-inner-reference .sa-ref-watch b{font-size:1.15rem;transform:translateX(2px)}
#sa-public-theme.sa-inner-reference .sa-ref-watch small{
  position:absolute;top:-21px;width:140px;text-align:center;color:#fff;font-size:.53rem;font-weight:800;letter-spacing:.17em;white-space:nowrap
}

/* Reference second panel: 1480px wide at desktop with the exact low-gap handoff. */
#sa-public-theme.sa-inner-reference .sa-ref-feature-section{
  position:relative;overflow:hidden;padding:28px 0 48px;background:#fff
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-section::before{top:-72px;bottom:auto;opacity:.22}
#sa-public-theme.sa-inner-reference .sa-ref-feature-section>.container{width:min(calc(100% - 80px),1480px);max-width:none}
#sa-public-theme.sa-inner-reference .sa-ref-feature-card{
  position:relative;z-index:2;display:grid;grid-template-columns:minmax(470px,540px) 180px minmax(0,1fr);
  min-height:400px;overflow:hidden;border:1px solid rgba(116,19,35,.15);border-radius:30px;
  background:linear-gradient(128deg,#fffdf9 0%,#fffaf5 58%,#fff 100%);box-shadow:0 24px 60px rgba(55,28,24,.065)
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-card::before{
  content:"";position:absolute;left:-132px;bottom:-156px;width:315px;height:315px;border:1px solid rgba(116,19,35,.11);border-radius:50%;
  box-shadow:0 0 0 34px rgba(116,19,35,.018),0 0 0 68px rgba(199,165,106,.018);pointer-events:none
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy{position:relative;z-index:2;align-self:center;min-width:0;padding:46px 28px 46px 64px}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{
  margin:0;max-width:500px;color:#180409;font-family:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;
  font-size:clamp(3.15rem,4vw,4.25rem);font-weight:700;line-height:.96;letter-spacing:-.048em;text-wrap:balance
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy p{max-width:520px;margin:20px 0 0;color:#514143;font-size:.97rem;line-height:1.6}
#sa-public-theme.sa-inner-reference .sa-ref-panel-cta{margin-top:21px}
#sa-public-theme.sa-inner-reference .sa-ref-feature-points{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:34px 14px}
#sa-public-theme.sa-inner-reference .sa-ref-feature-point{display:flex;align-items:center;gap:12px;color:#412c31}
#sa-public-theme.sa-inner-reference .sa-ref-feature-point strong{font-size:.84rem;line-height:1.25}
#sa-public-theme.sa-inner-reference .sa-ref-feature-icon{
  display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border:1px solid rgba(116,19,35,.13);border-radius:50%;
  background:#fff;color:#741323;font-size:1.02rem;box-shadow:0 8px 25px rgba(116,19,35,.04)
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-media{
  --sa-ref-surface:#fffdf9;
  --sa-ref-seam:rgba(116,19,35,.18);
  position:relative;isolation:isolate;min-width:0;min-height:400px;margin:0;overflow:hidden;
  border-radius:28px;background:var(--sa-ref-surface);
  box-shadow:inset 0 0 0 1px var(--sa-ref-seam),inset 18px 0 40px rgba(255,253,249,.08)
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-media::before{
  content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:18%;z-index:3;pointer-events:none;
  background:var(--sa-ref-surface);
  clip-path:polygon(0 0,58% 0,39% 7%,65% 14%,35% 22%,62% 30%,31% 39%,59% 48%,33% 57%,64% 66%,36% 75%,60% 84%,40% 92%,56% 100%,0 100%)
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-media::after{
  content:"";position:absolute;left:8.2%;top:8%;bottom:8%;width:1px;z-index:4;pointer-events:none;
  background:linear-gradient(to bottom,transparent 0%,var(--sa-ref-seam) 12%,var(--sa-ref-seam) 88%,transparent 100%);
  transform:rotate(-1.5deg);opacity:.72
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-media img{
  display:block;width:100%;height:100%;min-height:400px;object-fit:cover;object-position:center;
  filter:saturate(.96) contrast(1.015);transform:scale(1.006);transform-origin:center
}


/* Inner feature card uses the theme's canonical type and palette. */
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{
  font-family:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;
  color:#180409!important;font-weight:700!important;letter-spacing:-.04em!important;line-height:1!important
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy p{color:#5b4b4e!important}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy>.eyebrow{color:#741323!important}
#sa-public-theme.sa-inner-reference .sa-ref-feature-point{color:#180409!important}
#sa-public-theme.sa-inner-reference .sa-ref-feature-icon{color:#741323!important;background:#fff!important;border-color:rgba(116,19,35,.16)!important}

/* Existing page-specific content continues below the approved two-panel shell. */
#sa-public-theme.sa-inner-reference main>#sa-ref-original-content,
#sa-public-theme.sa-inner-reference main>.sa-ref-anchor + *{position:relative;z-index:1}
#sa-public-theme.sa-inner-reference main>.section:not(.sa-ref-feature-section):first-of-type{padding-top:70px}

/* Dark mode keeps the geometry identical; only the palette changes. */
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-hero,
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-section{background:#160708!important}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-breadcrumbs{background:#210c0e!important;border-color:#68474c!important;color:#e8d5d7!important;box-shadow:none}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-hero h1,
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{color:#fff7f7!important}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-hero .lead,
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-copy p{color:#e8d5d7!important}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-eyebrow,
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-copy>.eyebrow,
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-eyebrow::before,
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-copy>.eyebrow::before{color:#f1b9bd!important}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-hero-media::before{border-color:#68474c!important}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-pager{color:#e8d5d7!important}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-pager i{background:#68474c!important}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-pager i::before,
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-pager i::after{background:#f1b9bd!important}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-card{background:#210c0e!important;border-color:#68474c!important;box-shadow:none}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-card::before{border-color:#68474c!important;box-shadow:0 0 0 34px rgba(241,185,189,.015),0 0 0 68px rgba(241,185,189,.01)}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-point{color:#fff7f7!important}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-icon{background:#301014!important;border-color:#68474c!important;color:#f1b9bd!important;box-shadow:none}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-media{
  --sa-ref-surface:#210c0e;
  --sa-ref-seam:rgba(241,185,189,.20);
  box-shadow:inset 0 0 0 1px var(--sa-ref-seam),inset 20px 0 44px rgba(22,7,8,.14)
}

@media(max-width:1320px){
  #sa-public-theme.sa-inner-reference .sa-ref-hero-grid{grid-template-columns:minmax(360px,400px) minmax(0,1fr);gap:24px}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-media{margin-right:-24px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section>.container{width:min(calc(100% - 48px),1240px)}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-card{grid-template-columns:minmax(390px,.9fr) 160px minmax(0,1.1fr)}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{padding-left:46px}
}
@media(max-width:1020px){
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media::before,
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media::after{display:none!important}
  #sa-public-theme.sa-inner-reference .sa-ref-hero{padding:34px 0 52px}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-grid{grid-template-columns:1fr;gap:32px;min-height:0}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-copy{max-width:720px;padding:0}
  #sa-public-theme.sa-inner-reference .sa-ref-hero h1{font-size:clamp(4rem,9vw,5.8rem)}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-media{height:410px;margin-right:0}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-media img,
  #sa-public-theme.sa-inner-reference .sa-ref-hero-media::before{border-radius:34px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section{padding-top:34px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section>.container{width:min(calc(100% - 48px),900px)}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-card{grid-template-columns:1fr 1fr;min-height:0}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{padding:44px 22px 26px 42px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-points{padding:30px 32px 30px 0}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media{grid-column:1/-1;min-height:360px;border-radius:40% 40% 28px 28px / 25% 25% 28px 28px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media img{min-height:360px}
}
@media(max-width:700px){
  #sa-public-theme.sa-inner-reference .sa-ref-hero{padding:28px 0 42px}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-grid{gap:26px}
  #sa-public-theme.sa-inner-reference .sa-ref-breadcrumbs{margin-bottom:17px;font-size:.72rem}
  #sa-public-theme.sa-inner-reference .sa-ref-hero h1{font-size:clamp(3.25rem,15vw,4.7rem);line-height:.9}
  #sa-public-theme.sa-inner-reference .sa-ref-hero .lead{font-size:.95rem;line-height:1.6;margin-top:19px}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-actions{margin-top:21px}
  #sa-public-theme.sa-inner-reference .sa-ref-pager{margin-top:22px}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-media{height:320px}
  #sa-public-theme.sa-inner-reference .sa-ref-watch{width:64px;height:64px;right:18px;bottom:18px}
  #sa-public-theme.sa-inner-reference .sa-ref-watch small{display:none}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section{padding:30px 0 54px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section>.container{width:min(calc(100% - 28px),var(--max))}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-card{grid-template-columns:1fr;border-radius:24px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{padding:34px 26px 18px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{font-size:clamp(2.55rem,11vw,3.9rem)}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:18px 22px 30px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-point{flex-direction:column;align-items:flex-start;gap:8px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-point strong{font-size:.74rem}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-icon{width:40px;height:40px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media{grid-column:auto;min-height:285px;border-radius:34% 34% 22px 22px / 20% 20% 22px 22px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media img{min-height:285px}
}
@media(max-width:430px){
  #sa-public-theme.sa-inner-reference .sa-ref-hero h1{font-size:clamp(3rem,16vw,4.05rem)}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-media{height:265px}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-cta,#sa-public-theme.sa-inner-reference .sa-ref-panel-cta{font-size:.86rem}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{padding:30px 20px 16px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-points{padding-inline:18px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media{min-height:245px}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media img{min-height:245px}
}
/* Avoid repeating the exact intro copy already promoted into the reference feature panel. */
#sa-public-theme.sa-inner-reference.page-albums #sa-ref-original-content .premium-page-intro,
#sa-public-theme.sa-inner-reference.page-collections #sa-ref-original-content .premium-page-intro{display:none!important}

/* =========================================================
   INNER PAGE REFERENCE — CONSOLIDATED DESKTOP PROPORTIONS
   2026-10-03 audit: replaces the former BALANCED / BOUNDARY /
   CTA override stack with one source of truth. Header/menu untouched.
   ========================================================= */
@media (min-width:1021px){
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section{
    padding:40px 0 40px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section>.container{
    width:min(calc(100% - 80px),1280px)!important;
    max-width:1280px!important;
    margin-inline:auto!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-card{
    width:100%!important;
    max-width:100%!important;
    height:400px!important;
    min-height:400px!important;
    grid-template-columns:minmax(400px,430px) 150px minmax(0,1fr)!important;
    overflow:hidden!important;
    border-radius:28px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{
    box-sizing:border-box!important;
    height:100%!important;
    min-height:0!important;
    padding:34px 22px 34px 46px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy>.eyebrow{
    margin-bottom:14px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{
    max-width:410px!important;
    margin:0!important;
    font-family:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;
    font-size:clamp(2.85rem,3.15vw,3.35rem)!important;
    font-style:normal!important;
    font-weight:700!important;
    line-height:.98!important;
    letter-spacing:-.042em!important;
    text-wrap:balance!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2 em{
    color:inherit!important;
    font:inherit!important;
    font-style:normal!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy p{
    max-width:405px!important;
    margin:16px 0 0!important;
    font-size:.94rem!important;
    line-height:1.55!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-panel-cta{
    width:max-content!important;
    max-width:100%!important;
    min-height:46px!important;
    margin-top:18px!important;
    padding:8px 10px 8px 21px!important;
    gap:14px!important;
    align-self:flex-start!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
    font-size:.9rem!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-panel-cta>span{
    width:29px!important;height:29px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-points{
    box-sizing:border-box!important;
    height:100%!important;
    min-height:0!important;
    justify-content:center!important;
    gap:17px!important;
    padding:30px 8px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-point{gap:11px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-point strong{font-size:.82rem!important;line-height:1.22!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-icon{width:44px!important;height:44px!important;font-size:1rem!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    border-radius:30px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media img{
    width:100%!important;height:100%!important;min-height:0!important;
    object-fit:cover!important;object-position:center!important;
  }
}
@media (min-width:1021px) and (max-width:1320px){
  #sa-public-theme.sa-inner-reference .sa-ref-hero{padding-top:78px;padding-bottom:32px}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-grid{min-height:500px;align-items:center}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-media{height:500px;margin-right:0}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section>.container{width:min(calc(100% - 56px),1160px)!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-card{
    grid-template-columns:minmax(370px,405px) 140px minmax(0,1fr)!important;
    height:390px!important;min-height:390px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{padding:30px 18px 30px 36px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{font-size:clamp(2.65rem,3.7vw,3.05rem)!important;max-width:385px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy p{max-width:385px!important;font-size:.91rem!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-points{gap:14px!important;padding-inline:6px!important}
}
@media (min-width:1321px){
  #sa-public-theme.sa-inner-reference .sa-ref-hero{padding:86px 0 34px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-grid{
    width:min(calc(100% - 96px),1480px)!important;max-width:1480px!important;
    height:clamp(520px,30vw,580px)!important;min-height:clamp(520px,30vw,580px)!important;
    margin:0 auto!important;grid-template-columns:minmax(390px,430px) minmax(0,1fr)!important;
    gap:clamp(34px,3vw,56px)!important;align-items:center!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-hero-copy{padding:18px 0 20px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-hero h1{max-width:510px!important;font-size:clamp(4.6rem,5.1vw,5.6rem)!important;line-height:.90!important}
  #sa-public-theme.sa-inner-reference .sa-ref-hero .lead{max-width:430px!important;margin-top:27px!important;font-size:1.02rem!important;line-height:1.62!important}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-actions{margin-top:24px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-hero-media{height:100%!important;margin:0!important;filter:drop-shadow(0 28px 35px rgba(47,25,20,.12))!important}
  #sa-public-theme.sa-inner-reference.page-albums .sa-ref-watch{display:none!important}
  #sa-public-theme.sa-inner-reference.page-album-details .sa-ref-hero h1{font-size:4.15rem!important}
  #sa-public-theme.sa-inner-reference.page-album-heritage-storybook .sa-ref-hero h1,
  #sa-public-theme.sa-inner-reference.page-album-monochrome-atelier .sa-ref-hero h1{font-size:3.55rem!important}
  #sa-public-theme.sa-inner-reference.page-album-ivory-editorial .sa-ref-hero h1,
  #sa-public-theme.sa-inner-reference.page-shipping-policy .sa-ref-hero h1{font-size:4.45rem!important}
  #sa-public-theme.sa-inner-reference.page-privacy-policy .sa-ref-hero h1,
  #sa-public-theme.sa-inner-reference.page-refund-policy .sa-ref-hero h1{font-size:4.75rem!important}
  #sa-public-theme.sa-inner-reference.page-terms .sa-ref-hero h1{font-size:3.55rem!important}
  #sa-public-theme.sa-inner-reference.page-faq .sa-ref-hero h1,
  #sa-public-theme.sa-inner-reference.page-blog-details .sa-ref-hero h1{font-size:3.25rem!important}
  #sa-public-theme.sa-inner-reference.page-gallery .sa-ref-hero h1{font-size:3.55rem!important}
}

/* =========================================================
   v2.8.7.216 — CANONICAL INNER-PAGE ALBUMS-MASTER HERO
   Homepage is excluded: it never receives .sa-inner-reference.
   One 70vh image hero, 3 user-scroll-controlled slides, no autoplay,
   and one mode-aware 30% overlay. Header/menu geometry is untouched.
   ========================================================= */
#sa-public-theme.sa-inner-reference{
  --sa-inner-hero-filter:rgba(255,255,255,.50);
  --sa-inner-hero-text:#180409;
  --sa-inner-hero-muted:rgba(24,4,9,.82);
  --sa-inner-hero-line:rgba(24,4,9,.38);
  --sa-inner-hero-crumb-bg:rgba(255,255,255,.32);
  --sa-inner-hero-crumb-border:rgba(24,4,9,.18);
}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference{
  --sa-inner-hero-filter:rgba(116,19,35,.50);
  --sa-inner-hero-text:#ffffff;
  --sa-inner-hero-muted:rgba(255,255,255,.90);
  --sa-inner-hero-line:rgba(255,255,255,.38);
  --sa-inner-hero-crumb-bg:rgba(24,4,9,.28);
  --sa-inner-hero-crumb-border:rgba(255,255,255,.24);
}
@media (prefers-color-scheme:dark){
  html:not([data-sa-theme]) #sa-public-theme.sa-inner-reference{
    --sa-inner-hero-filter:rgba(116,19,35,.50);
    --sa-inner-hero-text:#ffffff;
    --sa-inner-hero-muted:rgba(255,255,255,.90);
    --sa-inner-hero-line:rgba(255,255,255,.38);
    --sa-inner-hero-crumb-bg:rgba(24,4,9,.28);
    --sa-inner-hero-crumb-border:rgba(255,255,255,.24);
  }
}

#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage{
  height:70vh!important;min-height:560px!important;position:relative!important;
  margin-top:calc(-1 * var(--sa-public-header-height,72px))!important;padding-top:0!important;background:transparent!important
}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage>.sa-ref-hero{
  position:relative!important;top:auto!important;height:70vh!important;min-height:560px!important;max-height:none!important;
  padding:0!important;overflow:hidden!important;display:block!important;background:#180409!important
}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-hero-grid{
  width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;padding:0!important;
  display:block!important;position:relative!important
}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-hero-media{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;border:0!important;
  border-radius:0!important;overflow:hidden!important;filter:none!important;background:#180409!important;box-shadow:none!important
}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-hero-media::before{content:none!important;display:none!important}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-hero-media::after{
  content:"";position:absolute;inset:0;z-index:2;background:var(--sa-inner-hero-filter)!important;pointer-events:none
}
#sa-public-theme.sa-inner-reference .sa-scroll-slide{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;
  border:0!important;border-radius:0!important;opacity:0;transform:scale(1.025);
  transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1)!important;
  will-change:opacity,transform
}
#sa-public-theme.sa-inner-reference .sa-scroll-slide.is-active{opacity:1;transform:scale(1)}
#sa-public-theme.sa-inner-reference .sa-scroll-slide[data-sa-hero-disabled="1"]{display:none!important;opacity:0!important}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-pager[hidden]{display:none!important}
/* An intentionally empty hero still keeps the heading and CTA readable. */
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage[data-sa-hero-empty="1"]>.sa-ref-hero,
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage[data-sa-hero-empty="1"] .sa-ref-hero-media{background:#fff!important}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage[data-sa-hero-empty="1"] .sa-ref-hero-media::after{display:none!important}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage[data-sa-hero-empty="1"]>.sa-ref-hero,
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage[data-sa-hero-empty="1"] .sa-ref-hero-media{background:#160708!important}

#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-hero-copy{
  position:absolute!important;z-index:4!important;left:max(6vw,calc((100vw - 1280px)/2));top:50%!important;
  transform:translateY(-50%)!important;width:min(500px,38vw)!important;padding:0!important;
  margin-top:calc(var(--sa-public-header-height,72px) * .42)!important;
  color:var(--sa-inner-hero-text)!important;
  text-shadow:none!important
}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-breadcrumbs{
  color:var(--sa-inner-hero-text)!important;
  -webkit-text-fill-color:var(--sa-inner-hero-text)!important;
  background:var(--sa-inner-hero-crumb-bg)!important;
  border-color:var(--sa-inner-hero-crumb-border)!important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)
}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-eyebrow,
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage h1{
  color:var(--sa-inner-hero-text)!important;
  -webkit-text-fill-color:var(--sa-inner-hero-text)!important;
}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .lead{
  color:var(--sa-inner-hero-muted)!important;
  -webkit-text-fill-color:var(--sa-inner-hero-muted)!important;
}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage h1{
  font-size:clamp(4rem,5.8vw,6.5rem)!important;line-height:.9!important;margin-bottom:24px!important;max-width:620px!important
}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .lead{max-width:450px!important;line-height:1.65!important}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-pager{
  display:flex!important;align-items:center!important;gap:10px!important;margin-top:26px!important;
  color:var(--sa-inner-hero-text)!important;width:184px!important
}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-pager span{
  opacity:.45;transition:opacity .35s ease,transform .35s ease;font-weight:700
}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-pager span.is-active{opacity:1;transform:translateY(-2px)}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-pager i{width:24px;height:1px;flex:0 0 24px;background:var(--sa-inner-hero-line)!important}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-pager i::before,
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-pager i::after{display:none!important}
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-watch{z-index:5!important}
#sa-public-theme.sa-inner-reference .sa-ref-feature-section{position:relative!important;z-index:2!important;margin-top:0!important}

/* Keep long page titles inside the same hero geometry instead of growing the section. */
#sa-public-theme.sa-inner-reference.page-album-details .sa-scroll-hero-stage h1{font-size:clamp(3.4rem,4.6vw,5.25rem)!important}
#sa-public-theme.sa-inner-reference.page-album-heritage-storybook .sa-scroll-hero-stage h1,
#sa-public-theme.sa-inner-reference.page-album-monochrome-atelier .sa-scroll-hero-stage h1,
#sa-public-theme.sa-inner-reference.page-terms .sa-scroll-hero-stage h1,
#sa-public-theme.sa-inner-reference.page-gallery .sa-scroll-hero-stage h1{font-size:clamp(3rem,4.1vw,4.65rem)!important}
#sa-public-theme.sa-inner-reference.page-faq .sa-scroll-hero-stage h1,
#sa-public-theme.sa-inner-reference.page-blog-details .sa-scroll-hero-stage h1{font-size:clamp(2.8rem,3.7vw,4.25rem)!important}
#sa-public-theme.sa-inner-reference.page-privacy-policy .sa-scroll-hero-stage h1,
#sa-public-theme.sa-inner-reference.page-refund-policy .sa-scroll-hero-stage h1,
#sa-public-theme.sa-inner-reference.page-shipping-policy .sa-scroll-hero-stage h1{font-size:clamp(3.2rem,4.2vw,4.8rem)!important}

/* Same outer rhythm as the approved Albums feature card on every inner page. */
@media (min-width:1021px){
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section{padding-top:40px!important;padding-bottom:40px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{padding-top:34px!important;padding-bottom:34px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-points{padding-top:30px!important;padding-bottom:30px!important}
}

@media (max-width:900px){
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage{
    height:clamp(520px,70svh,680px)!important;min-height:520px!important;margin-top:calc(-1 * var(--sa-public-header-height,64px))!important
  }
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage>.sa-ref-hero{height:100%!important;min-height:520px!important}
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-hero-copy{
    left:24px!important;right:24px!important;top:auto!important;bottom:32px!important;transform:none!important;width:auto!important;
    max-width:560px!important;margin-top:0!important;padding:0!important
  }
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-breadcrumbs{
    color:var(--sa-inner-hero-text)!important;
    -webkit-text-fill-color:var(--sa-inner-hero-text)!important;
    background:var(--sa-inner-hero-crumb-bg)!important;
    border-color:var(--sa-inner-hero-crumb-border)!important
  }
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage h1{font-size:clamp(3.15rem,14vw,5rem)!important;margin-bottom:16px!important}
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .lead{font-size:.94rem!important;line-height:1.55!important;margin-top:14px!important}
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-hero-actions{margin-top:18px!important}
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-pager{margin-top:18px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section{padding-top:30px!important;padding-bottom:30px!important}
}
@media (max-width:520px){
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage h1{font-size:clamp(2.75rem,13.5vw,4.15rem)!important}
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-ref-watch{display:none!important}
}
@media (prefers-reduced-motion:reduce){#sa-public-theme.sa-inner-reference .sa-scroll-slide{transition:none!important}}



/* =========================================================
   v2.8.7.219 — APPROVED PREMIUM INNER FEATURE, ALL INNER PAGES
   Pixel-geometry pass from approved reference: smooth S divider,
   original page image always visible, and hard no-overlap rhythm.
   Homepage intentionally excluded by .sa-inner-reference.
   ========================================================= */
#sa-public-theme.sa-inner-reference .sa-ref-feature-section{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  padding:42px 0 34px!important;
  overflow:visible!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-section>.container{
  width:min(calc(100% - 80px),1280px)!important;
  max-width:1280px!important;
  margin-inline:auto!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-card{
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  height:390px!important;
  min-height:390px!important;
  display:grid!important;
  grid-template-columns:minmax(360px,410px) minmax(150px,185px) minmax(0,1fr)!important;
  overflow:hidden!important;
  border:1px solid rgba(116,19,35,.14)!important;
  border-radius:30px!important;
  background:#fffdfb!important;
  box-shadow:0 18px 52px rgba(70,32,38,.07)!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-card::before,
#sa-public-theme.sa-inner-reference .sa-ref-feature-card::after{
  pointer-events:none!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy{
  position:relative!important;
  z-index:5!important;
  height:100%!important;
  min-width:0!important;
  padding:34px 20px 34px 46px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:visible!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy>.eyebrow{
  margin:0 0 15px!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{
  max-width:390px!important;
  margin:0!important;
  font-family:"Google Sans Flex","Google Sans","Helvetica Neue",Arial,sans-serif!important;
  font-size:clamp(2.72rem,3.05vw,3.22rem)!important;
  font-style:normal!important;
  font-weight:700!important;
  line-height:.99!important;
  letter-spacing:-.042em!important;
  text-wrap:balance!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy p{
  max-width:390px!important;
  margin:17px 0 0!important;
  font-size:.94rem!important;
  line-height:1.54!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-panel-cta{
  width:max-content!important;
  max-width:100%!important;
  min-height:46px!important;
  margin-top:19px!important;
  padding:8px 10px 8px 21px!important;
  gap:14px!important;
  align-self:flex-start!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  font-size:.9rem!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-panel-cta>span{
  width:29px!important;height:29px!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-points{
  position:relative!important;
  z-index:5!important;
  box-sizing:border-box!important;
  height:100%!important;
  min-width:0!important;
  padding:30px 4px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:17px!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-point{
  gap:11px!important;
  align-items:center!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-point strong{
  max-width:105px!important;
  font-size:.82rem!important;
  line-height:1.2!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-icon{
  width:44px!important;height:44px!important;min-width:44px!important;
  font-size:1rem!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-media{
  --sa-ref-surface:#fffdfb;
  position:relative!important;
  z-index:1!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:0 29px 29px 0!important;
  background:#180409!important;
  box-shadow:none!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-media::before,
#sa-public-theme.sa-inner-reference .sa-ref-feature-media::after{
  content:none!important;
  display:none!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-media img{
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  clip-path:none!important;
  filter:saturate(.97) contrast(1.015)!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-premium-edge{
  position:absolute!important;
  z-index:4!important;
  top:-1px!important;
  left:-1px!important;
  width:156px!important;
  height:calc(100% + 2px)!important;
  display:block!important;
  color:var(--sa-ref-surface)!important;
  pointer-events:none!important;
  overflow:visible!important;
  filter:drop-shadow(1px 0 0 rgba(116,19,35,.09))!important;
}
/* Explicitly separate whatever section follows the approved feature card. */
#sa-public-theme.sa-inner-reference .sa-ref-feature-section + .section,
#sa-public-theme.sa-inner-reference .sa-ref-feature-section + .section-sm{
  position:relative!important;
  z-index:1!important;
  margin-top:0!important;
  padding-top:44px!important;
  transform:none!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-section + .section .container,
#sa-public-theme.sa-inner-reference .sa-ref-feature-section + .section-sm .container{
  transform:none!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-section + .section .card,
#sa-public-theme.sa-inner-reference .sa-ref-feature-section + .section-sm .card{
  transform:none;
}
#sa-public-theme.sa-inner-reference .sa-ref-merged-layout{grid-template-columns:1fr!important}
#sa-public-theme.sa-inner-reference .legal-shell.sa-ref-merged-layout{max-width:980px!important}

html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-card{
  background:#210c0e!important;
  border-color:#68474c!important;
  box-shadow:0 18px 52px rgba(0,0,0,.18)!important;
}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-ref-feature-media{--sa-ref-surface:#210c0e!important}
@media(prefers-color-scheme:dark){
  html:not([data-sa-theme]) #sa-public-theme.sa-inner-reference .sa-ref-feature-card{background:#210c0e!important;border-color:#68474c!important}
  html:not([data-sa-theme]) #sa-public-theme.sa-inner-reference .sa-ref-feature-media{--sa-ref-surface:#210c0e!important}
}
@media(min-width:1021px) and (max-width:1320px){
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section>.container{width:min(calc(100% - 56px),1160px)!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-card{height:382px!important;min-height:382px!important;grid-template-columns:minmax(340px,390px) 150px minmax(0,1fr)!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{padding:31px 18px 31px 36px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{font-size:clamp(2.5rem,3.55vw,2.98rem)!important;max-width:370px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-premium-edge{width:142px!important}
}
@media(max-width:1020px){
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section{padding:30px 0 28px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section>.container{width:min(calc(100% - 36px),760px)!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-card{
    height:auto!important;min-height:0!important;
    grid-template-columns:1fr!important;
    border-radius:26px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{padding:34px 30px 20px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{font-size:clamp(2.4rem,7vw,3.2rem)!important;max-width:590px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy p{max-width:590px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-points{
    height:auto!important;padding:10px 30px 28px!important;
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-point{align-items:flex-start!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media{height:320px!important;border-radius:0 0 25px 25px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-premium-edge{display:none!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section + .section,
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section + .section-sm{padding-top:32px!important}
}
@media(max-width:620px){
  #sa-public-theme.sa-inner-reference .sa-ref-feature-section>.container{width:min(calc(100% - 28px),760px)!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{padding:30px 22px 17px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{font-size:clamp(2.1rem,10vw,2.75rem)!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy p{font-size:.88rem!important;line-height:1.5!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-points{grid-template-columns:1fr!important;padding:8px 22px 24px!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-point strong{max-width:none!important}
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media{height:250px!important}
}


/* =========================================================
   v2.8.7.222 — INNER SCROLL HERO CLEAN BOTTOM DIVIDER
   User-approved target: only the full-width scrolling hero image receives
   the layered bottom divider. Feature-card/image divider is untouched.
   ========================================================= */
#sa-public-theme.sa-inner-reference{
  --sa-hero-divider-surface:#ffffff;
}
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference{
  --sa-hero-divider-surface:#180409;
}
@media (prefers-color-scheme:dark){
  html:not([data-sa-theme]) #sa-public-theme.sa-inner-reference{
    --sa-hero-divider-surface:#180409;
  }
}

#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage{
  isolation:isolate!important;
  overflow:hidden!important;
}

/* Layered ivory/blush wave that cuts into ONLY the bottom of the scroll hero. */
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage::after{
  content:""!important;
  position:absolute!important;
  z-index:8!important;
  left:0!important;
  right:0!important;
  bottom:-1px!important;
  width:100%!important;
  height:clamp(82px,8.8vw,138px)!important;
  pointer-events:none!important;
  background-repeat:no-repeat!important;
  background-position:center bottom!important;
  background-size:100% 100%!important;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 49 C170 113 350 132 526 92 C690 55 816 22 972 59 C1137 98 1302 112 1447 68 C1510 49 1558 35 1600 31 L1600 140 L0 140 Z' fill='%23ffffff'/%3E%3Cpath d='M0 38 C180 102 352 120 522 83 C684 48 818 16 976 53 C1136 91 1297 105 1444 61 C1513 41 1558 28 1600 24 L1600 38 C1555 43 1510 57 1448 76 C1298 121 1128 105 968 68 C815 33 692 64 530 101 C351 141 167 121 0 60 Z' fill='%23fff8f4' fill-opacity='.72'/%3E%3C/svg%3E")!important;
}

/* Dark-mode version keeps the same geometry and maroon/gold detailing. */
html[data-sa-theme="dark"] #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage::after{
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 49 C170 113 350 132 526 92 C690 55 816 22 972 59 C1137 98 1302 112 1447 68 C1510 49 1558 35 1600 31 L1600 140 L0 140 Z' fill='%23180409'/%3E%3Cpath d='M0 38 C180 102 352 120 522 83 C684 48 818 16 976 53 C1136 91 1297 105 1444 61 C1513 41 1558 28 1600 24 L1600 38 C1555 43 1510 57 1448 76 C1298 121 1128 105 968 68 C815 33 692 64 530 101 C351 141 167 121 0 60 Z' fill='%23741323' fill-opacity='.22'/%3E%3C/svg%3E")!important;
}
@media (prefers-color-scheme:dark){
  html:not([data-sa-theme]) #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage::after{
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 49 C170 113 350 132 526 92 C690 55 816 22 972 59 C1137 98 1302 112 1447 68 C1510 49 1558 35 1600 31 L1600 140 L0 140 Z' fill='%23180409'/%3E%3Cpath d='M0 38 C180 102 352 120 522 83 C684 48 818 16 976 53 C1136 91 1297 105 1444 61 C1513 41 1558 28 1600 24 L1600 38 C1555 43 1510 57 1448 76 C1298 121 1128 105 968 68 C815 33 692 64 530 101 C351 141 167 121 0 60 Z' fill='%23741323' fill-opacity='.22'/%3E%3C/svg%3E")!important;
  }
}

@media (max-width:900px){
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage::after{
    height:clamp(64px,14vw,92px)!important;
    background-size:170% 100%!important;
    background-position:48% bottom!important;
  }
}
@media (max-width:520px){
  #sa-public-theme.sa-inner-reference .sa-scroll-hero-stage::after{
    height:68px!important;
    background-size:210% 100%!important;
    background-position:46% bottom!important;
  }
}


/* v2.8.7.223 INNER HERO NATIVE HIGH QUALITY
   Full-width scroll hero only. Do not use thumbnail/medium candidates, and do not
   run the hero raster through the older feature-card color filter. */
#sa-public-theme.sa-inner-reference .sa-scroll-hero-stage .sa-scroll-slide{
  image-rendering:auto!important;
  filter:none!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
}


/* v2.8.7.224 — ALL-PAGE HERO ORIGINAL QUALITY ROOT POLICY
   Keeps browser interpolation native and prevents CSS rasterization effects on full-width hero media. */
.sa-ref-hero-media .sa-scroll-slide,
.page-hero-media img,
.page-index .sa-premium-app-hero .sa-album-card img{
  image-rendering:auto!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* v2.8.7.228 — Albums hero maximum-source quality fix. */
#sa-public-theme.page-albums.sa-inner-reference .sa-scroll-hero-stage .sa-scroll-slide{image-rendering:auto!important;filter:none!important;backface-visibility:visible!important;-webkit-backface-visibility:visible!important}


/* v2.8.7.229 — Album detail pages: remove Signature Story play ornament. */
body[class*="page-album-"] .sa-ref-watch,
body.page-album-details .sa-ref-watch,
#sa-public-theme[class*="page-album-"] .sa-ref-watch,
#sa-public-theme.page-album-details .sa-ref-watch{
  display:none!important;
}




/* =========================================================
   v2.8.7.234 — HOMEPAGE HERO DIVIDER + CLEAN GLOBAL FOOTER DIVIDER
   ========================================================= */

/* Homepage uses a real child because its ::before/::after are already ambient layers.
   Geometry is exactly the approved inner-scroll-hero divider. */
#sa-public-theme.page-index .hero.sa-premium-app-hero{
  position:relative!important;
  overflow:hidden!important;
}
#sa-public-theme.page-index .hero.sa-premium-app-hero .sa-home-hero-divider{
  position:absolute!important;
  z-index:8!important;
  left:0!important;
  right:0!important;
  bottom:-1px!important;
  width:100%!important;
  height:clamp(82px,8.8vw,138px)!important;
  pointer-events:none!important;
  background-repeat:no-repeat!important;
  background-position:center bottom!important;
  background-size:100% 100%!important;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 49 C170 113 350 132 526 92 C690 55 816 22 972 59 C1137 98 1302 112 1447 68 C1510 49 1558 35 1600 31 L1600 140 L0 140 Z' fill='%23ffffff'/%3E%3Cpath d='M0 38 C180 102 352 120 522 83 C684 48 818 16 976 53 C1136 91 1297 105 1444 61 C1513 41 1558 28 1600 24 L1600 38 C1555 43 1510 57 1448 76 C1298 121 1128 105 968 68 C815 33 692 64 530 101 C351 141 167 121 0 60 Z' fill='%23fff8f4' fill-opacity='.72'/%3E%3C/svg%3E")!important;
}
html[data-sa-theme="dark"] #sa-public-theme.page-index .hero.sa-premium-app-hero .sa-home-hero-divider{
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 49 C170 113 350 132 526 92 C690 55 816 22 972 59 C1137 98 1302 112 1447 68 C1510 49 1558 35 1600 31 L1600 140 L0 140 Z' fill='%23180409'/%3E%3Cpath d='M0 38 C180 102 352 120 522 83 C684 48 818 16 976 53 C1136 91 1297 105 1444 61 C1513 41 1558 28 1600 24 L1600 38 C1555 43 1510 57 1448 76 C1298 121 1128 105 968 68 C815 33 692 64 530 101 C351 141 167 121 0 60 Z' fill='%23741323' fill-opacity='.22'/%3E%3C/svg%3E")!important;
}
@media (prefers-color-scheme:dark){
  html:not([data-sa-theme]) #sa-public-theme.page-index .hero.sa-premium-app-hero .sa-home-hero-divider{
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 49 C170 113 350 132 526 92 C690 55 816 22 972 59 C1137 98 1302 112 1447 68 C1510 49 1558 35 1600 31 L1600 140 L0 140 Z' fill='%23180409'/%3E%3Cpath d='M0 38 C180 102 352 120 522 83 C684 48 818 16 976 53 C1136 91 1297 105 1444 61 C1513 41 1558 28 1600 24 L1600 38 C1555 43 1510 57 1448 76 C1298 121 1128 105 968 68 C815 33 692 64 530 101 C351 141 167 121 0 60 Z' fill='%23741323' fill-opacity='.22'/%3E%3C/svg%3E")!important;
  }
}
@media (max-width:900px){
  #sa-public-theme.page-index .hero.sa-premium-app-hero .sa-home-hero-divider{
    height:clamp(64px,14vw,92px)!important;
    background-size:170% 100%!important;
    background-position:48% bottom!important;
  }
}
@media (max-width:520px){
  #sa-public-theme.page-index .hero.sa-premium-app-hero .sa-home-hero-divider{
    height:68px!important;
    background-size:210% 100%!important;
    background-position:46% bottom!important;
  }
}

/* Global footer transition.
   The SVG paints the complete divider canvas, so no transparent/gray strip can show. */
#sa-public-theme .site-footer{
  --sa-footer-divider-height:clamp(82px,8.8vw,138px);
  position:relative!important;
  border-top:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#180409!important;
  padding-top:calc(58px + var(--sa-footer-divider-height))!important;
}
#sa-public-theme .site-footer::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  left:0!important;
  right:0!important;
  top:0!important;
  width:100%!important;
  height:var(--sa-footer-divider-height)!important;
  pointer-events:none!important;
  background-color:#ffffff!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:100% 100%!important;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1600' height='140' fill='%23ffffff'/%3E%3Cpath d='M0 91 C170 27 350 8 526 48 C690 85 816 118 972 81 C1137 42 1302 28 1447 72 C1510 91 1558 105 1600 109 L1600 140 L0 140 Z' fill='%23180409'/%3E%3Cpath d='M0 80 C180 16 352 -2 522 35 C684 70 818 102 976 65 C1136 27 1297 13 1444 57 C1513 77 1558 90 1600 94 L1600 108 C1555 103 1510 89 1448 70 C1298 25 1128 41 968 78 C815 113 692 82 530 45 C351 5 167 25 0 86 Z' fill='%23fff8f4' fill-opacity='.72'/%3E%3C/svg%3E")!important;
  transform:none!important;
}
#sa-public-theme .site-footer>.container{
  position:relative!important;
  z-index:1!important;
}
html[data-sa-theme="dark"] #sa-public-theme .site-footer{
  background:#180409!important;
}
html[data-sa-theme="dark"] #sa-public-theme .site-footer::before{
  background-color:#180409!important;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1600' height='140' fill='%23180409'/%3E%3Cpath d='M0 91 C170 27 350 8 526 48 C690 85 816 118 972 81 C1137 42 1302 28 1447 72 C1510 91 1558 105 1600 109 L1600 140 L0 140 Z' fill='%23180409'/%3E%3Cpath d='M0 80 C180 16 352 -2 522 35 C684 70 818 102 976 65 C1136 27 1297 13 1444 57 C1513 77 1558 90 1600 94 L1600 108 C1555 103 1510 89 1448 70 C1298 25 1128 41 968 78 C815 113 692 82 530 45 C351 5 167 25 0 86 Z' fill='%23741323' fill-opacity='.22'/%3E%3C/svg%3E")!important;
}
@media (prefers-color-scheme:dark){
  html:not([data-sa-theme]) #sa-public-theme .site-footer::before{
    background-color:#180409!important;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1600' height='140' fill='%23180409'/%3E%3Cpath d='M0 91 C170 27 350 8 526 48 C690 85 816 118 972 81 C1137 42 1302 28 1447 72 C1510 91 1558 105 1600 109 L1600 140 L0 140 Z' fill='%23180409'/%3E%3Cpath d='M0 80 C180 16 352 -2 522 35 C684 70 818 102 976 65 C1136 27 1297 13 1444 57 C1513 77 1558 90 1600 94 L1600 108 C1555 103 1510 89 1448 70 C1298 25 1128 41 968 78 C815 113 692 82 530 45 C351 5 167 25 0 86 Z' fill='%23741323' fill-opacity='.22'/%3E%3C/svg%3E")!important;
  }
}
@media (max-width:900px){
  #sa-public-theme .site-footer{
    --sa-footer-divider-height:clamp(64px,14vw,92px);
    padding-top:calc(42px + var(--sa-footer-divider-height))!important;
  }
  #sa-public-theme .site-footer::before{
    background-size:170% 100%!important;
    background-position:48% top!important;
  }
}
@media (max-width:520px){
  #sa-public-theme .site-footer{
    --sa-footer-divider-height:68px;
    padding-top:calc(32px + var(--sa-footer-divider-height))!important;
  }
  #sa-public-theme .site-footer::before{
    background-size:210% 100%!important;
    background-position:46% top!important;
  }
}


/* =========================================================
   v2.8.7.236 — FEATURE POINTS SOURCE REMOVAL / COPY SPACE REBALANCE
   The 3 icon/text point blocks were removed from static page HTML.
   Card now uses only copy + media, giving headings more horizontal
   room and balanced vertical breathing space.
   ========================================================= */
#sa-public-theme.sa-inner-reference .sa-ref-feature-card{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
  min-height:420px!important;
  height:auto!important;
  align-items:stretch!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy{
  padding:58px 54px 58px 64px!important;
  align-self:center!important;
  min-width:0!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{
  max-width:620px!important;
  width:auto!important;
  margin-top:12px!important;
  text-wrap:balance!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy p{
  max-width:560px!important;
  margin-top:18px!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-copy .sa-ref-panel-cta{
  margin-top:26px!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-media{
  grid-column:2!important;
  min-width:0!important;
  height:100%!important;
  min-height:420px!important;
}
#sa-public-theme.sa-inner-reference .sa-ref-feature-points{
  display:none!important;
}

/* Tablet */
@media (max-width:980px){
  #sa-public-theme.sa-inner-reference .sa-ref-feature-card{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    min-height:380px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{
    padding:48px 34px 48px 42px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{
    max-width:560px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media{
    grid-column:2!important;
    min-height:380px!important;
  }
}

/* Mobile */
@media (max-width:720px){
  #sa-public-theme.sa-inner-reference .sa-ref-feature-card{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{
    padding:42px 26px 38px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy h2{
    max-width:none!important;
    font-size:clamp(2.3rem,10vw,3.1rem)!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy p{
    max-width:none!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media{
    grid-column:1!important;
    min-height:300px!important;
    height:300px!important;
  }
}
@media (max-width:480px){
  #sa-public-theme.sa-inner-reference .sa-ref-feature-copy{
    padding:36px 20px 32px!important;
  }
  #sa-public-theme.sa-inner-reference .sa-ref-feature-media{
    min-height:260px!important;
    height:260px!important;
  }
}


/* =========================================================
   v2.8.7.238 — PREMIUM MENU ICONS
   Clean outline icons use currentColor so active/hover/dark mode
   stay exactly in sync with the existing menu theme.
   ========================================================= */
#sa-public-theme .site-header .nav>a,
#sa-public-theme .site-header .mobile-nav>a{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}
#sa-public-theme .site-header .nav>a .sa-nav-icon,
#sa-public-theme .site-header .mobile-nav>a .sa-nav-icon{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:.78!important;
  transition:transform .28s ease,opacity .28s ease!important;
}
#sa-public-theme .site-header .nav>a:hover .sa-nav-icon,
#sa-public-theme .site-header .nav>a.active .sa-nav-icon,
#sa-public-theme .site-header .mobile-nav>a:hover .sa-nav-icon,
#sa-public-theme .site-header .mobile-nav>a.active .sa-nav-icon{
  opacity:1!important;
  transform:translateY(-1px)!important;
}
#sa-public-theme .site-header .nav>a .sa-nav-label,
#sa-public-theme .site-header .mobile-nav>a .sa-nav-label{
  display:inline-block!important;
}
@media (max-width:1080px){
  #sa-public-theme .site-header .nav>a{
    gap:5px!important;
  }
  #sa-public-theme .site-header .nav>a .sa-nav-icon{
    width:14px!important;
    height:14px!important;
    flex-basis:14px!important;
  }
}















/* =========================================================
   v2.8.7.247 — EXACT HEADER STATE SYSTEM
   v244 geometry language retained; gold removed.
   0-scroll = clean/transparent.
   scrolled = #741323 brand plate + maroon S-curve + white brand.
   Fade/scale morph only; no slide animation.
   Profile dropdown is never clipped.
   ========================================================= */

/* ---------- Global stacking / dropdown root fix ---------- */
#sa-public-theme .site-header{
  z-index:10000!important;
  overflow:visible!important;
}
#sa-public-theme .site-header .container,
#sa-public-theme .site-header .container.nav-wrap,
#sa-public-theme .site-header .nav-actions,
#sa-public-theme .site-header .header-account{
  overflow:visible!important;
}
#sa-public-theme .site-header .header-account{
  position:relative!important;
  z-index:10030!important;
}
#sa-public-theme .site-header .header-profile-menu{
  position:absolute!important;
  top:calc(100% + 14px)!important;
  right:0!important;
  z-index:10060!important;
  overflow:visible!important;
}
#sa-public-theme .site-header .header-account.open .header-profile-menu{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
}

@media (min-width:1081px){
  /* ---------- 0% scroll: clean state ---------- */
  #sa-public-theme .site-header:not(.is-scrolled){
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:1!important;
    left:-1px!important;
    top:-1px!important;
    bottom:-1px!important;
    width:372px!important;
    pointer-events:none!important;
    background:transparent url("data:image/svg+xml,%3Csvg viewBox='0 0 372 96' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0H300C330 13 315 31 332 46C343 55 349 66 341 77C335 86 321 92 312 96H0Z' fill='%23741323'/%3E%3Cpath d='M302 1C329 14 318 30 335 44C346 54 352 66 344 77C338 85 327 90 318 94' fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='1'/%3E%3C/svg%3E") no-repeat left center/100% 100%!important;
    clip-path:none!important;
    border-radius:0!important;
    box-shadow:none!important;
    opacity:0!important;
    transform:scale(.985,.965)!important;
    transform-origin:left center!important;
    transition:
      opacity .42s cubic-bezier(.22,.61,.36,1),
      transform .58s cubic-bezier(.22,.61,.36,1)!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap::after{
    content:none!important;
    display:none!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .brand{
    background:transparent!important;
    color:#180409!important;
    clip-path:none!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .brand img{
    filter:none!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .brand-text,
  #sa-public-theme .site-header:not(.is-scrolled) .brand-text strong{
    color:#180409!important;
    -webkit-text-fill-color:#180409!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .brand-text small{
    color:#741323!important;
    -webkit-text-fill-color:#741323!important;
  }

  /* ---------- Scrolled state: v244-style S-curve, maroon brand ---------- */
  #sa-public-theme .site-header.is-scrolled{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
  #sa-public-theme .site-header.is-scrolled .container.nav-wrap{
    background:#fffdfc!important;
    border-color:rgba(116,19,35,.12)!important;
    box-shadow:0 12px 32px rgba(24,4,9,.10)!important;
    overflow:visible!important;
  }
  #sa-public-theme .site-header.is-scrolled .container.nav-wrap::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:1!important;
    left:-1px!important;
    top:-1px!important;
    bottom:-1px!important;
    width:372px!important;
    pointer-events:none!important;
    background:transparent url("data:image/svg+xml,%3Csvg viewBox='0 0 372 96' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0H300C330 13 315 31 332 46C343 55 349 66 341 77C335 86 321 92 312 96H0Z' fill='%23741323'/%3E%3Cpath d='M302 1C329 14 318 30 335 44C346 54 352 66 344 77C338 85 327 90 318 94' fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='1'/%3E%3C/svg%3E") no-repeat left center/100% 100%!important;
    clip-path:none!important;
    border-radius:0!important;
    box-shadow:none!important;
    opacity:1!important;
    transform:scale(1)!important;
    transform-origin:left center!important;
    transition:
      opacity .42s cubic-bezier(.22,.61,.36,1),
      transform .58s cubic-bezier(.22,.61,.36,1)!important;
  }
  #sa-public-theme .site-header.is-scrolled .container.nav-wrap::after{
    content:none!important;
    display:none!important;
  }

  /* Brand geometry stays the same; only colors change on scroll. */
  #sa-public-theme .site-header .brand{
    position:relative!important;
    z-index:4!important;
    width:278px!important;
    max-width:278px!important;
    padding-right:12px!important;
    background:transparent!important;
    clip-path:none!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  #sa-public-theme .site-header.is-scrolled .brand img{
    filter:brightness(0) invert(1)!important;
  }
  #sa-public-theme .site-header.is-scrolled .brand-text,
  #sa-public-theme .site-header.is-scrolled .brand-text strong,
  #sa-public-theme .site-header.is-scrolled .brand-text small{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
  }
  #sa-public-theme .site-header.is-scrolled .brand-text small{
    opacity:.84!important;
  }

  /* v244 menu placement + larger icons retained. */
  #sa-public-theme .site-header .nav{
    position:relative!important;
    z-index:5!important;
    padding-left:44px!important;
  }
  #sa-public-theme .site-header .nav>a{
    gap:8px!important;
  }
  #sa-public-theme .site-header .nav>a .sa-nav-icon{
    width:19px!important;
    height:19px!important;
    flex:0 0 19px!important;
    stroke-width:1.55!important;
    opacity:.9!important;
  }
}

/* Dark mode: clean top; same white scrolled shell + maroon brand. */
@media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme .site-header:not(.is-scrolled),
html[data-sa-theme="dark"] #sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}}
@media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap::before{
  opacity:0!important;
}}
@media (min-width:1081px){html[data-sa-theme="dark"] #sa-public-theme .site-header.is-scrolled .container.nav-wrap{
  background:#fffdfc!important;
  border-color:rgba(116,19,35,.12)!important;
}}
html[data-sa-theme="dark"] #sa-public-theme .site-header.is-scrolled .brand img{
  filter:brightness(0) invert(1)!important;
}
html[data-sa-theme="dark"] #sa-public-theme .site-header.is-scrolled .brand-text,
html[data-sa-theme="dark"] #sa-public-theme .site-header.is-scrolled .brand-text strong,
html[data-sa-theme="dark"] #sa-public-theme .site-header.is-scrolled .brand-text small{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* Mobile/tablet: same state logic, no gold, dropdown stays fixed/visible. */


@media (max-width:700px){
  #sa-public-theme .site-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;
    z-index:10060!important;
  }
}


/* =========================================================
   v2.8.7.249 — EXACT 0% SCROLL HEADER FLAT CONTROLS
   Source audit selectors:
   .nav a.active / [aria-current="page"]
   .header-bell
   .header-profile-trigger
   .sa-theme-toggle
   .nav-actions separator
   At 0% scroll these match the clean menu state.
   Scrolled state is untouched.
   ========================================================= */

/* Active page: keep text + underline, remove only the pill at page top. */
#sa-public-theme .site-header:not(.is-scrolled) .nav a.active,
#sa-public-theme .site-header:not(.is-scrolled) .nav a[aria-current="page"]{
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* Notification bell: icon only at page top. */
#sa-public-theme .site-header:not(.is-scrolled) .header-bell{
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* Profile: avatar/name/chevron only at page top. */
#sa-public-theme .site-header:not(.is-scrolled) .header-profile-trigger{
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* Theme switch: icon only at page top. */
#sa-public-theme .site-header:not(.is-scrolled) .sa-theme-toggle{
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* Remove the vertical control separator only at page top. */
#sa-public-theme .site-header:not(.is-scrolled) .nav-actions{
  border-left:0!important;
}

/* Hover/focus at 0% scroll must not bring the pills back. */
#sa-public-theme .site-header:not(.is-scrolled) .nav a.active:hover,
#sa-public-theme .site-header:not(.is-scrolled) .nav a[aria-current="page"]:hover,
#sa-public-theme .site-header:not(.is-scrolled) .header-bell:hover,
#sa-public-theme .site-header:not(.is-scrolled) .header-bell:focus-visible,
#sa-public-theme .site-header:not(.is-scrolled) .header-profile-trigger:hover,
#sa-public-theme .site-header:not(.is-scrolled) .header-profile-trigger:focus-visible,
#sa-public-theme .site-header:not(.is-scrolled) .sa-theme-toggle:hover,
#sa-public-theme .site-header:not(.is-scrolled) .sa-theme-toggle:focus-visible{
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* =========================================================
   v2.8.7.250 — HOMEPAGE SCROLLED HEADER LEFT CURVE
   Keep the approved S-curve/scroll animation intact. The maroon brand plate
   was visually squaring off the shell because its pseudo-element forced a
   zero radius. Clip only that left edge to the existing floating-header radius.
   ========================================================= */
@media (min-width:1081px){
  #sa-public-theme.page-index .site-header.is-scrolled .container.nav-wrap::before,
  body.home #sa-public-theme .site-header.is-scrolled .container.nav-wrap::before{
    border-radius:22px 0 0 22px!important;
  }
}


/* =========================================================
   v2.8.7.252 — APPROVED MENU DESIGN 11 — LIVE CSS FIX
   Desktop-only header redesign based on the selected #11 concept:
   white floating shell + burgundy sculpted center navigation + clean
   white brand/account ends. Existing links, account, notifications,
   theme switch, dropdowns and mobile menu behavior are preserved.
   ========================================================= */
@media (min-width:1081px){
  /* Stable white floating shell in both top and scrolled states. */
  #sa-public-theme .site-header,
  #sa-public-theme .site-header:not(.is-scrolled),
  #sa-public-theme .site-header.is-scrolled{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  #sa-public-theme .site-header .container.nav-wrap,
  #sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap,
  #sa-public-theme .site-header.is-scrolled .container.nav-wrap{
    position:relative!important;
    min-height:70px!important;
    grid-template-columns:minmax(255px,1fr) auto minmax(300px,1fr)!important;
    gap:14px!important;
    padding:7px 16px 7px 18px!important;
    background:#fffdfc!important;
    background-image:none!important;
    border:1px solid rgba(116,19,35,.105)!important;
    border-radius:22px!important;
    box-shadow:0 14px 38px rgba(24,4,9,.085),0 2px 7px rgba(116,19,35,.025)!important;
    overflow:visible!important;
  }

  /* Remove the previous left brand S-plate; #11 puts burgundy in the center. */
  #sa-public-theme .site-header .container.nav-wrap::before,
  #sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap::before,
  #sa-public-theme .site-header.is-scrolled .container.nav-wrap::before,
  #sa-public-theme.page-index .site-header.is-scrolled .container.nav-wrap::before,
  body.home #sa-public-theme .site-header.is-scrolled .container.nav-wrap::before{
    content:none!important;
    display:none!important;
    background:none!important;
    opacity:0!important;
  }
  #sa-public-theme .site-header .container.nav-wrap::after{
    content:none!important;
    display:none!important;
  }

  /* White left brand zone, matching selected design 11. */
  #sa-public-theme .site-header .brand,
  #sa-public-theme .site-header:not(.is-scrolled) .brand,
  #sa-public-theme .site-header.is-scrolled .brand{
    position:relative!important;
    z-index:6!important;
    width:260px!important;
    max-width:260px!important;
    min-height:54px!important;
    padding:0 10px 0 4px!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    clip-path:none!important;
    box-shadow:none!important;
    color:#180409!important;
    transform:none!important;
  }
  #sa-public-theme .site-header .brand img,
  #sa-public-theme .site-header:not(.is-scrolled) .brand img,
  #sa-public-theme .site-header.is-scrolled .brand img{
    filter:none!important;
  }
  #sa-public-theme .site-header .brand-text,
  #sa-public-theme .site-header .brand-text strong,
  #sa-public-theme .site-header:not(.is-scrolled) .brand-text,
  #sa-public-theme .site-header:not(.is-scrolled) .brand-text strong,
  #sa-public-theme .site-header.is-scrolled .brand-text,
  #sa-public-theme .site-header.is-scrolled .brand-text strong{
    color:#180409!important;
    -webkit-text-fill-color:#180409!important;
  }
  #sa-public-theme .site-header .brand-text small,
  #sa-public-theme .site-header:not(.is-scrolled) .brand-text small,
  #sa-public-theme .site-header.is-scrolled .brand-text small{
    color:#741323!important;
    -webkit-text-fill-color:#741323!important;
    opacity:.78!important;
  }

  /* Design 11 sculpted burgundy center band. */
  #sa-public-theme .site-header .nav{
    position:relative!important;
    z-index:5!important;
    isolation:isolate!important;
    justify-self:center!important;
    gap:2px!important;
    min-height:54px!important;
    padding:4px 22px!important;
    margin:0 18px!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  #sa-public-theme .site-header .nav::before{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    left:-48px!important;
    right:-48px!important;
    top:-8px!important;
    bottom:-8px!important;
    pointer-events:none!important;
    background:transparent url("data:image/svg+xml,%3Csvg viewBox='0 0 1000 80' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0H1000C964 13 967 39 930 58C910 69 880 76 842 80H158C120 76 90 69 70 58C33 39 36 13 0 0Z' fill='%23741323'/%3E%3Cpath d='M8 1H992' stroke='%23ffffff' stroke-opacity='.11'/%3E%3C/svg%3E") no-repeat center/100% 100%!important;
    filter:drop-shadow(0 9px 18px rgba(116,19,35,.12))!important;
  }
  #sa-public-theme .site-header .nav::after{
    content:none!important;
    display:none!important;
  }

  #sa-public-theme .site-header .nav a,
  #sa-public-theme .site-header:not(.is-scrolled) .nav a,
  #sa-public-theme .site-header.is-scrolled .nav a{
    z-index:1!important;
    min-height:42px!important;
    padding:10px 13px 12px!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    color:#fffdfc!important;
    -webkit-text-fill-color:#fffdfc!important;
    font-weight:570!important;
    text-shadow:none!important;
  }
  #sa-public-theme .site-header .nav a .sa-nav-icon{
    color:#fffdfc!important;
    stroke:#fffdfc!important;
    opacity:.92!important;
  }
  #sa-public-theme .site-header .nav a:hover,
  #sa-public-theme .site-header .nav a:focus-visible{
    background:rgba(255,255,255,.09)!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    border-radius:10px!important;
  }
  #sa-public-theme .site-header .nav a.active,
  #sa-public-theme .site-header .nav a[aria-current="page"],
  #sa-public-theme .site-header:not(.is-scrolled) .nav a.active,
  #sa-public-theme .site-header:not(.is-scrolled) .nav a[aria-current="page"]{
    background:transparent!important;
    box-shadow:none!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    font-weight:700!important;
  }
  #sa-public-theme .site-header .nav a::after{
    bottom:4px!important;
    height:2px!important;
    background:#fffdfc!important;
  }
  #sa-public-theme .site-header .nav a.active::after,
  #sa-public-theme .site-header .nav a[aria-current="page"]::after{
    width:28px!important;
  }

  /* Clean white right controls from design 11; preserve all current functions. */
  #sa-public-theme .site-header .nav-actions,
  #sa-public-theme .site-header:not(.is-scrolled) .nav-actions,
  #sa-public-theme .site-header.is-scrolled .nav-actions{
    position:relative!important;
    z-index:7!important;
    gap:9px!important;
    padding-left:12px!important;
    border-left:0!important;
    background:transparent!important;
  }
  #sa-public-theme .site-header .header-bell,
  #sa-public-theme .site-header:not(.is-scrolled) .header-bell,
  #sa-public-theme .site-header.is-scrolled .header-bell,
  #sa-public-theme .site-header .sa-theme-toggle,
  #sa-public-theme .site-header:not(.is-scrolled) .sa-theme-toggle,
  #sa-public-theme .site-header.is-scrolled .sa-theme-toggle{
    background:#fffdfc!important;
    border-color:rgba(116,19,35,.12)!important;
    box-shadow:none!important;
    color:#180409!important;
  }
  #sa-public-theme .site-header .header-profile-trigger,
  #sa-public-theme .site-header:not(.is-scrolled) .header-profile-trigger,
  #sa-public-theme .site-header.is-scrolled .header-profile-trigger{
    background:#fffaf9!important;
    border-color:rgba(116,19,35,.14)!important;
    box-shadow:none!important;
    color:#180409!important;
  }
  #sa-public-theme .site-header .header-bell:hover,
  #sa-public-theme .site-header .header-bell:focus-visible,
  #sa-public-theme .site-header .sa-theme-toggle:hover,
  #sa-public-theme .site-header .sa-theme-toggle:focus-visible,
  #sa-public-theme .site-header .header-profile-trigger:hover,
  #sa-public-theme .site-header .header-profile-trigger:focus-visible{
    background:#fbf2f3!important;
    border-color:rgba(116,19,35,.24)!important;
    box-shadow:none!important;
  }

  /* Keep dark mode visually identical to approved #11 instead of recoloring it. */
  html[data-sa-theme="dark"] #sa-public-theme .site-header .container.nav-wrap,
  html[data-sa-theme="dark"] #sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap,
  html[data-sa-theme="dark"] #sa-public-theme .site-header.is-scrolled .container.nav-wrap{
    background:#fffdfc!important;
    border-color:rgba(116,19,35,.105)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme .site-header .brand img,
  html[data-sa-theme="dark"] #sa-public-theme .site-header.is-scrolled .brand img{
    filter:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme .site-header .brand-text,
  html[data-sa-theme="dark"] #sa-public-theme .site-header .brand-text strong,
  html[data-sa-theme="dark"] #sa-public-theme .site-header.is-scrolled .brand-text,
  html[data-sa-theme="dark"] #sa-public-theme .site-header.is-scrolled .brand-text strong{
    color:#180409!important;
    -webkit-text-fill-color:#180409!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme .site-header .brand-text small,
  html[data-sa-theme="dark"] #sa-public-theme .site-header.is-scrolled .brand-text small{
    color:#741323!important;
    -webkit-text-fill-color:#741323!important;
  }
}


/* =========================================================
   v2.8.7.253 — MENU 11 SMOOTH CURVE + ORIGINAL TOP/SCROLL REVEAL
   Scope: desktop header only. No menu redesign. Keeps #11 geometry,
   restores the approved clean 0%-scroll state, reveals the maroon band
   only after scroll, makes the band perfectly symmetric/smooth, and
   fixes the white-on-white waterdrop/active-menu contrast.
   ========================================================= */
@media (min-width:1081px){
  /* 0% scroll stays exactly in the earlier clean/flat header state. */
  #sa-public-theme .site-header:not(.is-scrolled){
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }

  /* #11 maroon center band is hidden at page top and reveals on scroll. */
  #sa-public-theme .site-header .nav::before{
    left:-48px!important;
    right:-48px!important;
    top:-8px!important;
    bottom:-8px!important;
    background:transparent url("data:image/svg+xml,%3Csvg viewBox='0 0 1000 80' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0H1000C962 0 953 18 936 36C915 59 878 73 834 80H166C122 73 85 59 64 36C47 18 38 0 0 0Z' fill='%23741323'/%3E%3Cpath d='M8 1H992' stroke='%23ffffff' stroke-opacity='.11'/%3E%3C/svg%3E") no-repeat center/100% 100%!important;
    filter:drop-shadow(0 9px 18px rgba(116,19,35,.12))!important;
    transition:opacity .44s cubic-bezier(.22,.61,.36,1),transform .58s cubic-bezier(.22,.61,.36,1)!important;
    transform-origin:50% 0!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .nav::before{
    opacity:0!important;
    transform:translateY(-9px) scaleY(.82)!important;
  }
  #sa-public-theme .site-header.is-scrolled .nav::before{
    opacity:1!important;
    transform:translateY(0) scaleY(1)!important;
  }

  /* At top: restore dark menu text/icons because the maroon strip is hidden. */
  #sa-public-theme .site-header:not(.is-scrolled) .nav a{
    color:#180409!important;
    -webkit-text-fill-color:#180409!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .nav a .sa-nav-icon{
    color:#180409!important;
    stroke:#180409!important;
    opacity:1!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .nav a::after{
    background:#741323!important;
  }

  /* Scrolled #11 remains white-on-maroon, but the moving waterdrop is no
     longer opaque white, so active/hover labels stay clearly readable. */
  #sa-public-theme .site-header.is-scrolled .nav.sa-waterdrop-ready .sa-nav-waterdrop{
    background:rgba(255,255,255,.13)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.17),0 7px 18px rgba(24,4,9,.10)!important;
  }
  #sa-public-theme .site-header.is-scrolled .nav.sa-waterdrop-ready a,
  #sa-public-theme .site-header.is-scrolled .nav.sa-waterdrop-ready a:hover,
  #sa-public-theme .site-header.is-scrolled .nav.sa-waterdrop-ready a:focus-visible,
  #sa-public-theme .site-header.is-scrolled .nav.sa-waterdrop-ready a.active,
  #sa-public-theme .site-header.is-scrolled .nav.sa-waterdrop-ready a[aria-current="page"]{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
  }

  /* At top retain the previous light waterdrop behavior and dark text. */
  #sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready .sa-nav-waterdrop{
    background:#f8f0f0!important;
    box-shadow:inset 0 0 0 1px rgba(121,10,32,.055),0 7px 18px rgba(121,10,32,.055)!important;
  }
  #sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready a,
  #sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready a:hover,
  #sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready a:focus-visible,
  #sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready a.active,
  #sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready a[aria-current="page"]{
    color:#180409!important;
    -webkit-text-fill-color:#180409!important;
  }

  /* Restore the earlier flat top controls; scrolled controls remain #11. */
  #sa-public-theme .site-header:not(.is-scrolled) .header-bell,
  #sa-public-theme .site-header:not(.is-scrolled) .header-profile-trigger,
  #sa-public-theme .site-header:not(.is-scrolled) .sa-theme-toggle{
    background:transparent!important;
    background-image:none!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
}

/* =========================================================
   v2.8.7.258 — TOP NAV ICON + ACTIVE PILL LIGHT/DARK PARITY
   Root correction only: light top-state icons use dark ink; dark desktop
   active/hover state is drawn exclusively by the existing rounded
   waterdrop, preserving the exact same geometry as light mode.
   ========================================================= */
@media (min-width:1181px){
  /* Exact same active/hover pill geometry in light and dark. */
  #sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready .sa-nav-waterdrop,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready .sa-nav-waterdrop{
    border-radius:999px!important;
  }

  /* Light mode: menu text and icons are the same dark ink. */
  html:not([data-sa-theme="dark"]) #sa-public-theme .site-header:not(.is-scrolled) .nav a,
  html:not([data-sa-theme="dark"]) #sa-public-theme .site-header:not(.is-scrolled) .nav a .sa-nav-icon{
    color:#180409!important;
    -webkit-text-fill-color:#180409!important;
    stroke:#180409!important;
  }

  /* Dark mode: link itself stays transparent so no square/rectangle can
     sit on top of the rounded waterdrop. Geometry/padding remain unchanged. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready a,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready a:hover,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready a:focus-visible,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready a.active,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready a[aria-current="page"]{
    background:transparent!important;
    background-image:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    color:#fff7f7!important;
    -webkit-text-fill-color:#fff7f7!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready a .sa-nav-icon{
    color:#fff7f7!important;
    stroke:#fff7f7!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .nav.sa-waterdrop-ready .sa-nav-waterdrop{
    background:var(--sa-dark-raised)!important;
    box-shadow:inset 0 0 0 1px rgba(241,185,189,.18),0 7px 18px rgba(0,0,0,.24)!important;
  }
}

/* =========================================================
   v2.8.7.254 — MENU 11 BOTH-SIDE CURVE GEOMETRY FIX
   Root fix only: keep the same menu 11 design/behavior, but replace the
   center burgundy band's uneven end geometry with a smoother, symmetric
   left/right curve. No layout or interaction changes.
   ========================================================= */
@media (min-width:1081px){
  #sa-public-theme .site-header .nav::before,
  #sa-public-theme .site-header:not(.is-scrolled) .nav::before,
  #sa-public-theme .site-header.is-scrolled .nav::before{
    background:transparent url("data:image/svg+xml,%3Csvg viewBox='0 0 1000 80' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0H1000C980 0 968 8 956 18C934 36 906 58 862 76C846 79 827 80 808 80H192C173 80 154 79 138 76C94 58 66 36 44 18C32 8 20 0 0 0Z' fill='%23741323'/%3E%3Cpath d='M18 1H982' stroke='%23ffffff' stroke-opacity='.10'/%3E%3C/svg%3E") no-repeat center/100% 100%!important;
  }
}

/* =========================================================
   v2.8.7.255 — MENU 11 CURVE ROOT FIX
   Replace only the burgundy center band's end geometry.
   Short symmetric cubic ends use horizontal tangents at both the top entry
   and bottom join, eliminating the stretched/uneven sweep on both sides.
   No menu layout, height, spacing, color, or scroll-state behavior changes.
   ========================================================= */
@media (min-width:1081px){
  #sa-public-theme .site-header .nav::before,
  #sa-public-theme .site-header:not(.is-scrolled) .nav::before,
  #sa-public-theme .site-header.is-scrolled .nav::before{
    background:transparent url("data:image/svg+xml,%3Csvg viewBox='0 0 1000 80' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0H1000C972 0 970 80 910 80H90C30 80 28 0 0 0Z' fill='%23741323'/%3E%3Cpath d='M16 1H984' stroke='%23ffffff' stroke-opacity='.10' stroke-width='1'/%3E%3C/svg%3E") no-repeat center/100% 100%!important;
  }
}

/* =========================================================
   v2.8.7.256 — MENU 11 DARK MODE CONSISTENCY + 2X REVEAL TIME
   Scope: header only. Preserve v255 geometry/layout/curve.
   Fixes dark-mode control/shell overrides and doubles the reveal duration.
   ========================================================= */
@media (min-width:1081px){
  /* Dark-mode #11 shell: keep the same geometry, use one coherent dark surface. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index .site-header,
  html[data-sa-theme="dark"] body.home #sa-public-theme#sa-public-theme .site-header{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }

  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .container.nav-wrap,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index .site-header.is-scrolled .container.nav-wrap,
  html[data-sa-theme="dark"] body.home #sa-public-theme#sa-public-theme .site-header.is-scrolled .container.nav-wrap{
    background:#18090c!important;
    background-image:none!important;
    border-color:rgba(255,255,255,.15)!important;
    box-shadow:0 14px 38px rgba(0,0,0,.30)!important;
  }

  /* Keep the top/flat state transparent in dark mode too. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme.page-index .site-header:not(.is-scrolled) .container.nav-wrap,
  html[data-sa-theme="dark"] body.home #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .container.nav-wrap{
    background:transparent!important;
    background-image:none!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }

  /* Brand remains readable on the dark shell; no geometry changes. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand img{
    filter:brightness(0) invert(1)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text strong{
    color:#fff7f7!important;
    -webkit-text-fill-color:#fff7f7!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text small{
    color:#d9c4c7!important;
    -webkit-text-fill-color:#d9c4c7!important;
  }

  /* Scrolled center ribbon stays exactly v255; normalize active/hover contrast. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .nav a,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .nav a:hover,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .nav a:focus-visible,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .nav a.active,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .nav a[aria-current="page"]{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    background:transparent!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .nav a .sa-nav-icon{
    color:#ffffff!important;
    stroke:#ffffff!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .nav.sa-waterdrop-ready .sa-nav-waterdrop{
    background:rgba(255,255,255,.12)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 7px 18px rgba(0,0,0,.18)!important;
  }

  /* Fix the mismatched white theme button and keep all right controls consistent. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .header-bell,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .header-profile-trigger,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .sa-theme-toggle,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .sa-boxed-login,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .plain.sa-auth-open{
    background:#241014!important;
    background-image:none!important;
    border-color:rgba(255,255,255,.16)!important;
    color:#fff7f7!important;
    -webkit-text-fill-color:#fff7f7!important;
    box-shadow:none!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .header-bell:hover,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .header-profile-trigger:hover,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .sa-theme-toggle:hover,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .header-bell:focus-visible,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .header-profile-trigger:focus-visible,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .sa-theme-toggle:focus-visible{
    background:#301318!important;
    border-color:rgba(255,255,255,.24)!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .header-bell svg,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .header-profile-trigger svg,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .sa-theme-toggle svg{
    color:#fff7f7!important;
    stroke:currentColor!important;
  }

  /* Top state remains flat/clean in dark mode; controls do not show pills early. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .header-bell,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .header-profile-trigger,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .sa-theme-toggle,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .sa-boxed-login,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .plain.sa-auth-open{
    background:transparent!important;
    background-image:none!important;
    border-color:transparent!important;
    box-shadow:none!important;
    color:#fff7f7!important;
    -webkit-text-fill-color:#fff7f7!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .header-user-copy strong,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .header-user-copy small,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .header-user-copy strong,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .header-user-copy small,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .header-chevron{
    color:#fff7f7!important;
    -webkit-text-fill-color:#fff7f7!important;
    stroke:#fff7f7!important;
  }

  /* User requested the top reveal 1x slower: double the existing durations. */
  #sa-public-theme .site-header .nav::before{
    transition:opacity .88s cubic-bezier(.22,.61,.36,1),transform 1.16s cubic-bezier(.22,.61,.36,1)!important;
  }
}

/* Homepage header reveal itself also gets the same 2x timing, without changing thresholds. */
#sa-public-theme.page-index .site-header,
body.home #sa-public-theme .site-header{
  transition:opacity .56s ease,visibility 0s linear .56s!important;
}
#sa-public-theme.page-index .site-header.is-after-hero,
body.home #sa-public-theme .site-header.is-after-hero{
  transition:opacity .56s ease,visibility 0s linear 0s!important;
}

/* v2.8.7.263 | HEADER BRAND CONTRAST — THEME AWARE
   Light header's logo panel is white; dark header's logo panel is dark.
   Header brand is not recolored according to homepage scroll inversion.
   Scope to header only; no ribbon geometry, interactions or timing changes. */
@media (min-width:1081px){
  /* Light mode: original maroon logo on the white brand panel. */
  html:not([data-sa-theme="dark"]) #sa-public-theme#sa-public-theme .site-header .brand img{
    filter:none!important;opacity:1!important;visibility:visible!important;
  }
  html:not([data-sa-theme="dark"]) #sa-public-theme#sa-public-theme .site-header .brand,
  html:not([data-sa-theme="dark"]) #sa-public-theme#sa-public-theme .site-header .brand-text,
  html:not([data-sa-theme="dark"]) #sa-public-theme#sa-public-theme .site-header .brand-text strong{
    color:#180409!important;-webkit-text-fill-color:#180409!important;
    opacity:1!important;visibility:visible!important;
  }
  html:not([data-sa-theme="dark"]) #sa-public-theme#sa-public-theme .site-header .brand-text small{
    color:#741323!important;-webkit-text-fill-color:#741323!important;
    opacity:1!important;visibility:visible!important;
  }
  /* Dark mode: white logo and typography on the dark brand panel,
     both before and after scrolling, on homepage and inner pages. */
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand img{
    filter:brightness(0) invert(1)!important;opacity:1!important;visibility:visible!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text,
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text strong{
    color:#fff7f7!important;-webkit-text-fill-color:#fff7f7!important;
    opacity:1!important;visibility:visible!important;
  }
  html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text small{
    color:#ead8d8!important;-webkit-text-fill-color:#ead8d8!important;
    opacity:1!important;visibility:visible!important;
  }
}
/* v2.8.7.267 | CANONICAL PLAIN MOBILE HEADER — no ribbon geometry.
   Desktop remains unchanged. Same layout for static and WordPress pages. */
@media(max-width:1080px){
 /* v2.8.7.276: Use the theme's focus indicators, never the WebKit/Android tap box.
    Restrict to interactive header controls and dropdown links (not global links). */
 #sa-public-theme .site-header :is(.brand,.mobile-toggle,.sa-theme-toggle,.header-profile-trigger,.header-bell,.sa-auth-open,.sa-boxed-login,.mobile-nav a,.header-profile-menu a,.header-profile-menu button),
 #sa-public-theme .site-header :is(.brand,.mobile-toggle,.sa-theme-toggle,.header-profile-trigger,.header-bell,.sa-auth-open,.sa-boxed-login) *{
  -webkit-tap-highlight-color:transparent!important;
 }
 /* Pointer/touch focus must not leave a rectangle behind. */
 #sa-public-theme .site-header :is(.brand,.mobile-toggle,.sa-theme-toggle,.header-profile-trigger,.header-bell,.sa-auth-open,.sa-boxed-login,.mobile-nav a,.header-profile-menu a,.header-profile-menu button):focus:not(:focus-visible){
  outline:0!important;outline-offset:0!important;
 }
 /* Keyboard users still receive a deliberate, theme-colored focus ring. */
 #sa-public-theme .site-header :is(.brand,.mobile-toggle,.sa-theme-toggle,.header-profile-trigger,.header-bell,.sa-auth-open,.sa-boxed-login,.mobile-nav a,.header-profile-menu a,.header-profile-menu button):focus-visible{
  outline:2px solid #741323!important;outline-offset:2px!important;
 }
 html[data-sa-theme="dark"] #sa-public-theme .site-header :is(.brand,.mobile-toggle,.sa-theme-toggle,.header-profile-trigger,.header-bell,.sa-auth-open,.sa-boxed-login,.mobile-nav a,.header-profile-menu a,.header-profile-menu button):focus-visible{
  outline-color:#f1b9bd!important;
 }
 #sa-public-theme .site-header .nav-wrap,
 #sa-public-theme .site-header .container.nav-wrap{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
  gap:0!important;align-items:center!important;min-height:64px!important;
  padding:0 9px!important;background:#fff!important;background-image:none!important;
  border-radius:18px!important;overflow:visible!important;
 }
 #sa-public-theme .site-header .nav-wrap::before,
 #sa-public-theme .site-header .nav-wrap::after,
 #sa-public-theme .site-header .nav::before,
 #sa-public-theme .site-header .nav::after,
 #sa-public-theme .site-header .brand::before,
 #sa-public-theme .site-header .brand::after,
 #sa-public-theme .site-header .nav-actions::before,
 #sa-public-theme .site-header .nav-actions::after{
  content:none!important;display:none!important;background:none!important;clip-path:none!important;
 }
 #sa-public-theme .site-header .brand{
  display:flex!important;align-items:center!important;min-width:0!important;width:auto!important;
  height:64px!important;margin:0!important;padding:6px 0 6px 5px!important;
  background:transparent!important;background-image:none!important;clip-path:none!important;
  color:#180409!important;
 }
 #sa-public-theme .site-header .brand img{filter:none!important;opacity:1!important;visibility:visible!important}
 #sa-public-theme .site-header .brand-text,
 #sa-public-theme .site-header .brand-text strong{color:#180409!important;-webkit-text-fill-color:#180409!important}
 #sa-public-theme .site-header .brand-text small{color:#741323!important;-webkit-text-fill-color:#741323!important}
 #sa-public-theme .site-header .nav{display:none!important}
 #sa-public-theme .site-header .nav-actions,
 #sa-public-theme .site-header:not(.is-scrolled) .nav-actions,
 #sa-public-theme .site-header.is-scrolled .nav-actions{
  display:flex!important;align-items:center!important;gap:5px!important;min-height:64px!important;
  padding:0 3px!important;margin:0!important;background:transparent!important;
  background-image:none!important;clip-path:none!important;border:0!important;box-shadow:none!important;
 }
 /* v2.8.7.271 — canonical mobile profile without the old double-circle.
    No pill on the trigger, no ring/shadow on the avatar. The avatar remains
    round, and the full-size trigger keeps the existing click behaviour. */
 html #sa-public-theme#sa-public-theme .site-header .header-profile-trigger,
 html #sa-public-theme#sa-public-theme .site-header .header-profile-trigger:hover,
 html #sa-public-theme#sa-public-theme .site-header .header-profile-trigger:focus-visible,
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .header-profile-trigger,
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .header-profile-trigger{
  box-sizing:border-box!important;display:grid!important;place-items:center!important;
  flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;
  height:42px!important;min-height:42px!important;max-height:42px!important;
  padding:0!important;margin:0!important;gap:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  background-image:none!important;box-shadow:none!important;
 }
 html #sa-public-theme#sa-public-theme .site-header .header-avatar,
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .header-avatar{
  box-sizing:border-box!important;width:34px!important;height:34px!important;
  flex:0 0 34px!important;border:0!important;outline:0!important;
  box-shadow:none!important;background:transparent!important;
 }
 html #sa-public-theme#sa-public-theme .site-header .header-avatar img{
  display:block!important;width:100%!important;height:100%!important;
  border:0!important;outline:0!important;box-shadow:none!important;
  border-radius:50%!important;object-fit:cover!important;
 }
 #sa-public-theme .site-header .mobile-toggle,
 #sa-public-theme .site-header .sa-theme-toggle{
  background:#f8f1f2!important;color:#741323!important;
  border:1px solid #ead9dd!important;box-shadow:none!important;
 }
 #sa-public-theme .site-header .mobile-toggle svg,
 #sa-public-theme .site-header .sa-theme-toggle svg{color:#741323!important;stroke:currentColor!important}
 #sa-public-theme .site-header .mobile-nav{
  position:fixed!important;top:calc(var(--sa-mobile-nav-top,76px) + 7px)!important;
  left:clamp(8px,2.5vw,20px)!important;right:clamp(8px,2.5vw,20px)!important;
  width:auto!important;max-width:none!important;margin:0!important;padding:9px!important;
  box-sizing:border-box!important;background:#fff!important;background-image:none!important;
  border:1px solid #eadde0!important;border-radius:22px!important;
  color:#180409!important;box-shadow:0 14px 30px rgba(24,4,9,.10)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  max-height:calc(100dvh - var(--sa-mobile-nav-top,76px) - 19px)!important;
  overflow-y:auto!important;overflow-x:hidden!important;z-index:10019!important;
 }
 #sa-public-theme .site-header .mobile-nav.open:not([hidden]){
  display:flex!important;flex-direction:column!important;gap:3px!important;
  animation:sa-mobile-nav-unfold .22s ease-out both;
 }
 #sa-public-theme .site-header .mobile-nav:not(.open),
 #sa-public-theme .site-header .mobile-nav[hidden]{display:none!important}
 #sa-public-theme .site-header .mobile-nav>a{
  display:flex!important;flex:0 0 auto!important;align-items:center!important;
  justify-content:flex-start!important;width:100%!important;min-height:46px!important;
  gap:13px!important;padding:11px 14px!important;box-sizing:border-box!important;
  border:0!important;border-radius:11px!important;box-shadow:none!important;
  text-align:left!important;background:transparent!important;color:#180409!important;
  -webkit-text-fill-color:#180409!important;font-weight:550!important;
  position:relative!important;
 }
 /* Subtle, icon-inset separators occupy the existing 3px row gap.
    Avoid cutting through the active-page highlight. */
 #sa-public-theme .site-header .mobile-nav>a + a::before{
  content:"";position:absolute;pointer-events:none;
  top:-2px;left:46px;right:15px;height:1px;
  background:linear-gradient(90deg,rgba(116,19,35,.19),rgba(116,19,35,.09) 78%,transparent);
 }
 #sa-public-theme .site-header .mobile-nav>a.active::before,
 #sa-public-theme .site-header .mobile-nav>a.active + a::before{opacity:0}
 #sa-public-theme .site-header .mobile-nav>a .sa-nav-icon{
  width:19px!important;height:19px!important;flex:0 0 19px!important;
  color:#741323!important;stroke:currentColor!important;
 }
 #sa-public-theme .site-header .mobile-nav>a.active,
 #sa-public-theme .site-header .mobile-nav>a:hover{
  background:#f6eaed!important;color:#180409!important;-webkit-text-fill-color:#180409!important;
 }
 #sa-public-theme .site-header .mobile-nav .sa-mobile-nav-close{display:none!important}
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .nav-wrap{
  background:#210d13!important;border-color:rgba(255,255,255,.13)!important;
 }
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand{background:transparent!important}
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand img{filter:brightness(0) invert(1)!important}
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text,
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text strong{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
 }
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .brand-text small{
  color:#e6bec7!important;-webkit-text-fill-color:#e6bec7!important;
 }
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .nav-actions{background:transparent!important}
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .mobile-toggle,
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .sa-theme-toggle{
  background:#392028!important;border-color:#65414b!important;color:#fff!important;
 }
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .mobile-toggle svg,
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .sa-theme-toggle svg{
  color:#fff!important;stroke:currentColor!important;
 }
 /* Dark-mode guest Login: legacy light pill set webkit-text-fill-color to
    #29090d, which stays dark even though `color` becomes white. The guest
    link must own both text properties (all mobile pages, before/after scroll). */
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .nav-actions > a.sa-boxed-login,
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .nav-actions > a.plain.sa-auth-open{
  color:#fff7f7!important;
  -webkit-text-fill-color:#fff7f7!important;
 }
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .mobile-nav{
  background:#210d13!important;border-color:#54303a!important;color:#fff!important;
 }
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .mobile-nav>a{
  background:transparent!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
 }
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .mobile-nav>a .sa-nav-icon{
  color:#fff!important;stroke:currentColor!important;
 }
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .mobile-nav>a + a::before{
  background:linear-gradient(90deg,rgba(255,255,255,.23),rgba(255,255,255,.11) 78%,transparent);
 }
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .mobile-nav>a.active,
 html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .mobile-nav>a:hover{
  background:#65303d!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
 }
}
@media(max-width:400px){
 #sa-public-theme .site-header .brand{padding-left:2px!important;gap:5px!important}
 #sa-public-theme .site-header .brand-text strong{font-size:.73rem!important}
 #sa-public-theme .site-header .brand-text small{letter-spacing:.09em!important}
 #sa-public-theme .site-header .nav-actions{gap:4px!important;padding:0!important}
}
@keyframes sa-mobile-nav-unfold{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#sa-public-theme .site-header .mobile-nav{animation:none!important}}

/* =========================================================
   V2.8.7.274 — MOBILE MENU: CONTENT-ONLY BLUR

   #sa-public-theme is the BODY itself (not a descendant of body).
   Do not create a full-page body::before backdrop-filter: it sits above
   header/navigation on mobile and blurs the menu too.
   Instead, when the existing JS sets sa-mobile-menu-open on BODY, blur
   only main and footer siblings, never the site-header or the open menu.
   This is intentionally scoped to the mobile nav breakpoint.
   ========================================================= */
@media (max-width:1080px){
  #sa-public-theme main,
  #sa-public-theme > footer,
  #sa-public-theme > .site-footer{
    transition:filter .22s ease;
  }
  #sa-public-theme.sa-mobile-menu-open main,
  #sa-public-theme.sa-mobile-menu-open > footer,
  #sa-public-theme.sa-mobile-menu-open > .site-footer{
    filter:blur(6px) brightness(.88)!important;
    pointer-events:none;
  }
  html[data-sa-theme="dark"] #sa-public-theme.sa-mobile-menu-open main,
  html[data-sa-theme="dark"] #sa-public-theme.sa-mobile-menu-open > footer,
  html[data-sa-theme="dark"] #sa-public-theme.sa-mobile-menu-open > .site-footer{
    filter:blur(6px) brightness(.78)!important;
  }
  #sa-public-theme .site-header .mobile-nav{
    border-radius:22px!important;
    box-shadow:0 18px 40px rgba(24,4,9,.14)!important;
  }
}




/* =======================================================================
   v2.8.7.283 — Header brand uses icon + live text, not combined logo image.
   ======================================================================= */
html #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
html #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand .sa-brand-symbol{
  width:46px!important;
  height:auto!important;
  max-width:46px!important;
  flex:0 0 46px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
  -webkit-filter:none!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  image-rendering:auto!important;
}
html #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand .sa-brand-wordmark{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#261d1b!important;
  -webkit-text-fill-color:#261d1b!important;
  font-family:var(--font)!important;
  font-size:clamp(1.2rem,1.08rem + .5vw,1.95rem)!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:-.03em!important;
  white-space:nowrap!important;
}
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand .sa-brand-wordmark,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header.is-scrolled .brand .sa-brand-wordmark{
  color:#fff7f7!important;
  -webkit-text-fill-color:#fff7f7!important;
}
html:not([data-sa-theme="dark"]) #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .brand .sa-brand-wordmark,
html:not([data-sa-theme="dark"]) #sa-public-theme#sa-public-theme .site-header.is-scrolled .brand .sa-brand-wordmark{
  color:#261d1b!important;
  -webkit-text-fill-color:#261d1b!important;
}
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header:not(.is-scrolled) .brand .sa-brand-wordmark{
  color:#fff7f7!important;
  -webkit-text-fill-color:#fff7f7!important;
}
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand .sa-brand-symbol,
html:not([data-sa-theme="dark"]) #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand .sa-brand-symbol,
html #sa-public-theme#sa-public-theme .site-header.is-scrolled .brand .sa-brand-symbol{
  filter:none!important;
  -webkit-filter:none!important;
}
#sa-public-theme .site-header .brand-text{display:none!important;}
@media(max-width:1080px){
  html #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand{
    gap:10px!important;
  }
  html #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand .sa-brand-symbol{
    width:40px!important;
    max-width:40px!important;
    flex-basis:40px!important;
  }
  html #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand .sa-brand-wordmark{
    font-size:clamp(1rem,.92rem + .55vw,1.45rem)!important;
  }
}
@media(max-width:480px){
  html #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand{
    gap:8px!important;
  }
  html #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand .sa-brand-symbol{
    width:34px!important;
    max-width:34px!important;
    flex-basis:34px!important;
  }
  html #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand .sa-brand-wordmark{
    font-size:clamp(.92rem,.87rem + .5vw,1.08rem)!important;
    letter-spacing:-.02em!important;
  }
}
@media(max-width:370px){
  html #sa-public-theme#sa-public-theme .site-header .container.nav-wrap .brand .sa-brand-wordmark{
    font-size:.86rem!important;
  }
}


/* =======================================================================
   v2.8.7.285 — Header client profile picture fit fix
   Keep the existing header layout, but make the avatar render cleanly.
   ======================================================================= */
html #sa-public-theme#sa-public-theme .site-header .header-avatar,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .header-avatar{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  flex:0 0 36px!important;
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:#f4ecec!important;
  isolation:isolate!important;
}
html #sa-public-theme#sa-public-theme .site-header .header-avatar img,
html[data-sa-theme="dark"] #sa-public-theme#sa-public-theme .site-header .header-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  border-radius:999px!important;
  object-fit:cover!important;
  object-position:center center!important;
  aspect-ratio:1 / 1!important;
  transform:none!important;
  image-rendering:auto!important;
}

/* v2.8.7.288 — accessible appearance choices (original icon unchanged) */
.sa-theme-choice-menu{position:fixed;z-index:2147481000;width:196px;padding:7px;background:#fff;color:#180409;border:1px solid rgba(116,19,35,.16);border-radius:14px;box-shadow:0 14px 48px rgba(35,3,11,.18);font:inherit;}
.sa-theme-choice-option{display:block;width:100%;padding:11px 13px;text-align:left;border:0;border-radius:9px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer;}
.sa-theme-choice-option:hover,.sa-theme-choice-option:focus-visible{background:rgba(116,19,35,.08);outline:2px solid transparent;}
.sa-theme-choice-option[aria-checked=true]{font-weight:650;color:#741323;background:rgba(116,19,35,.08);}
.sa-theme-choice-option[aria-checked=true]::after{content:'✓';float:right;}
html[data-sa-theme=dark] .sa-theme-choice-menu{background:#210b10;color:#fdf4f5;border-color:rgba(255,255,255,.17);box-shadow:0 14px 48px rgba(0,0,0,.35);}
html[data-sa-theme=dark] .sa-theme-choice-option[aria-checked=true]{color:#fff;background:rgba(255,255,255,.11);}
html[data-sa-theme=dark] .sa-theme-choice-option:hover,html[data-sa-theme=dark] .sa-theme-choice-option:focus-visible{background:rgba(255,255,255,.11);}

/* v2.8.7.294.12 — Original, readable Services/Portfolio SEO details; theme font inherited. */
#sa-public-theme.page-services .sa-ref-hero h1,
#sa-public-theme.page-portfolio .sa-ref-hero h1 {font-size:clamp(2.55rem,4.0vw,3.65rem)!important;line-height:1.02!important;max-width:430px!important;text-wrap:balance;overflow-wrap:normal}
#sa-public-theme .sa-seo-editorial{background:var(--page-bg,#fff);color:inherit;padding:clamp(50px,6vw,94px) 0;border-top:1px solid rgba(116,19,35,.09)}
#sa-public-theme .sa-seo-editorial-inner{max-width:1140px;margin:0 auto}
#sa-public-theme .sa-seo-editorial .eyebrow{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:#741323;font-weight:650}
#sa-public-theme .sa-seo-editorial h2{font-family:inherit;font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.2;margin:12px 0 22px;max-width:880px;color:inherit}
#sa-public-theme .sa-seo-editorial p{font-family:inherit;font-size:clamp(.94rem,1.3vw,1.04rem);line-height:1.82;max-width:940px;opacity:.87}
#sa-public-theme .sa-seo-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px);margin:30px 0}
#sa-public-theme .sa-seo-editorial-grid>div{padding:22px 0;border-top:1px solid rgba(116,19,35,.22)}
#sa-public-theme .sa-seo-editorial-grid h3{font-family:inherit;margin:0 0 8px;font-size:1.15rem;font-weight:650;color:inherit}
#sa-public-theme .sa-seo-editorial-grid p{margin:0;font-size:.94rem;line-height:1.68}
#sa-public-theme .sa-seo-editorial-nav{display:flex;flex-wrap:wrap;gap:12px 25px;padding-top:8px}
#sa-public-theme .sa-seo-editorial-nav a{color:#741323;font-family:inherit;font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;cursor:pointer}
#sa-public-theme .sa-seo-editorial-nav a:hover{opacity:.74}
#sa-public-theme .sa-seo-editorial-note{font-size:.88rem!important;opacity:.7!important}
html[data-sa-theme="dark"] #sa-public-theme .sa-seo-editorial{background:#160708;border-color:rgba(255,255,255,.1)}
html[data-sa-theme="dark"] #sa-public-theme .sa-seo-editorial-grid>div{border-color:rgba(255,255,255,.18)}
html[data-sa-theme="dark"] #sa-public-theme .sa-seo-editorial .eyebrow,
html[data-sa-theme="dark"] #sa-public-theme .sa-seo-editorial-nav a{color:#f2a7b5}
@media(max-width:740px){#sa-public-theme.page-services .sa-ref-hero h1,#sa-public-theme.page-portfolio .sa-ref-hero h1{font-size:clamp(2.1rem,9vw,2.9rem)!important;max-width:100%!important}#sa-public-theme .sa-seo-editorial-grid{grid-template-columns:1fr;gap:4px}#sa-public-theme .sa-seo-editorial-grid>div{padding-top:17px}}
