/* BelleInfinity generated-site bridge.
   The visual source of truth is belleinfinity.css. This file only maps
   generator-specific semantic classes onto that design system. */

*{box-sizing:border-box}
.wrap{width:min(100%,1480px);margin:0 auto;padding-left:clamp(20px,4vw,72px);padding-right:clamp(20px,4vw,72px)}

/* Header generated markup */
.site-head{position:sticky;top:0;width:100%;background:rgba(5,5,5,.97);border-bottom:1px solid rgba(185,154,91,.34);box-shadow:0 14px 36px rgba(0,0,0,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:9999}
.head-in{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.brand{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--bi-white)!important;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.6rem,2.4vw,2.35rem);font-weight:600;line-height:1;letter-spacing:.045em;text-decoration:none!important;white-space:nowrap}
.brand span{color:var(--bi-gold)!important}
.site-head .brand::after{content:"";display:inline-block;width:38px;height:1px;margin-left:18px;background:var(--bi-gold);opacity:.8}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(8px,1.1vw,18px);flex-wrap:wrap}
.nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 13px;color:rgba(255,255,255,.78)!important;border:1px solid transparent;border-radius:999px;font-family:"Inter",Arial,sans-serif;font-size:11px;font-weight:600;line-height:1;letter-spacing:.13em;text-transform:uppercase;text-decoration:none!important}
.nav a:hover,.nav a:focus{color:#fff!important;background:rgba(255,255,255,.06);border-color:rgba(185,154,91,.35)}

/* Breadcrumbs */
.breadcrumbs{padding-top:22px;padding-bottom:12px;color:var(--bi-muted);font-family:"Inter",Arial,sans-serif;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.breadcrumbs a{color:var(--bi-gold-dark);text-decoration:none}
.breadcrumbs a:hover{color:var(--bi-black)}

/* Generated hero: same Belle Infinity black/gold editorial language */
.hero,.hero-home{position:relative;padding:clamp(72px,8vw,118px) 0;background:linear-gradient(rgba(5,5,5,.50),rgba(5,5,5,.60)),radial-gradient(circle at 50% 18%,rgba(185,154,91,.20),transparent 36%),linear-gradient(135deg,#090909 0%,#211e19 48%,#050505 100%);color:var(--bi-white);overflow:hidden}
.hero::before,.hero-home::before{content:"BELLE INFINITY";position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);font-family:"Inter",Arial,sans-serif;font-size:clamp(4rem,13vw,13rem);font-weight:500;letter-spacing:.12em;color:rgba(255,255,255,.035);white-space:nowrap;pointer-events:none}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.76fr);gap:clamp(34px,6vw,88px);align-items:center}
.hero h1,.hero-home h1{max-width:1100px;margin:.12em 0 .28em;color:#fff;font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:clamp(2.45rem,4.4vw,5.45rem);font-weight:500;line-height:1.04;letter-spacing:.005em;text-transform:none;text-shadow:0 20px 60px rgba(0,0,0,.34)}
.hero .lede,.hero-home .lede{max-width:860px;color:rgba(255,255,255,.84);font-size:clamp(.88rem,1vw,1rem);font-weight:300;line-height:1.72}
.hero .eyebrow,.hero-home .eyebrow{color:var(--bi-gold);letter-spacing:.16em}
.hero-media{position:relative;padding:14px;border:1px solid rgba(185,154,91,.35);background:rgba(255,255,255,.045);box-shadow:0 30px 90px rgba(0,0,0,.25)}
.hero-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--bi-warm-ivory)}
.disclosure{margin-top:24px;padding:15px 18px;border-left:1px solid var(--bi-gold);background:rgba(255,255,255,.06);color:rgba(255,255,255,.78);font-size:.83rem;line-height:1.72}

/* Typography and generic generated sections */
.eyebrow{display:block;color:var(--bi-gold-dark);font-family:"Inter",Arial,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3,h4{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif}
.section{padding:clamp(68px,7.6vw,112px) 0;background:var(--bi-ivory);color:var(--bi-black)}
.section.tint{background:linear-gradient(180deg,var(--bi-ivory) 0%,var(--bi-warm-ivory) 100%);border-top:1px solid rgba(185,154,91,.14);border-bottom:1px solid rgba(185,154,91,.14)}
.section h2{margin:0 0 28px;color:var(--bi-black);font-size:clamp(2.25rem,4.6vw,4.9rem);font-weight:500;line-height:1.03}
.section h3{color:var(--bi-black);font-size:clamp(1.5rem,2.1vw,2.35rem);font-weight:500;line-height:1.06}
.lede{font-size:1rem;line-height:1.8}.subtle{color:var(--bi-muted);font-weight:300;line-height:1.75}.note{color:var(--bi-muted);font-size:.82rem;line-height:1.7}
.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* TOC */
.toc{position:relative;padding:26px 28px;background:rgba(255,255,255,.58);border:1px solid rgba(185,154,91,.28);box-shadow:0 18px 46px rgba(0,0,0,.045)}
.toc::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--bi-gold)}
.toc strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem;font-weight:600}
.toc a{display:inline-block;margin:8px 14px 0 0;color:var(--bi-gold-dark);font-size:.86rem;text-decoration:none}
.toc a:hover{color:var(--bi-black)}

/* Cards / hubs / quick shortlist */
.card{position:relative;padding:26px 24px;background:rgba(255,255,255,.62);border:1px solid rgba(0,0,0,.10);box-shadow:0 18px 46px rgba(0,0,0,.045);overflow:hidden}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--bi-gold);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.card:hover::before{transform:scaleX(1)}
.hub-card{text-decoration:none!important;transition:var(--bi-transition)}.hub-card:hover{transform:translateY(-6px);background:#fff;border-color:rgba(185,154,91,.52);box-shadow:0 24px 70px rgba(0,0,0,.09)}
.quick .card{min-height:245px}.quick .card .cta{margin-top:18px}

/* Main generated product rows: translate the uploaded Belle product-row logic */
.product-list{width:100%;max-width:none;margin:0 auto}
.product-card{position:relative;width:100%;max-width:1720px;margin:0 auto!important;padding:clamp(48px,5.8vw,86px) clamp(8px,1vw,18px)!important;display:grid!important;grid-template-columns:minmax(0,46%) minmax(0,54%)!important;gap:0!important;align-items:center!important;background:var(--bi-ivory)!important;border:0!important;border-bottom:1px solid rgba(185,154,91,.20)!important;border-radius:0!important;box-shadow:none!important;overflow:hidden}
.product-card:nth-child(even){background:var(--bi-warm-ivory)!important}
.product-card::before{content:""!important;position:absolute!important;top:0!important;left:50%!important;width:1px!important;height:42px!important;background:rgba(185,154,91,.58)!important;transform:none!important}
.product-card>img{width:calc(100% - clamp(16px,2.9vw,56px))!important;height:clamp(500px,43vw,690px)!important;min-height:500px!important;max-height:690px!important;margin:0 clamp(8px,1.45vw,28px)!important;padding:clamp(12px,1.8vw,28px)!important;object-fit:contain!important;object-position:center!important;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.98),rgba(248,245,239,.86) 58%,rgba(242,238,230,.64))!important;border:1px solid rgba(185,154,91,.22)!important;border-radius:0!important;box-shadow:0 22px 64px rgba(0,0,0,.075)!important}
.product-card>div{padding:0 clamp(18px,3vw,56px)}
.product-card:nth-child(even)>img{order:2}.product-card:nth-child(even)>div{order:1}
.product-card h3{margin:8px 0 18px;font-family:"Cormorant Garamond",Georgia,serif!important;font-size:clamp(2.05rem,3.35vw,4.15rem)!important;font-weight:500!important;line-height:1.02!important;letter-spacing:.006em!important}
.product-card p{max-width:900px;color:var(--bi-charcoal);font-size:clamp(.84rem,.92vw,.98rem);font-weight:300;line-height:1.78}
.product-card details{max-width:900px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(185,154,91,.26)}
.product-card summary{cursor:pointer;color:var(--bi-gold-dark);font-family:"Inter",Arial,sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.pill{display:inline-flex;margin:0 7px 8px 0;padding:7px 11px;color:var(--bi-gold-dark);background:transparent;border:1px solid rgba(185,154,91,.40);border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}

/* Buttons */
.cta{display:inline-flex;align-items:center;justify-content:center;min-width:260px;margin-top:18px;padding:15px 34px 16px;background:var(--bi-black);color:#fff!important;border:1px solid var(--bi-black);border-radius:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.05rem,1.35vw,1.35rem);font-weight:600;line-height:1.1;letter-spacing:.035em;text-decoration:none!important;box-shadow:inset 0 -2px 0 rgba(185,154,91,.65);transition:var(--bi-transition)}
.cta::after{content:"→";margin-left:14px;color:var(--bi-gold);font-size:1.35em}
.cta:hover,.cta:focus{background:#fff;color:var(--bi-black)!important;border-color:var(--bi-gold-dark);box-shadow:inset 0 -2px 0 var(--bi-gold)}

/* Selection criteria */
.criteria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.criterion{padding:22px;background:rgba(255,255,255,.58);border:1px solid rgba(185,154,91,.28)}.criterion strong{display:block;margin-bottom:10px;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.45rem;font-weight:600}

/* Tables */
.table-wrap{overflow:auto;background:#fff;border:1px solid rgba(185,154,91,.28);box-shadow:0 18px 46px rgba(0,0,0,.045)}
.compare{width:100%;min-width:900px;border-collapse:collapse}.compare th,.compare td{padding:17px 18px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(185,154,91,.20)}.compare th{background:var(--bi-black);color:#fff;font-family:"Inter",Arial,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.compare tbody tr:nth-child(even){background:var(--bi-warm-ivory)}.compare a{color:var(--bi-gold-dark);font-weight:600;text-decoration:none}

/* Routine builder */
.bundle{padding:clamp(34px,5vw,68px);background:var(--bi-black);color:#fff;border:1px solid rgba(185,154,91,.42)}.bundle h2{color:#fff!important}.bundle p{max-width:920px;color:rgba(255,255,255,.72);line-height:1.85}.market-chip{display:inline-flex;margin:8px 8px 0 0;padding:9px 13px;color:rgba(255,255,255,.82)!important;border:1px solid rgba(185,154,91,.42);border-radius:999px;text-decoration:none;font-size:.74rem;letter-spacing:.06em}.market-chip:hover{color:#fff!important;border-color:var(--bi-gold)}

/* FAQ accordion */
.section.faq{background:var(--bi-soft-black);color:#fff}.section.faq h2{color:#fff;text-align:center}.section.faq details{max-width:1180px;margin:0 auto;padding:30px 0;border:0;border-top:1px solid rgba(185,154,91,.28);background:transparent}.section.faq details:last-child{border-bottom:1px solid rgba(185,154,91,.28)}.section.faq summary{color:#fff;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.32rem,2.05vw,2.25rem);font-weight:500;letter-spacing:0;text-transform:none}.section.faq p{max-width:980px;color:rgba(255,255,255,.72);font-weight:300;line-height:1.85}

/* Footer generated markup */
.site-foot{position:relative;margin:0;background:var(--bi-black);color:#fff;padding:clamp(72px,7vw,110px) 0 54px;border-top:1px solid rgba(185,154,91,.22)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr) minmax(0,1.2fr);gap:clamp(42px,7vw,118px);align-items:start}.site-foot .brand{margin-bottom:24px}.site-foot strong{display:block;margin-bottom:18px;color:#fff;font-family:"Inter",Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.site-foot p,.site-foot a{color:rgba(255,255,255,.76);font-size:.9rem;font-weight:300;line-height:1.85}.site-foot a:hover{color:var(--bi-gold)}.legal-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px}.legal-links a{text-decoration:none;font-size:.82rem}

/* Home metrics/theme strip/image index */
.metric{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.3rem,4vw,4.4rem);color:var(--bi-black)}.theme-strip{display:flex;gap:10px;flex-wrap:wrap}.theme-strip a{padding:9px 13px;background:#fff;border:1px solid rgba(185,154,91,.32);border-radius:999px;color:var(--bi-black);text-decoration:none;font-size:.78rem}.theme-strip a:hover{border-color:var(--bi-gold);color:var(--bi-gold-dark)}.img-index{font-size:.82rem}.img-index code{word-break:break-all}

@media(max-width:1199.98px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.criteria{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){.head-in{min-height:72px;gap:22px}.nav{gap:6px}.hero-grid{grid-template-columns:1fr}.hero-media{max-width:720px}.product-card{grid-template-columns:1fr!important;padding:70px 16px!important}.product-card:nth-child(even)>img,.product-card:nth-child(even)>div{order:initial}.product-card>img{width:100%!important;height:460px!important;min-height:460px!important;max-height:460px!important;margin:0!important}.product-card>div{padding:30px 0 0}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:last-child{grid-column:1/-1}}
@media(max-width:767.98px){.wrap{padding-left:18px;padding-right:18px}.head-in{padding:16px 0 12px;min-height:auto;flex-direction:column;align-items:flex-start}.nav{width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.nav a{flex:0 0 auto;padding:8px 11px;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}.hero,.hero-home{padding:64px 0}.hero::before,.hero-home::before{display:none}.hero h1,.hero-home h1{font-size:clamp(2rem,9vw,3.15rem)}.hero-media{padding:8px}.grid-3,.grid-4,.criteria{grid-template-columns:1fr}.product-card>img{height:340px!important;min-height:340px!important;max-height:340px!important;padding:18px!important}.product-card h3{font-size:clamp(1.95rem,9vw,3rem)!important}.cta{width:100%;min-width:0}.section h2{font-size:clamp(2.1rem,10vw,3.5rem)}.foot-grid{display:block}.foot-grid>div{margin-bottom:38px;text-align:center}.legal-links{display:flex;justify-content:center;flex-wrap:wrap}.site-foot .brand{justify-content:center}.site-head .brand::after{display:none}}
