/* ============================================================
   elevate.css — homepage-only upgrades for Cakes by Steph
   Loaded only on index.html, after theme.css. Uses live design tokens.
   Safe to remove: delete this file + its <link> + the sx-* markup.
   ============================================================ */

/* ---- PRESS / TRUST STRIP (placed high) ---- */
.sx-trust{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.sx-trust .in{max-width:1180px;margin:0 auto;padding:22px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 34px;font-family:'Jost',sans-serif;}
.sx-trust .it{display:flex;align-items:center;gap:9px;font-size:.82rem;letter-spacing:.04em;color:var(--muted);white-space:nowrap;}
.sx-trust .it b{color:var(--ink);font-weight:500;}
.sx-trust .it .g{color:var(--gold);font-size:.95rem;letter-spacing:.1em;}
.sx-trust .dot{width:4px;height:4px;border-radius:50%;background:var(--line);}
@media(max-width:760px){.sx-trust .dot{display:none;} .sx-trust .in{gap:12px 20px;padding:18px 20px;}}

/* ---- IMMERSIVE "WORK OF ART" GALLERY ---- */
.sx-gal{position:relative;background:linear-gradient(180deg,var(--bg2),var(--bg));padding:96px 0 90px;overflow:hidden;}
.sx-gal .head{max-width:1180px;margin:0 auto 30px;padding:0 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.sx-gal .kick{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--rose-ink);margin-bottom:10px;}
.sx-gal h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(2rem,4.6vw,3.4rem);color:var(--ink);line-height:1.04;}
.sx-gal h2 em{font-style:italic;color:var(--rose-ink);}
.sx-gal .sub{font-family:'Jost',sans-serif;color:var(--muted);max-width:24em;font-size:1rem;line-height:1.6;}
.sx-stage{position:relative;max-width:1180px;margin:0 auto;padding:0 32px;}
.sx-feat{position:relative;width:100%;height:min(74vh,660px);border-radius:4px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(71,48,58,.5);background:var(--bg2);cursor:zoom-in;transition:transform .35s cubic-bezier(.16,1,.3,1);will-change:transform;}
.sx-feat img{width:100%;height:100%;object-fit:cover;transition:opacity .5s ease,transform 8s ease;}
.sx-feat.swap img{opacity:0;}
.sx-feat:hover img{transform:scale(1.04);}
.sx-feat .cap{position:absolute;left:0;bottom:0;right:0;padding:60px 34px 28px;background:linear-gradient(0deg,rgba(45,26,32,.62),transparent);color:#fff;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.3rem,2.4vw,1.9rem);pointer-events:none;}
.sx-feat .zoom{position:absolute;top:18px;right:18px;background:rgba(255,255,255,.9);color:var(--ink);font-family:'Jost',sans-serif;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;padding:8px 14px;border-radius:100px;cursor:pointer;}
.sx-film{display:flex;gap:12px;margin-top:16px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;}
.sx-film button{flex:0 0 auto;width:104px;height:78px;border:2px solid transparent;border-radius:4px;overflow:hidden;background:none;cursor:pointer;padding:0;opacity:.62;transition:opacity .3s,border-color .3s,transform .3s;}
.sx-film button:hover{opacity:1;transform:translateY(-2px);}
.sx-film button.on{opacity:1;border-color:var(--rose);}
.sx-film img{width:100%;height:100%;object-fit:cover;}
@media(hover:none){.sx-feat{transform:none!important;}}
@media(max-width:760px){.sx-feat{height:56vh;} .sx-film button{width:84px;height:62px;}}

/* ---- EDITORIAL FULL-BLEED QUOTE BAND ---- */
.sx-edit{position:relative;min-height:66vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
.sx-edit img{position:absolute;inset:0;width:100%;height:120%;top:-10%;object-fit:cover;}
.sx-edit::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(45,26,32,.5),rgba(124,74,92,.55));}
.sx-edit .q{position:relative;z-index:2;max-width:20em;padding:40px 28px;color:#fff;}
.sx-edit .q p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:clamp(1.8rem,4.2vw,3rem);line-height:1.18;}
.sx-edit .q .by{font-family:'Jost',sans-serif;font-style:normal;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-top:20px;opacity:.9;}

/* ---- LIGHTBOX ---- */
.sx-lb{position:fixed;inset:0;z-index:9998;background:rgba(45,26,32,.9);display:flex;align-items:center;justify-content:center;padding:34px;opacity:0;visibility:hidden;transition:opacity .35s;cursor:zoom-out;backdrop-filter:blur(4px);}
.sx-lb.on{opacity:1;visibility:visible;}
.sx-lb img{max-width:92vw;max-height:88vh;border-radius:4px;box-shadow:0 30px 80px rgba(0,0,0,.5);transform:scale(.96);transition:transform .4s cubic-bezier(.16,1,.3,1);}
.sx-lb.on img{transform:scale(1);}
.sx-lb .x{position:absolute;top:22px;right:28px;color:#fff;font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;}

/* ---- CINEMATIC HERO MOTION + 3D DEPTH ---- */
.hero .bg img{animation:sxKen 24s ease-in-out infinite alternate;transform-origin:60% 40%;}
@keyframes sxKen{from{transform:scale(1)}to{transform:scale(1.09)}}
.hero .bg{transition:transform .3s ease-out;will-change:transform;}

/* ---- SCROLL PROGRESS ---- */
.sx-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--rose),var(--gold));z-index:400;transition:width .1s linear;}

/* ---- SPEED-TO-LEAD PROMISE BAND ---- */
.sx-promise{background:var(--deep);color:#fceef2;}
.sx-promise .in{max-width:1100px;margin:0 auto;padding:24px 32px;display:flex;align-items:center;justify-content:center;gap:12px 26px;flex-wrap:wrap;text-align:center;font-family:'Jost',sans-serif;}
.sx-promise .t{font-size:1.02rem;} .sx-promise .t b{color:#fff;font-weight:500;} .sx-promise .t .gold{color:var(--gold);}

/* ---- COUNT-UP STATS ---- */
.sx-stats{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.sx-stats .in{max-width:1100px;margin:0 auto;padding:56px 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
.sx-stats .s{position:relative;}
.sx-stats .s+.s::before{content:"";position:absolute;left:0;top:14%;height:72%;width:1px;background:var(--line);}
.sx-stats .n{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--rose-ink);line-height:1;}
.sx-stats .l{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:10px;}
@media(max-width:760px){.sx-stats .in{grid-template-columns:1fr 1fr;gap:34px 12px;} .sx-stats .s::before{display:none!important;}}

/* ---- REVIEWS CAROUSEL DOTS ---- */
.sx-rvdots{display:flex;gap:8px;justify-content:center;margin-top:20px;}
.sx-rvdots button{width:9px;height:9px;border-radius:50%;border:0;background:var(--line);cursor:pointer;padding:0;transition:.3s;}
.sx-rvdots button.on{background:var(--rose);width:24px;border-radius:5px;}

/* ---- GUIDED QUOTE BUILDER ---- */
.sx-est{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.sx-est .in{max-width:1060px;margin:0 auto;padding:92px 32px;}
.sx-est .top{text-align:center;margin-bottom:34px;}
.sx-est .kick{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--rose-ink);}
.sx-est h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(2rem,4.6vw,3.2rem);color:var(--ink);margin-top:10px;}
.sx-est h2 em{font-style:italic;color:var(--rose-ink);}
.sx-est-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:38px;align-items:start;}
.sx-est .f{margin-bottom:22px;}
.sx-est .f>label{display:block;font-family:'Jost',sans-serif;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.sx-est .opts{display:flex;flex-wrap:wrap;gap:9px;}
.sx-est .opts button{font-family:'Jost',sans-serif;font-size:.86rem;padding:9px 16px;border-radius:100px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:.2s;}
.sx-est .opts button:hover{border-color:var(--rose);}
.sx-est .opts button.on{background:var(--rose);border-color:var(--rose);color:#fff;}
.sx-est .rangewrap{display:flex;align-items:center;gap:14px;}
.sx-est input[type=range]{flex:1;accent-color:var(--rose);}
.sx-est .rv{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--rose-ink);min-width:52px;text-align:right;}
.sx-est .card{position:sticky;top:96px;background:linear-gradient(165deg,var(--bg2),var(--bg));border:1px solid var(--line);border-radius:8px;padding:30px 26px;text-align:center;}
.sx-est .card .lab{font-family:'Jost',sans-serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.sx-est .card .btn{display:inline-block;background:var(--rose);color:#fff;font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.06em;padding:14px 24px;border-radius:100px;transition:background .3s;}
.sx-est .card .btn:hover{background:var(--rose-ink);}
.sx-est .card .fine{font-family:'Jost',sans-serif;font-size:.72rem;color:var(--muted);margin-top:14px;line-height:1.5;}
.sx-est .card .pick{font-family:'Cormorant Garamond',serif;font-size:1.55rem;color:var(--ink);line-height:1.3;margin:8px 0 12px;}
.sx-est .card .say{font-family:'Jost',sans-serif;font-size:.92rem;color:var(--muted);line-height:1.6;margin-bottom:18px;}
@media(max-width:820px){.sx-est-grid{grid-template-columns:1fr;} .sx-est .card{position:static;}}

/* ---- GOOGLE REVIEWS ---- */
.sx-grev{padding:92px 0;background:var(--bg);}
.sx-grev .in{max-width:1120px;margin:0 auto;padding:0 32px;}
.sx-grev .head{text-align:center;margin-bottom:34px;}
.sx-grev .gbadge{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:100px;padding:10px 20px;font-family:'Jost',sans-serif;font-size:.9rem;color:var(--ink);}
.sx-grev .gbadge .stars{color:var(--gold);letter-spacing:.05em;}
.sx-grev .gbadge .g{font-weight:700;font-size:1.1rem;background:linear-gradient(90deg,#4285F4,#EA4335,#FBBC05,#34A853);-webkit-background-clip:text;background-clip:text;color:transparent;}
.sx-grev h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(2rem,4.4vw,3rem);color:var(--ink);margin-top:16px;}
.sx-grev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.sx-grev .card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;}
.sx-grev .card .r{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.sx-grev .card .av{width:42px;height:42px;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1.3rem;flex:none;}
.sx-grev .card .nm{font-family:'Jost',sans-serif;font-weight:500;color:var(--ink);font-size:.95rem;}
.sx-grev .card .st{color:var(--gold);font-size:.8rem;}
.sx-grev .card p{font-family:'Jost',sans-serif;color:var(--muted);font-size:.94rem;line-height:1.6;}
.sx-grev .fine{text-align:center;font-family:'Jost',sans-serif;font-size:.74rem;color:var(--muted);margin-top:22px;opacity:.8;}
@media(max-width:820px){.sx-grev-grid{grid-template-columns:1fr;}}

/* ---- CHAT CONCIERGE ---- */
.sx-chat-btn{position:fixed;right:20px;bottom:20px;z-index:170;width:60px;height:60px;border-radius:50%;background:var(--rose);color:#fff;border:0;cursor:pointer;box-shadow:0 12px 30px rgba(164,79,106,.45);font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:transform .3s;}
.sx-chat-btn:hover{transform:scale(1.06);}
.sx-chat-panel{position:fixed;right:20px;bottom:92px;z-index:171;width:min(360px,92vw);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 70px -20px rgba(71,48,58,.5);overflow:hidden;transform:translateY(16px) scale(.96);opacity:0;visibility:hidden;transition:.3s cubic-bezier(.16,1,.3,1);}
.sx-chat-panel.on{transform:none;opacity:1;visibility:visible;}
.sx-chat-hd{background:var(--deep);color:#fff;padding:16px 18px;font-family:'Cormorant Garamond',serif;}
.sx-chat-hd b{display:block;font-size:1.2rem;}
.sx-chat-hd span{font-family:'Jost',sans-serif;font-size:.74rem;opacity:.85;}
.sx-chat-body{padding:16px;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:var(--bg);}
.sx-msg{font-family:'Jost',sans-serif;font-size:.9rem;line-height:1.5;padding:10px 14px;border-radius:12px;max-width:86%;}
.sx-msg.bot{background:#fff;border:1px solid var(--line);color:var(--ink);align-self:flex-start;border-bottom-left-radius:3px;}
.sx-msg.me{background:var(--rose);color:#fff;align-self:flex-end;border-bottom-right-radius:3px;}
.sx-chat-qr{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:#fff;}
.sx-chat-qr button{font-family:'Jost',sans-serif;font-size:.8rem;padding:8px 13px;border-radius:100px;border:1px solid var(--line);background:#fff;color:var(--rose-ink);cursor:pointer;transition:.2s;}
.sx-chat-qr button:hover{background:var(--rose);color:#fff;border-color:var(--rose);}
@media(max-width:760px){.sx-chat-btn{bottom:64px;} .sx-chat-panel{bottom:132px;}}

@media(prefers-reduced-motion:reduce){.hero .bg img{animation:none;} .hero .bg{transform:none!important;} .sx-feat{transform:none!important;} .sx-progress{display:none;}}

/* ---- MULTI-STEP ORDER FORM (progressive: no JS = normal single-page form) ---- */
.co-progress,.co-stepcount,.co-nav{display:none;}
.co-multi .co-progress{display:block;height:6px;background:var(--line);border-radius:100px;overflow:hidden;margin:0 0 10px;}
.co-multi .co-progress span{display:block;height:100%;width:33%;background:linear-gradient(90deg,var(--rose),var(--gold));border-radius:100px;transition:width .4s cubic-bezier(.16,1,.3,1);}
.co-multi .co-stepcount{display:block;font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 24px;}
.co-multi .co-stepcount b{color:var(--rose-ink);}
.co-multi .co-step{display:none;}
.co-multi .co-step.on{display:block;animation:coFade .4s ease;}
@keyframes coFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.co-multi .co-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;}
.co-back{background:none;border:0;color:var(--muted);font-family:'Jost',sans-serif;font-size:.9rem;cursor:pointer;padding:8px 4px;}
.co-back:hover{color:var(--rose-ink);}
.co-next{background:var(--rose);color:#fff;border:0;font-family:'Jost',sans-serif;font-size:.92rem;letter-spacing:.04em;padding:13px 28px;border-radius:2px;cursor:pointer;transition:background .3s;}
.co-next:hover{background:var(--rose-ink);}

/* Lenis smooth-scroll base — stops it fighting native smooth-scroll */
html.lenis,html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto!important;}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain;}
.lenis.lenis-stopped{overflow:hidden;}
.lenis.lenis-smooth iframe{pointer-events:none;}
