/* ============================================================
   ROYALFIL — royyalfil.com
   Prefix: ryf-  |  Fonts: Cinzel (display) + Figtree (body)
   Palette: Onyx #1B140D, Royal Gold #C9972B, Sapphire #1F4E79, White/Cream
   Light-background system — no dark section blocks.
   ============================================================ */

:root{
  --ryf-onyx:#1B140D;
  --ryf-onyx-soft:#2E2416;
  --ryf-gold:#C9972B;
  --ryf-gold-dark:#9C7420;
  --ryf-sapphire:#1F4E79;
  --ryf-sapphire-dark:#153A5C;
  --ryf-cream:#FBF8F2;
  --ryf-white:#FFFFFF;
  --ryf-body:#4A4030;
  --ryf-line:#EAE1CF;
  --ryf-green:#2E7D53;
  --ryf-red:#B3412C;
  --ryf-radius:16px;
  --ryf-shadow:0 14px 32px rgba(27,20,13,0.12);
  --ryf-maxw:1180px;
  --ryf-font-display:'Cinzel', serif;
  --ryf-font-body:'Figtree', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ryf-font-body);
  color:var(--ryf-body);
  background:var(--ryf-white);
  line-height:1.65;
  font-size:18px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--ryf-font-display);line-height:1.25;color:var(--ryf-onyx);margin:0 0 0.5em;font-weight:700;}
h1{font-size:clamp(2rem,4.6vw,3rem);}
h2{font-size:clamp(1.6rem,3.4vw,2.3rem);}
h3{font-size:clamp(1.2rem,2.2vw,1.45rem);}
p{margin:0 0 1.1em;font-size:1.05rem;}
.ryf-container{max-width:var(--ryf-maxw);margin:0 auto;padding:0 20px;}
.ryf-section{padding:64px 0;}
.ryf-section--tint{background:var(--ryf-cream);}
.ryf-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--ryf-font-display);text-transform:uppercase;letter-spacing:0.12em;font-size:0.82rem;color:var(--ryf-sapphire);font-weight:700;margin-bottom:10px;}
.ryf-eyebrow::before{content:"";width:22px;height:2px;background:var(--ryf-gold);display:inline-block;}
.ryf-center{text-align:center;}
.ryf-lead{font-size:1.18rem;color:var(--ryf-body);max-width:680px;}
.ryf-center .ryf-lead{margin-left:auto;margin-right:auto;}

/* Top promo announcement bar */
.ryf-promobar{background:var(--ryf-onyx);color:#F3E4BE;text-align:center;padding:10px 16px;font-family:var(--ryf-font-display);font-size:0.82rem;letter-spacing:0.03em;}
.ryf-promobar strong{color:var(--ryf-gold);}
.ryf-trustbar{background:var(--ryf-cream);text-align:center;padding:9px 16px;font-size:0.85rem;font-weight:700;color:var(--ryf-onyx);border-bottom:1px solid var(--ryf-line);}
.ryf-trustbar .ryf-stars{color:var(--ryf-gold);letter-spacing:1px;margin-right:6px;}

.ryf-trustrow{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:40px;padding:26px 16px;}
.ryf-trustrow__item{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:120px;text-align:center;}
.ryf-trustrow__item img{height:52px;width:auto;object-fit:contain;}
.ryf-trustrow__item span{font-size:0.82rem;font-weight:700;color:var(--ryf-onyx);}

/* Buttons */
.ryf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ryf-font-display);font-size:1.02rem;font-weight:700;padding:16px 32px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease;letter-spacing:0.02em;}
.ryf-btn--primary{background:var(--ryf-gold);color:var(--ryf-onyx);box-shadow:0 10px 22px rgba(201,151,43,0.35);}
.ryf-btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(201,151,43,0.45);}
.ryf-btn--outline{background:#fff;border-color:var(--ryf-onyx);color:var(--ryf-onyx);}
.ryf-btn--outline:hover{background:var(--ryf-onyx);color:#fff;}
.ryf-btn--block{width:100%;}
.ryf-btn small{display:block;font-family:var(--ryf-font-body);font-weight:400;font-size:0.7rem;opacity:0.85;}

/* Header */
.ryf-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.97);backdrop-filter:blur(6px);border-bottom:1px solid var(--ryf-line);}
.ryf-header__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:var(--ryf-maxw);margin:0 auto;}
.ryf-logo{font-family:var(--ryf-font-display);font-weight:700;font-size:1.4rem;color:var(--ryf-onyx);letter-spacing:0.03em;}
.ryf-logo span{color:var(--ryf-gold-dark);}
.ryf-nav{display:none;gap:22px;align-items:center;}
.ryf-nav a{color:var(--ryf-onyx);font-size:0.98rem;font-weight:600;}
.ryf-nav a:hover{color:var(--ryf-sapphire);}
.ryf-header__cta{display:none;}
.ryf-burger{background:none;border:none;color:var(--ryf-onyx);font-size:1.7rem;cursor:pointer;line-height:1;}
.ryf-mobile-menu{display:none;flex-direction:column;background:#fff;padding:10px 20px 20px;border-bottom:1px solid var(--ryf-line);}
.ryf-mobile-menu.is-open{display:flex;}
.ryf-mobile-menu a{color:var(--ryf-onyx);padding:11px 0;border-bottom:1px solid var(--ryf-line);font-weight:600;}
@media(min-width:900px){.ryf-nav{display:flex;}.ryf-header__cta{display:inline-flex;}.ryf-burger{display:none;}}

/* Hero */
.ryf-hero{background:linear-gradient(180deg,var(--ryf-cream) 0%,#fff 100%);padding:40px 0 30px;}
.ryf-hero__grid{display:grid;grid-template-columns:1fr;gap:34px;align-items:center;}
.ryf-hero__media{order:-1;}
.ryf-hero__text{order:0;}
@media(min-width:960px){
  .ryf-hero__grid{grid-template-columns:0.95fr 1.05fr;gap:50px;}
  .ryf-hero__media{order:1;}
  .ryf-hero__text{order:0;}
}
.ryf-hero__accent{color:var(--ryf-gold-dark);}
.ryf-hero__desc{font-size:1.15rem;}

/* Quick facts */
.ryf-quickfacts{background:#fff;border:1px solid var(--ryf-line);border-radius:var(--ryf-radius);box-shadow:var(--ryf-shadow);padding:6px 20px;margin:20px 0;}
.ryf-quickfacts__row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--ryf-line);font-size:0.98rem;}
.ryf-quickfacts__row:last-child{border-bottom:none;}
.ryf-quickfacts__label{color:var(--ryf-onyx);font-weight:700;}
.ryf-quickfacts__val{text-align:right;color:var(--ryf-body);}

.ryf-checklist{list-style:none;padding:0;margin:18px 0;}
.ryf-checklist li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;font-weight:600;color:var(--ryf-onyx);}
.ryf-checklist li::before{content:"\2713";flex:none;width:24px;height:24px;border-radius:50%;background:var(--ryf-gold);color:var(--ryf-onyx);display:flex;align-items:center;justify-content:center;font-size:0.8rem;}

.ryf-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0 10px;}
.ryf-stats-row{display:flex;gap:28px;flex-wrap:wrap;margin-top:22px;}
.ryf-stats-row strong{display:block;font-family:var(--ryf-font-display);font-size:1.45rem;color:var(--ryf-onyx);}
.ryf-stats-row span{font-size:0.85rem;color:var(--ryf-body);}

/* Hero media / floating badges */
.ryf-hero__figure{position:relative;text-align:center;}
.ryf-hero__figure img.ryf-bottle{margin:0 auto;max-width:320px;filter:drop-shadow(0 20px 30px rgba(27,20,13,0.3));}
.ryf-float-badge{position:absolute;background:#fff;border-radius:14px;box-shadow:var(--ryf-shadow);padding:10px 14px;font-size:0.8rem;font-weight:700;color:var(--ryf-onyx);display:flex;align-items:center;gap:8px;}
.ryf-float-badge img{width:24px;height:24px;object-fit:contain;}
.ryf-float-badge--rating{top:4%;left:0;}
.ryf-float-badge--usa{top:0;right:0;}
.ryf-float-badge--gummies{bottom:20%;left:-4%;}
.ryf-float-badge--ship{bottom:4%;right:2%;background:var(--ryf-gold);color:var(--ryf-onyx);}
@media(max-width:640px){.ryf-float-badge{padding:7px 10px;font-size:0.7rem;}.ryf-float-badge img{width:18px;height:18px;}}

/* Crown Ascension visualization */
.ryf-crown-wrap{max-width:300px;margin:16px auto 0;text-align:center;}
.ryf-crown-wrap svg{width:100%;height:auto;}
.ryf-crown-bar{animation:ryf-rise 2.4s ease-in-out infinite;transform-origin:bottom;}
.ryf-crown-bar:nth-child(1){animation-delay:0s;}
.ryf-crown-bar:nth-child(2){animation-delay:0.2s;}
.ryf-crown-bar:nth-child(3){animation-delay:0.4s;}
.ryf-crown-bar:nth-child(4){animation-delay:0.6s;}
.ryf-crown-bar:nth-child(5){animation-delay:0.8s;}
@keyframes ryf-rise{0%,100%{transform:scaleY(0.5);opacity:0.5;}50%{transform:scaleY(1);opacity:1;}}
.ryf-crown-caption{font-size:0.85rem;color:var(--ryf-body);margin-top:8px;}
@media (prefers-reduced-motion: reduce){.ryf-crown-bar{animation:none;transform:scaleY(0.85);opacity:0.9;}}

/* Sticky CTA bar */
.ryf-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:2px solid var(--ryf-gold);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;transform:translateY(110%);transition:transform .3s ease;box-shadow:0 -8px 20px rgba(0,0,0,0.08);}
.ryf-stickybar.is-visible{transform:translateY(0);}
.ryf-stickybar__text{color:var(--ryf-onyx);font-size:0.85rem;font-weight:800;}
.ryf-stickybar__text small{display:block;font-weight:600;color:var(--ryf-body);font-size:0.72rem;}
.ryf-stickybar .ryf-btn{padding:10px 20px;font-size:0.85rem;white-space:nowrap;}
body{padding-bottom:66px;}
@media(min-width:900px){body{padding-bottom:0;}.ryf-stickybar{display:none;}}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .6s ease, transform .6s ease;}
[data-reveal].is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1;transform:none;transition:none;}}

/* Grid / cards */
.ryf-grid{display:grid;gap:22px;}
.ryf-grid--3{grid-template-columns:1fr;}
.ryf-grid--2{grid-template-columns:1fr;}
.ryf-grid--4{grid-template-columns:1fr;}
@media(min-width:760px){.ryf-grid--3{grid-template-columns:repeat(3,1fr);}.ryf-grid--2{grid-template-columns:repeat(2,1fr);}.ryf-grid--4{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1000px){.ryf-grid--4{grid-template-columns:repeat(4,1fr);}}
.ryf-card{background:#fff;border:1px solid var(--ryf-line);border-radius:var(--ryf-radius);padding:28px 24px;box-shadow:var(--ryf-shadow);}
.ryf-icon-circle{width:54px;height:54px;border-radius:50%;background:rgba(201,151,43,0.14);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.ryf-icon-circle svg{width:26px;height:26px;stroke:var(--ryf-gold-dark);}

/* Mechanism pathway cards */
.ryf-path-card{background:#fff;border:1px solid var(--ryf-line);border-radius:var(--ryf-radius);padding:26px;box-shadow:var(--ryf-shadow);}
.ryf-path-card__num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--ryf-onyx);color:var(--ryf-gold);font-family:var(--ryf-font-display);font-weight:700;margin-bottom:14px;}

/* Steps */
.ryf-steps{counter-reset:ryf-step;}
.ryf-step{display:flex;gap:18px;margin-bottom:26px;align-items:flex-start;}
.ryf-step__num{counter-increment:ryf-step;flex:none;width:46px;height:46px;border-radius:50%;background:var(--ryf-onyx);color:var(--ryf-gold);display:flex;align-items:center;justify-content:center;font-family:var(--ryf-font-display);font-weight:700;font-size:1.1rem;}
.ryf-step__num::before{content:counter(ryf-step);}

/* Honesty / warn */
.ryf-honest{border:1px solid #E9D7A8;background:#FFF8E8;border-left:5px solid var(--ryf-gold);border-radius:12px;padding:22px 24px;margin:24px 0;}
.ryf-honest h4{margin:0 0 8px;color:var(--ryf-gold-dark);font-family:var(--ryf-font-body);font-weight:800;font-size:1.06rem;}
.ryf-warn{border:1px solid #E4B3A6;background:#FBECE8;border-left:5px solid var(--ryf-red);border-radius:12px;padding:22px 24px;margin:24px 0;}
.ryf-warn h4{margin:0 0 8px;color:var(--ryf-red);font-family:var(--ryf-font-body);font-weight:800;font-size:1.06rem;}
.ryf-info{border:1px solid #B9D3E6;background:#EEF6FB;border-left:5px solid var(--ryf-sapphire);border-radius:12px;padding:22px 24px;margin:24px 0;}
.ryf-info h4{margin:0 0 8px;color:var(--ryf-sapphire-dark);font-family:var(--ryf-font-body);font-weight:800;font-size:1.06rem;}

/* Comparison table (disclosed vs not) */
.ryf-compare{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--ryf-radius);overflow:hidden;box-shadow:var(--ryf-shadow);}
.ryf-compare th,.ryf-compare td{padding:15px 16px;text-align:left;border-bottom:1px solid var(--ryf-line);font-size:0.98rem;}
.ryf-compare th{background:var(--ryf-onyx);color:#fff;font-family:var(--ryf-font-display);}
.ryf-compare tr:last-child td{border-bottom:none;}
.ryf-compare td.ryf-yes{color:var(--ryf-green);font-weight:700;}
.ryf-compare td.ryf-no{color:var(--ryf-red);font-weight:700;}

/* Pricing */
.ryf-price-card{position:relative;background:#fff;border:2px solid var(--ryf-line);border-radius:var(--ryf-radius);padding:30px 24px;text-align:center;box-shadow:var(--ryf-shadow);}
.ryf-price-card--pop{border-color:var(--ryf-gold);transform:scale(1.03);}
.ryf-price-card__badge{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--ryf-gold);color:var(--ryf-onyx);padding:6px 18px;border-radius:999px;font-size:0.76rem;font-family:var(--ryf-font-display);font-weight:700;}
.ryf-price-card img{max-width:170px;margin:0 auto 14px;}
.ryf-price-card__per{font-family:var(--ryf-font-display);font-size:2.5rem;color:var(--ryf-onyx);font-weight:700;}
.ryf-price-card__per span{font-size:1rem;font-weight:400;color:var(--ryf-body);}
.ryf-price-card__total{font-size:0.9rem;color:var(--ryf-body);margin-bottom:16px;}

/* Aggregate rating + reviews */
.ryf-aggregate{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--ryf-line);border-radius:var(--ryf-radius);box-shadow:var(--ryf-shadow);padding:24px 30px;max-width:520px;margin:0 auto 34px;}
.ryf-aggregate__score{font-family:var(--ryf-font-display);font-size:3rem;color:var(--ryf-onyx);font-weight:800;line-height:1;}
.ryf-aggregate__stars{color:var(--ryf-gold);font-size:1.3rem;letter-spacing:2px;}
.ryf-aggregate__meta{font-size:0.9rem;color:var(--ryf-body);}
.ryf-review-card{background:#fff;border:1px solid var(--ryf-line);border-radius:var(--ryf-radius);padding:24px;box-shadow:var(--ryf-shadow);}
.ryf-review-card__head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.ryf-review-card__head img{width:52px;height:52px;border-radius:50%;object-fit:cover;}
.ryf-review-card__stars{color:var(--ryf-gold);letter-spacing:2px;}
.ryf-review-card__name{font-weight:800;font-family:var(--ryf-font-display);}

/* Doctor consult callout */
.ryf-doctor{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;background:var(--ryf-cream);border-radius:var(--ryf-radius);padding:30px;}
@media(min-width:800px){.ryf-doctor{grid-template-columns:0.8fr 1.2fr;}}
.ryf-doctor img{border-radius:var(--ryf-radius);box-shadow:var(--ryf-shadow);}

/* FAQ */
.ryf-faq-item{border-bottom:1px solid var(--ryf-line);}
.ryf-faq-q{width:100%;text-align:left;background:none;border:none;padding:19px 0;font-family:var(--ryf-font-display);font-size:1.08rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:var(--ryf-onyx);}
.ryf-faq-q__icon{font-size:1.4rem;color:var(--ryf-gold-dark);flex:none;margin-left:12px;transition:transform .25s ease;}
.ryf-faq-item.is-open .ryf-faq-q__icon{transform:rotate(45deg);}
.ryf-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.ryf-faq-a__inner{padding-bottom:19px;color:var(--ryf-body);}
.ryf-faq-item.is-open .ryf-faq-a{max-height:600px;}

/* Fit table */
.ryf-fit{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:760px){.ryf-fit{grid-template-columns:1fr 1fr;}}
.ryf-fit__col{padding:24px;border-radius:var(--ryf-radius);}
.ryf-fit__col--yes{background:#EAF6EF;border:1px solid #BEE3CC;}
.ryf-fit__col--no{background:#FBECE8;border:1px solid #E4B3A6;}
.ryf-fit__col h4{font-family:var(--ryf-font-body);font-weight:800;}
.ryf-fit__col ul{padding-left:20px;margin:0;}
.ryf-fit__col li{margin-bottom:8px;}

/* Manufacturing claims strip */
.ryf-claims{display:grid;grid-template-columns:1fr;gap:18px;}
@media(min-width:760px){.ryf-claims{grid-template-columns:repeat(3,1fr);}}
.ryf-claims__item{background:var(--ryf-white);border:1px solid var(--ryf-line);border-radius:var(--ryf-radius);padding:22px;text-align:center;box-shadow:var(--ryf-shadow);}
.ryf-claims__num{width:40px;height:40px;border-radius:50%;background:var(--ryf-gold);color:var(--ryf-white);display:flex;align-items:center;justify-content:center;font-weight:800;margin:0 auto 12px;font-family:var(--ryf-font-display);}
.ryf-claims__item h4{margin:0 0 6px;font-size:1.05rem;}
.ryf-claims__item p{margin:0;font-size:0.92rem;color:var(--ryf-body);}

/* Payment icons row */
.ryf-payrow{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:20px;}
.ryf-payrow span{background:var(--ryf-white);border:1px solid var(--ryf-line);border-radius:8px;padding:8px 14px;font-size:0.82rem;font-weight:700;color:var(--ryf-body);}

/* Pre-purchase checklist */
.ryf-checklist-pre{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:760px){.ryf-checklist-pre{grid-template-columns:repeat(2,1fr);}}
.ryf-checklist-pre li{display:flex;gap:14px;align-items:flex-start;background:var(--ryf-cream);border-radius:var(--ryf-radius);padding:18px 20px;}
.ryf-checklist-pre__num{flex:0 0 32px;height:32px;border-radius:50%;background:var(--ryf-sapphire);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.9rem;}
.ryf-checklist-pre p{margin:0;}

/* Footer */
.ryf-footer{background:var(--ryf-onyx);color:#E5DAC4;padding:48px 0 24px;font-size:0.95rem;}
.ryf-footer__grid{display:grid;grid-template-columns:1fr;gap:28px;margin-bottom:28px;}
@media(min-width:760px){.ryf-footer__grid{grid-template-columns:2fr 1fr 1fr 1fr;}}
.ryf-footer a{color:#E5DAC4;}
.ryf-footer a:hover{color:var(--ryf-gold);}
.ryf-footer h4{color:#fff;font-size:1rem;margin-bottom:12px;font-family:var(--ryf-font-display);}
.ryf-footer ul{list-style:none;padding:0;margin:0;}
.ryf-footer li{margin-bottom:8px;}
.ryf-footer__bottom{border-top:1px solid rgba(255,255,255,0.14);padding-top:20px;font-size:0.8rem;line-height:1.7;color:#B7A985;}

/* Breadcrumb / page hero */
.ryf-breadcrumb{font-size:0.9rem;color:var(--ryf-body);padding:16px 0 0;}
.ryf-breadcrumb a{color:var(--ryf-onyx);font-weight:700;}
.ryf-pagehero{background:var(--ryf-cream);padding:44px 0;text-align:center;}

/* Blog */
.ryf-blog-card{background:#fff;border:1px solid var(--ryf-line);border-radius:var(--ryf-radius);overflow:hidden;box-shadow:var(--ryf-shadow);}
.ryf-blog-card__body{padding:22px;}
.ryf-blog-card__tag{color:var(--ryf-sapphire);font-family:var(--ryf-font-display);font-size:0.8rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;}
.ryf-article{max-width:760px;margin:0 auto;}
.ryf-article h2{margin-top:1.4em;}

/* Utility */
.ryf-small{font-size:0.9rem;color:var(--ryf-body);}
.ryf-two-col{display:grid;grid-template-columns:1fr;gap:36px;align-items:center;}
@media(min-width:860px){.ryf-two-col{grid-template-columns:1fr 1fr;}}
