/* Star Fortune · Taroti-inspired visual skin · v0.23.0
   Keeps Star Fortune brand colors/content; ports Taroti's typography, spacing,
   editorial borders, image treatment and motion language. */
:root{
  --bfr-font-display:"Ibarra Real Nova",Georgia,"Times New Roman",serif;
  --bfr-font-body:"Jost",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --bfr-taroti-paper:#fffdfa;
  --bfr-taroti-ink:var(--ink,#22151a);
  --bfr-taroti-line:color-mix(in srgb,var(--red,#c9152f) 18%,#ddd);
  --bfr-taroti-soft:color-mix(in srgb,var(--red,#c9152f) 4%,#fff);
  --bfr-taroti-shadow:0 24px 70px rgba(34,21,26,.07);
}
html{scroll-behavior:smooth}
body{font-family:var(--bfr-font-body);background:var(--bfr-taroti-paper);letter-spacing:.015em}
h1,h2,h3,h4,h5,h6,.bfr-brand-lockup>span,.bfr-hero-slogan{font-family:var(--bfr-font-display)!important;font-weight:400!important;letter-spacing:-.025em!important}
p,li,a,button,input,select,textarea,small{font-family:var(--bfr-font-body)}
.bfr-container{width:min(1350px,calc(100% - 56px))}

/* Header — thinner, calmer, editorial */
.bfr-header{background:rgba(255,253,250,.93);border-bottom:1px solid var(--bfr-taroti-line);backdrop-filter:blur(18px)}
.bfr-nav{height:92px;gap:36px}
.bfr-brand-lockup img{filter:none}
.bfr-brand-lockup>span{font-size:28px;line-height:1.02}
.bfr-brand-lockup>span small{font-family:var(--bfr-font-body)!important;font-size:9px;letter-spacing:.20em;text-transform:uppercase;margin-top:5px;font-weight:500}
.bfr-primary-menu>li>a,.bfr-menu a,.bfr-link{font-size:13px!important;font-weight:500!important;letter-spacing:.07em;text-transform:uppercase}
.bfr-primary-menu .sub-menu{border-radius:0!important;border:1px solid var(--bfr-taroti-line)!important;box-shadow:var(--bfr-taroti-shadow)!important}
.bfr-primary-menu .sub-menu a{font-weight:500!important}
.bfr-mobile-toggle{border-radius:0;background:transparent}

/* Buttons */
.bfr-btn{border-radius:0!important;box-shadow:none!important;text-transform:uppercase;letter-spacing:.11em!important;font-size:12px!important;font-weight:600!important;min-height:48px;padding:14px 22px!important;transition:transform .45s ease,background .45s ease,color .45s ease,border-color .45s ease!important}
.bfr-btn:hover{transform:translateY(-2px)}
.bfr-btn.ghost{background:transparent!important;border:1px solid var(--red)!important}

/* Home hero — Taroti editorial split */
.bfr-home-modern .bfr-hero-modern{padding:36px 0 70px!important;background:var(--bfr-taroti-paper)!important;border-bottom:1px solid var(--bfr-taroti-line);overflow:hidden}
.bfr-hero-modern .bfr-hero-grid{grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr)!important;gap:72px!important;align-items:center}
.bfr-hero-copy{padding:42px 0}
.bfr-hero-copy:before{content:"✦  ☾  ✦";display:block;font-family:var(--bfr-font-display);font-size:15px;letter-spacing:.55em;color:var(--red);margin-bottom:25px}
.bfr-hero-copy .bfr-kicker{font-size:10px!important;letter-spacing:.24em!important;font-weight:500!important;border-bottom:1px solid var(--bfr-taroti-line);padding-bottom:10px}
.bfr-hero-modern h1{font-size:clamp(58px,6.2vw,102px)!important;line-height:.92!important;max-width:760px!important;margin:22px 0 30px!important;font-weight:400!important;text-wrap:balance}
.bfr-hero-modern .bfr-hero-intro{font-size:16px!important;line-height:1.9!important;max-width:590px!important;color:var(--muted)!important;letter-spacing:.035em}
.bfr-hero-details{margin-top:26px!important;padding-top:18px;border-top:1px solid var(--bfr-taroti-line);text-transform:uppercase;letter-spacing:.08em;font-size:10px!important}

.bfr-hero-showcase{position:relative;min-height:690px;border-radius:0!important;border:0!important;background:#1c1117!important;padding:0!important;overflow:hidden;box-shadow:none!important;isolation:isolate}
.bfr-hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:#1c1117}
.bfr-hero-media video{width:100%;height:100%;object-fit:cover;display:block;opacity:.82;filter:saturate(.88) contrast(1.05)}
.bfr-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,9,15,.10),rgba(20,9,15,.68)),linear-gradient(90deg,rgba(20,9,15,.02),rgba(20,9,15,.26));pointer-events:none}
.bfr-hero-media:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.36);z-index:2;pointer-events:none}
.bfr-hero-showcase .bfr-hero-slides{position:absolute;left:54px;right:54px;bottom:54px;z-index:3;color:#fff;margin:0!important}
.bfr-hero-showcase .bfr-hero-slide{min-height:0!important;max-width:610px}
.bfr-hero-showcase .bfr-hero-tag{color:#fff!important;border:1px solid rgba(255,255,255,.42);background:transparent!important;border-radius:0!important;text-transform:uppercase;letter-spacing:.16em;font-size:9px;padding:7px 10px}
.bfr-hero-showcase .bfr-hero-slogan{font-size:clamp(42px,4.5vw,72px)!important;line-height:.98!important;color:#fff!important;margin:18px 0!important;font-weight:400!important}
.bfr-hero-showcase .bfr-hero-slide>p:not(.bfr-hero-slogan){color:rgba(255,255,255,.82)!important;max-width:520px;font-size:14px;line-height:1.7}
.bfr-hero-showcase .bfr-hero-slide>a{display:inline-block;margin-top:16px;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.75);padding-bottom:5px;text-transform:uppercase;font-size:11px;letter-spacing:.12em}
.bfr-hero-navigation{position:absolute!important;z-index:4;top:40px;right:40px;display:flex!important;flex-direction:column;align-items:flex-end;gap:7px!important;background:transparent!important}
.bfr-hero-navigation button{background:transparent!important;border:0!important;color:rgba(255,255,255,.68)!important;border-radius:0!important;padding:4px 0!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.14em!important}
.bfr-hero-navigation button[aria-pressed="true"]{color:#fff!important;border-bottom:1px solid #fff!important}

/* Taroti-like slim shortcut ribbon */
.bfr-home-shortcuts{margin-top:-1px!important;padding:0!important;gap:0!important;border:1px solid var(--bfr-taroti-line);background:#fff}
.bfr-home-shortcuts>a{border:0!important;border-right:1px solid var(--bfr-taroti-line)!important;border-radius:0!important;padding:24px 26px!important;background:#fff!important;box-shadow:none!important;min-height:100px}
.bfr-home-shortcuts>a:last-child{border-right:0!important}
.bfr-home-shortcuts>a>span:first-child{border-radius:50%!important;background:transparent!important;border:1px solid var(--bfr-taroti-line);width:50px!important;height:50px!important;font-family:var(--bfr-font-display);font-size:20px!important}
.bfr-home-shortcuts strong{font-family:var(--bfr-font-display);font-size:20px!important;font-weight:400!important}
.bfr-home-shortcuts small{letter-spacing:.04em}

/* Sections / headings */
.bfr-home-modern .bfr-section,.bfr-section{padding:92px 0}
.bfr-soft{background:var(--bfr-taroti-soft)!important}
.bfr-section-head{margin-bottom:42px!important;padding-bottom:18px;border-bottom:1px solid var(--bfr-taroti-line);align-items:flex-end}
.bfr-section-head h2,.bfr-section h2{font-size:clamp(38px,4vw,64px)!important;line-height:1!important;font-weight:400!important}
.bfr-section-head>a{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:600!important}
.bfr-kicker{font-weight:500!important;letter-spacing:.19em!important;font-size:10px!important}

/* Cards — square editorial panels, restrained motion */
.bfr-advisor-card,.bfr-card,.bfr-book-box,.bfr-step,.bfr-service-card,.bfr-live-card,.bfr-auth-card{border-radius:0!important;box-shadow:none!important;border:1px solid var(--bfr-taroti-line)!important;background:#fff!important;transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s ease!important}
.bfr-advisor-card:hover,.bfr-service-card:hover,.bfr-live-card:hover,.bfr-card:hover{transform:translateY(-8px);box-shadow:var(--bfr-taroti-shadow)!important}
.bfr-advisor-img{height:390px!important;border-radius:0!important;background:var(--bfr-taroti-soft)!important}
.bfr-advisor-img img,.bfr-live-cover img,.bfr-strip-thumb img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .8s ease}
.bfr-advisor-card:hover .bfr-advisor-img img,.bfr-live-card:hover img,.bfr-strip-post:hover img{transform:scale(1.045)}
.bfr-advisor-body{padding:25px!important}
.bfr-advisor-body h3{font-size:30px!important;font-weight:400!important}
.bfr-online,.bfr-free-badge,.bfr-live-badge,.bfr-chip{border-radius:0!important;text-transform:uppercase;letter-spacing:.10em;font-size:9px!important}
.bfr-service-grid{gap:0!important;border-top:1px solid var(--bfr-taroti-line);border-left:1px solid var(--bfr-taroti-line)}
.bfr-service-card{border-top:0!important;border-left:0!important;min-height:280px;padding:10px!important}
.bfr-service-card>a{display:flex!important;flex-direction:column;height:100%;padding:25px!important}
.bfr-service-icon{background:transparent!important;border:1px solid var(--bfr-taroti-line);border-radius:50%!important;width:58px;height:58px;display:grid;place-items:center;font-size:20px!important}
.bfr-service-card h3{font-size:29px!important;margin-top:28px!important}
.bfr-service-meta{margin-top:auto;padding-top:20px;border-top:1px solid var(--bfr-taroti-line)}

/* Content pages and forms */
.bfr-content,.bfr-article-content,.bfr-location-content,.bfr-tarot-body{line-height:1.9!important}
.bfr-content h1,.bfr-article-content h1{font-size:clamp(48px,5vw,80px)!important}
input,textarea,select,.bfr-form input,.bfr-form select,.bfr-booking-fields input,.bfr-booking-fields select{border-radius:0!important;border:1px solid var(--bfr-taroti-line)!important;background:#fff!important}

/* Blog strip */
.bfr-blog-strip-section{background:var(--bfr-taroti-paper)!important;border-color:var(--bfr-taroti-line)!important;padding:86px 0!important}
.bfr-strip-post{border-radius:0!important;background:#fff!important;border-color:var(--bfr-taroti-line)!important;width:380px!important}
.bfr-strip-thumb{border-radius:0!important}

/* Footer — Taroti's spacious black editorial close, retaining Star Fortune palette accents */
.bfr-footer{background:#171013!important;padding:86px 0 22px!important}
.bfr-footer-grid{grid-template-columns:1.5fr repeat(3,1fr)!important;gap:58px!important;padding-bottom:42px}
.bfr-footer h4{font-family:var(--bfr-font-display)!important;font-size:24px;font-weight:400!important;margin-bottom:20px}
.bfr-footer a,.bfr-footer p{font-size:13px;line-height:1.8;color:#d9cfd3!important}
.bfr-footer a{padding:2px 0;transition:padding-left .3s ease,color .3s ease}
.bfr-footer a:hover{padding-left:5px;color:#fff!important}
.bfr-copy{border-color:rgba(255,255,255,.12)!important;padding-top:24px!important}

/* Reveal / motion language */
.js .bfr-taroti-reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.js .bfr-taroti-reveal.is-visible{opacity:1;transform:none}
@keyframes bfrTarotiFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-10px,0)}}
.bfr-hero-showcase{animation:bfrTarotiFloat 8s ease-in-out infinite}

@media(max-width:1050px){
 .bfr-container{width:min(100% - 34px,1100px)}
 .bfr-hero-modern .bfr-hero-grid{grid-template-columns:1fr 1fr!important;gap:34px!important}
 .bfr-hero-showcase{min-height:590px}
 .bfr-hero-modern h1{font-size:clamp(50px,7vw,76px)!important}
 .bfr-footer-grid{grid-template-columns:1.3fr 1fr 1fr!important}.bfr-footer-grid>div:last-child{grid-column:2/4}
}
@media(max-width:760px){
 .bfr-container{width:min(100% - 28px,680px)}
 .bfr-nav{height:72px}.bfr-brand-lockup>span{font-size:22px}
 .bfr-home-modern .bfr-hero-modern{padding-top:10px!important}
 .bfr-hero-modern .bfr-hero-grid{grid-template-columns:1fr!important;gap:16px!important}
 .bfr-hero-copy{padding:38px 0 26px}.bfr-hero-modern h1{font-size:clamp(48px,14vw,70px)!important}
 .bfr-hero-showcase{min-height:560px}
 .bfr-hero-showcase .bfr-hero-slides{left:28px;right:28px;bottom:34px}
 .bfr-hero-showcase .bfr-hero-slogan{font-size:43px!important}
 .bfr-hero-navigation{top:28px;right:28px}
 .bfr-home-shortcuts{grid-template-columns:1fr!important}.bfr-home-shortcuts>a{border-right:0!important;border-bottom:1px solid var(--bfr-taroti-line)!important}.bfr-home-shortcuts>a:last-child{border-bottom:0!important}
 .bfr-home-modern .bfr-section,.bfr-section{padding:64px 0}
 .bfr-section-head h2,.bfr-section h2{font-size:42px!important}
 .bfr-advisor-img{height:360px!important}
 .bfr-footer-grid{grid-template-columns:1fr!important;gap:34px!important}.bfr-footer-grid>div:last-child{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.bfr-hero-showcase{animation:none!important}.js .bfr-taroti-reveal{opacity:1;transform:none;transition:none}.bfr-advisor-card,.bfr-service-card,.bfr-live-card,.bfr-btn{transition:none!important}}

/* v0.24.3 — image-only logo treatment */
.bfr-brand-lockup.is-image-only{gap:0;line-height:0}
.bfr-brand-lockup.is-image-only .bfr-site-logo{display:block;width:auto;height:60px;max-width:170px;object-fit:contain}
.bfr-footer-logo-link{display:inline-flex;align-items:center;line-height:0;margin-bottom:12px;text-decoration:none}
.bfr-footer-logo{display:block;width:auto;height:74px;max-width:210px;object-fit:contain}
@media(min-width:901px) and (max-width:1150px){.bfr-brand-lockup.is-image-only .bfr-site-logo{height:54px;max-width:150px}}
@media(max-width:900px){.bfr-brand-lockup.is-image-only .bfr-site-logo{height:46px;max-width:130px}.bfr-footer-logo{height:64px;max-width:180px}}
