/* =====================================================================
   FxPro · Preferred Broker — page stylesheet
   (loaded only on fxpro-broker.html; complements god-report.css)
   ===================================================================== */
:root{
  --fx-maxw:1180px;
  --fx-pad:clamp(20px,5vw,48px);
}

/* ---------- layout scaffolding (page has no .container wrappers) ---------- */
.section > *{max-width:var(--fx-maxw);margin-inline:auto;padding-inline:var(--fx-pad)}
.section > * + *{margin-top:34px}
.fx-hero-inner,.fx-open-inner{max-width:var(--fx-maxw);margin-inline:auto;padding-inline:var(--fx-pad)}
.jp-serif{font-family:"Noto Serif JP",var(--f-jp,serif)}
.en{font-family:"Cormorant Garamond",serif;font-style:italic;letter-spacing:.04em;color:var(--gold-2)}
.mk{color:var(--gold);font-size:.85em;margin-right:8px}
.lead{font-family:"Noto Sans JP",sans-serif;font-size:clamp(15px,1.5vw,17.5px);line-height:2;color:var(--off-2)}
.ttl{font-family:"Noto Serif JP",serif;font-size:clamp(18px,1.9vw,23px);font-weight:700;color:var(--off);line-height:1.6}
.dot-list{list-style:none;margin-top:18px}
.dot-list li{position:relative;padding-left:20px;font-family:"Noto Sans JP",sans-serif;font-size:14.5px;line-height:1.95;color:var(--muted)}
.dot-list li+li{margin-top:9px}
.dot-list li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}

/* ---------- HERO ---------- */
.fx-hero{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;
  padding:120px 0 90px;overflow:hidden;isolation:isolate;
  background:radial-gradient(ellipse 70% 60% at 78% 18%,rgba(212,181,120,.16),transparent 62%),
             radial-gradient(ellipse 60% 50% at 10% 100%,rgba(224,16,47,.10),transparent 60%),
             var(--navy-deep)}
.fx-hero-bg{position:absolute;inset:0;z-index:-2;background:url("assets/hero5.jpg") center/cover no-repeat;
  opacity:.42;filter:contrast(1.06) saturate(.9)}
.fx-hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,11,22,.72) 0%,rgba(8,11,22,.55) 45%,rgba(8,11,22,.95) 100%)}
.fx-hero-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(to right,rgba(212,181,120,.055) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(212,181,120,.055) 1px,transparent 1px);
  background-size:84px 84px;
  -webkit-mask-image:radial-gradient(ellipse 70% 62% at 50% 45%,#000 30%,transparent 82%);
          mask-image:radial-gradient(ellipse 70% 62% at 50% 45%,#000 30%,transparent 82%)}
.fx-hero-inner{position:relative;z-index:2;width:100%;text-align:center}
.fx-badge{display:inline-flex;align-items:center;gap:10px;
  font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold-2);border:1px solid var(--gold-deep);background:rgba(8,11,22,.6);
  padding:10px 18px;backdrop-filter:blur(8px)}
.fx-hero-title{margin:30px auto 0;max-width:960px;
  font-family:"Noto Serif JP",serif;font-weight:700;color:#fff;
  font-size:clamp(30px,4.6vw,60px);line-height:1.3;letter-spacing:-.01em;
  text-shadow:0 4px 44px rgba(0,0,0,.6)}
.fx-hero-title .en{display:block;font-size:clamp(18px,2.2vw,30px);font-weight:400;margin-bottom:16px}
.fx-hero-sub{margin:28px auto 0;max-width:760px;
  font-family:"Noto Sans JP",sans-serif;font-size:clamp(14.5px,1.5vw,18px);line-height:2.05;color:var(--off-2)}
.fx-hero-sub b{color:#fff;font-weight:700}
.fx-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:52px auto 0;max-width:960px;
  border:1px solid var(--line-strong);background:rgba(8,11,22,.62);backdrop-filter:blur(10px)}
.fx-hero-stats > *{padding:22px 18px;border-right:1px solid var(--line);text-align:center}
.fx-hero-stats > *:last-child{border-right:0}
.fx-hero-stats .s-num{display:block;font-family:"Noto Serif JP",serif;font-weight:900;
  font-size:clamp(22px,2.4vw,34px);line-height:1.1;color:var(--gold-2)}
.fx-hero-stats .s-ttl{display:block;margin-top:8px;font-family:"JetBrains Mono",monospace;font-size:10px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.fx-hero-stats .s-d{font-family:"Noto Sans JP",sans-serif;font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.7}
.fx-hero-cta{margin-top:46px;display:flex;justify-content:center;flex-wrap:wrap;gap:16px}

/* ---------- WHY (3 cards) ---------- */
.fx-why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fx-why-item{background:var(--panel);border:1px solid var(--line);padding:32px 26px;transition:border-color .3s ease,transform .3s ease}
.fx-why-item:hover{border-color:var(--gold-deep);transform:translateY(-3px)}
.fx-why-item .ttl{display:flex;flex-direction:column;gap:8px}
.fx-why-item .ttl .en{font-size:15px}

/* ---------- STRENGTH grid ---------- */
.fx-strength{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 26px;margin-top:44px}
.fx-strength-item{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;
  background:var(--panel);border:1px solid var(--line);font-family:"Noto Sans JP",sans-serif;
  font-size:15px;line-height:1.8;color:var(--off-2)}
.fx-strength-item .mk{flex:0 0 auto;margin-right:0;font-size:16px;line-height:1.5}

/* ---------- QUOTE ---------- */
.fx-quote{margin-top:52px;padding:38px 40px;border-left:3px solid var(--gold);
  background:linear-gradient(90deg,rgba(212,181,120,.10),transparent 70%)}
.fx-quote .lead{font-family:"Noto Serif JP",serif;font-size:clamp(17px,1.9vw,22px);line-height:1.95;color:var(--off)}

/* ---------- BENEFIT card ---------- */
.fx-benefit-card{display:grid;grid-template-columns:1.15fr .85fr;gap:0;
  border:1px solid var(--line-strong);background:var(--panel);margin-top:44px}
.fx-benefit-left{padding:44px 42px}
.fx-benefit-left .ttl{font-size:clamp(20px,2.1vw,26px)}
.fx-benefit-left .lead{margin-top:20px}
.fx-benefit-list{list-style:none;margin-top:26px}
.fx-benefit-list li{display:flex;align-items:flex-start;gap:10px;font-family:"Noto Sans JP",sans-serif;
  font-size:14.5px;line-height:1.9;color:var(--off-2);padding:12px 0;border-bottom:1px solid var(--line)}
.fx-benefit-list li:last-child{border-bottom:0}
.fx-benefit-list .mk{flex:0 0 auto;margin-right:0}
.fx-benefit-note{margin-top:24px;font-family:"Noto Sans JP",sans-serif;font-size:13px;line-height:1.9;color:var(--muted)}
.fx-benefit-right{display:flex;align-items:center;justify-content:center;padding:40px 32px;
  background:linear-gradient(160deg,var(--panel-2),var(--navy-deep));border-left:1px solid var(--line)}

/* seal */
.fx-seal{position:relative;width:100%;max-width:300px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--gold-deep);border-radius:50%;
  background:radial-gradient(circle at 50% 40%,rgba(212,181,120,.16),transparent 68%)}
.seal-ring{position:absolute;inset:14px;border:1px dashed rgba(212,181,120,.4);border-radius:50%}
.seal-jp{position:absolute;top:26%;left:50%;transform:translateX(-50%);
  font-family:"Noto Serif JP",serif;font-size:34px;font-weight:900;color:var(--gold-2);line-height:1}
.seal-en{position:absolute;top:44%;left:50%;transform:translateX(-50%);
  font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.seal-list{position:absolute;bottom:24%;left:0;right:0;list-style:none;text-align:center}
.seal-list li{font-family:"Noto Sans JP",sans-serif;font-size:12px;color:var(--off-2);line-height:1.9}
.seal-list li+li{margin-top:2px}

/* ---------- STEPS ---------- */
.fx-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px}
.fx-step{position:relative;padding:30px 22px;background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--gold)}
.fx-step .s-num{display:block;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.3em;color:var(--gold);margin-bottom:14px}
.fx-step .s-d{font-family:"Noto Sans JP",sans-serif;font-size:14.5px;line-height:1.9;color:var(--off-2)}

/* ---------- WARN callout ---------- */
.fx-warn{margin-top:40px;padding:28px 30px;border:1px solid rgba(224,16,47,.5);border-left:4px solid #e0102f;
  background:linear-gradient(90deg,rgba(224,16,47,.12),transparent 72%)}
.fx-warn .warn-mk,.fx-warn strong{color:#ff6b7f}
.fx-warn p,.fx-warn .warn-body{font-family:"Noto Sans JP",sans-serif;font-size:14.5px;line-height:1.95;color:var(--off-2)}
.fx-warn .warn-ttl{font-family:"Noto Serif JP",serif;font-weight:700;font-size:18px;color:#fff;margin-bottom:10px}

/* ---------- OPEN (final CTA band) ---------- */
.fx-open{position:relative;padding:100px 0;text-align:center;overflow:hidden;
  background:radial-gradient(ellipse 60% 80% at 50% 50%,var(--gold-glow),transparent 70%),var(--navy-deep);
  border-top:1px solid var(--line)}
.fx-open h2{font-family:"Noto Serif JP",serif;font-weight:700;color:#fff;
  font-size:clamp(26px,3.6vw,46px);line-height:1.4;max-width:860px;margin-inline:auto}
.fx-open-note{margin:26px auto 0;font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:1.95;color:var(--muted);max-width:720px}
.fx-open .btn{margin-top:38px}

/* ---------- UPGRADE section ---------- */
.fx-upgrade{position:relative;overflow:hidden}
.fx-upgrade-kami{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.fx-upgrade-kami .kami{position:absolute;font-family:"Noto Serif JP",serif;font-weight:900;
  color:rgba(212,181,120,.07);line-height:1;user-select:none}
.kami-1{top:4%;left:-2%;font-size:clamp(120px,18vw,260px)}
.kami-2{bottom:6%;right:-3%;font-size:clamp(150px,22vw,320px)}
.kami-3{top:38%;left:44%;font-size:clamp(90px,12vw,180px);color:rgba(212,181,120,.05)}
.kami-ring{position:absolute;border:1px solid rgba(212,181,120,.13);border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.kami-ring-1{width:clamp(220px,26vw,380px);aspect-ratio:1;top:8%;right:6%}
.kami-ring-2{width:clamp(160px,18vw,260px);aspect-ratio:1;bottom:10%;left:4%}
.kr-jp{font-family:"Noto Serif JP",serif;font-size:clamp(28px,3.4vw,54px);font-weight:900;color:rgba(212,181,120,.22);line-height:1}
.kr-en{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(212,181,120,.3);margin-top:10px}
.fx-upgrade .container{position:relative;z-index:2}
.fx-upgrade-inner{max-width:960px;margin-inline:auto}
.fx-upgrade-eyebrow{display:block;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--gold);text-align:center}
.fx-upgrade-title{margin-top:22px;text-align:center;font-family:"Noto Serif JP",serif;font-weight:700;color:#fff;
  font-size:clamp(25px,3.4vw,44px);line-height:1.45}
.fx-upgrade-title .em{color:var(--gold-2);font-style:normal}
.fx-upgrade-title .brand{color:var(--gold-2);border-bottom:1px solid var(--gold-deep)}
.fx-upgrade-lead{margin-top:26px;text-align:center;font-family:"Noto Sans JP",sans-serif;
  font-size:clamp(14.5px,1.5vw,17px);line-height:2.05;color:var(--off-2)}
.fx-upgrade-visual{position:relative;margin-top:46px;border:1px solid var(--line-strong);overflow:hidden}
.fx-upgrade-visual img{display:block;width:100%;height:clamp(220px,34vw,440px);object-fit:cover}
.fx-upgrade-visual .ov{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,11,22,.25),rgba(8,11,22,.88))}
.fx-upgrade-card{margin-top:40px;padding:44px 42px;border:1px solid var(--gold-deep);
  background:linear-gradient(160deg,var(--panel-2),var(--navy-deep))}
.up-lbl{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-deep);padding:7px 14px}
.up-ttl{margin-top:22px;font-family:"Noto Serif JP",serif;font-weight:700;color:#fff;line-height:1.5}
.up-ttl .jp{display:block;font-size:clamp(21px,2.4vw,30px)}
.up-ttl .en{display:block;font-size:clamp(14px,1.5vw,18px);font-weight:400;margin-top:8px}
.up-desc{margin-top:22px;font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:2.05;color:var(--off-2)}
.up-live{margin-top:34px;padding:28px 30px;border:1px solid var(--line-strong);background:rgba(8,11,22,.55)}
.up-live-head{display:flex;align-items:center;gap:10px}
.up-live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:fxPulse 2.2s infinite}
@keyframes fxPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 12px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.up-live-lbl{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:#7ee2a8}
.up-live-ttl{margin-top:16px;font-family:"Noto Serif JP",serif;font-weight:700;color:#fff;font-size:clamp(17px,1.9vw,22px);line-height:1.7}
.up-live-ttl .em{color:var(--gold-2);font-style:normal}
.up-live-desc{margin-top:16px;font-family:"Noto Sans JP",sans-serif;font-size:14.5px;line-height:2;color:var(--off-2)}
.up-live-list{list-style:none;margin-top:22px}
.up-live-list li{display:flex;gap:10px;font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:1.9;
  color:var(--off-2);padding:11px 0;border-top:1px solid var(--line)}
.up-live-list .mk{flex:0 0 auto;margin-right:0}
.up-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.up-item{padding:26px 22px;border:1px solid var(--line);background:rgba(8,11,22,.5)}
.up-mk{display:inline-block;font-family:"Noto Serif JP",serif;font-size:12px;font-weight:700;
  color:var(--gold);border:1px solid var(--gold-deep);padding:4px 10px}
.up-name{margin-top:14px;font-family:"Noto Serif JP",serif;font-weight:700;font-size:17px;color:#fff;line-height:1.6}
.up-d{margin-top:10px;font-family:"Noto Sans JP",sans-serif;font-size:13.5px;line-height:1.9;color:var(--muted)}
.up-note{margin-top:20px;font-family:"Noto Sans JP",sans-serif;font-size:12.5px;line-height:1.9;color:var(--muted-2,#7a756c)}
.up-live-body{margin-top:6px}
.small{font-size:.88em}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .fx-hero{min-height:auto;padding:96px 0 70px}
  .fx-hero-stats{grid-template-columns:repeat(2,1fr);margin-top:38px}
  .fx-hero-stats > *:nth-child(2n){border-right:0}
  .fx-hero-stats > *:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .fx-why,.fx-strength,.fx-steps,.up-grid{grid-template-columns:1fr}
  .fx-benefit-card{grid-template-columns:1fr}
  .fx-benefit-right{border-left:0;border-top:1px solid var(--line)}
  .fx-benefit-left{padding:32px 24px}
  .fx-upgrade-card{padding:30px 22px}
  .fx-quote{padding:28px 24px}
  .fx-open{padding:74px 0}
  .kami-ring{display:none}
}

/* CTA row: stack and centre (button above, note below) */
.fx-hero-cta{display:flex!important;flex-direction:column;align-items:center;gap:18px;margin-top:46px}
.fx-hero-cta .btn{align-self:center;min-width:min(340px,86vw);justify-content:center}
.fx-hero-cta > *:not(.btn){font-family:"Noto Sans JP",sans-serif;font-size:12.5px;letter-spacing:.04em;
  color:var(--muted);text-align:center;margin:0}
.fx-hero-cta > .btn + *::before{content:"";display:block;width:44px;height:1px;background:var(--line-strong);margin:0 auto 16px}

/* ===== UPGRADE: full-bleed, blended animated god background (no frame) ===== */
.fx-upgrade{position:relative;overflow:hidden;isolation:isolate}
.fx-upgrade-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  opacity:.5;filter:saturate(1.05) contrast(1.04);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 46%,#000 18%,rgba(0,0,0,.5) 52%,transparent 82%);
          mask-image:radial-gradient(ellipse 70% 60% at 50% 46%,#000 18%,rgba(0,0,0,.5) 52%,transparent 82%);
  animation:godDrift 18s ease-in-out infinite alternate;
}
@keyframes godDrift{
  from{transform:scale(1.03) translate3d(0,0,0)}
  to{transform:scale(1.09) translate3d(0,-1.2%,0)}
}
.fx-upgrade-ov{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,var(--navy-deep) 0%,rgba(8,11,22,.55) 26%,rgba(8,11,22,.55) 74%,var(--navy-deep) 100%),
             radial-gradient(ellipse 60% 55% at 50% 46%,rgba(212,181,120,.10),transparent 70%);
}
.fx-upgrade .container{position:relative;z-index:2}
@media (prefers-reduced-motion:reduce){.fx-upgrade-bg{animation:none}}

/* upsell CTA row inside the upgrade card */
.up-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:36px}
.up-cta .btn{min-width:min(300px,86vw);justify-content:center}
@media (max-width:900px){.up-cta{flex-direction:column;align-items:stretch}.up-cta .btn{width:100%}}

/* ===== benefit-right: replace abstract seal with a meaningful stat panel ===== */
.fx-benefit-right{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:0}
.fx-seal{display:none!important}
.fx-statpanel{width:100%;max-width:340px;text-align:center}
.fx-statpanel .sp-cap{
  font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);margin-bottom:22px}
.fx-statpanel .sp-row{padding:18px 0;border-top:1px solid var(--line)}
.fx-statpanel .sp-row:last-of-type{border-bottom:1px solid var(--line)}
.fx-statpanel .sp-num{display:block;font-family:"Noto Serif JP",serif;font-weight:900;
  font-size:clamp(30px,3.2vw,44px);line-height:1.05;color:var(--gold-2)}
.fx-statpanel .sp-lbl{display:block;margin-top:8px;font-family:"Noto Sans JP",sans-serif;
  font-size:12.5px;line-height:1.7;color:var(--muted)}
.fx-statpanel .sp-note{margin-top:20px;font-family:"Noto Sans JP",sans-serif;font-size:11.5px;line-height:1.85;color:var(--muted-2)}

/* =====================================================================
   STC ↔ BROKER UNITY LAYER + OFFICIAL BRAND ACCENTS
     FxPro  : FxPro Red #F41112 / Chinese Black #130F0F / Inter
     HFM    : HFM Red   #CD0511 / Black #000000        / Roboto Flex
   Both brands use Pantone 485C. The navy/gold/serif foundation is kept
   identical to the STC homepage so every page reads as one site.
   ===================================================================== */
:root{
  /* align the broker pages with the STC homepage palette */
  --navy-deep:#070a12; --navy:#0b1120; --navy-2:#121a2b;
  --panel:#0f1626; --panel-2:#141d31;
  --line:#222c42; --line-strong:#33405c;
  --gold:#f2cf7a; --gold-2:#f2cf7a; --gold-deep:#d9a93f;
  --gold-glow:rgba(242,207,122,.18);
}
body.brand-fxpro{
  --brand:#f41112; --brand-2:#ff2f30; --brand-deep:#a80c0d; --brand-ink:#130f0f;
  --brand-tint:rgba(244,17,18,.10); --brand-tint-2:rgba(244,17,18,.20);
  --f-ui:"Inter","Noto Sans JP",ui-sans-serif,system-ui,sans-serif;
}
body.brand-hfm{
  --brand:#cd0511; --brand-2:#e8202c; --brand-deep:#8f030c; --brand-ink:#000000;
  --brand-tint:rgba(205,5,17,.13); --brand-tint-2:rgba(205,5,17,.24);
  --f-ui:"Roboto Flex","Roboto","Noto Sans JP",ui-sans-serif,system-ui,sans-serif;
}

/* official-site cue: brand bar under the navigation */
body.brand-fxpro .nav,body.brand-hfm .nav{
  border-bottom:2px solid var(--brand)!important;
  background:linear-gradient(180deg,rgba(7,10,18,.94),rgba(7,10,18,.82))!important}
body.brand-fxpro .brand-sub,body.brand-hfm .brand-sub{color:var(--brand-2)!important}
.brand-name{color:var(--brand-2);font-weight:600}

/* typography: brand's own Latin typeface (Inter / Roboto Flex) */
.fx-badge,.sp-cap,.sp-num,.fx-hero-stats .s-ttl,.fx-table thead th,.fx-step .s-num,
.up-lbl,.fx-upgrade-eyebrow,.bc-arrow{font-family:var(--f-ui)!important}
.fx-hero-sub,.fx-hero-stats .s-d,.dot-list li,.fx-strength-item,.fx-table tbody td,
.fx-step .s-d,.sp-lbl,.sp-note,.fx-src,.fx-open-note,.btn-meta,.fx-benefit-list li,
.fx-benefit-note,.fx-warn p,.fx-warn .warn-body{font-family:var(--f-ui)}

/* HERO — brand glow over the STC navy */
.fx-hero{background:
  radial-gradient(ellipse 70% 60% at 78% 16%,var(--brand-tint-2),transparent 62%),
  radial-gradient(ellipse 60% 50% at 8% 100%,rgba(242,207,122,.08),transparent 60%),
  var(--navy-deep)!important}
.fx-hero-grid{background-image:
  linear-gradient(to right,rgba(242,207,122,.05) 1px,transparent 1px),
  linear-gradient(to bottom,rgba(242,207,122,.05) 1px,transparent 1px)!important}
.fx-badge{border-color:var(--brand-deep)!important;color:var(--brand-2)!important;
  background:var(--brand-tint)!important}
.fx-hero-title .en{color:var(--gold-2)}
.fx-hero-stats{background:rgba(7,10,18,.68)!important;border-color:var(--line-strong)!important}
.fx-hero-stats .s-num{color:var(--brand-2)!important}
.fx-hero-cta .btn-primary{box-shadow:0 12px 34px -10px var(--brand-tint-2)}

/* BUTTONS — brand red, keeps the STC shape + typography */
.btn-primary{background:linear-gradient(135deg,var(--brand-2),var(--brand) 55%,var(--brand-deep))!important;
  border-color:var(--brand)!important;color:#fff!important}
.btn-primary:hover{background:linear-gradient(135deg,var(--brand),var(--brand-deep))!important;border-color:var(--brand-deep)!important}
body.brand-fxpro .btn,.btn-ghost{white-space:nowrap}
.nav-cta{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important;
  font-family:var(--f-ui)!important}
.nav-cta:hover{background:var(--brand-deep)!important;border-color:var(--brand-deep)!important}

/* SECTIONS — brand accents */
.section-title .gold{color:var(--brand-2)!important}
.dot-list li::before{background:var(--brand)!important}
.fx-why-item:hover{border-color:var(--brand-deep)!important}
.fx-strength-item .mk,.fx-benefit-list .mk{color:var(--brand-2)!important}
.fx-quote{border-left-color:var(--brand)!important;
  background:linear-gradient(90deg,var(--brand-tint),transparent 72%)!important}
.fx-benefit-right{background:linear-gradient(160deg,var(--brand-ink),var(--navy-deep))!important;
  border-left-color:var(--brand-deep)!important}
.sp-cap,.sp-num{color:var(--brand-2)!important}
.fx-table thead th{color:var(--brand-2)!important;background:var(--brand-tint)!important;
  border-bottom-color:var(--brand-deep)!important}
.fx-row-rec td{background:var(--brand-tint)!important}
.fx-row-rec td:first-child{box-shadow:inset 3px 0 0 var(--brand)!important}
.fx-tag{background:linear-gradient(135deg,var(--brand-2),var(--brand))!important;color:#fff!important}
.fx-step{border-top-color:var(--brand)!important}
.fx-step .s-num{color:var(--brand-2)!important}
.fx-warn{border-color:var(--brand-deep)!important;border-left:4px solid var(--brand)!important;
  background:linear-gradient(90deg,var(--brand-tint),transparent 72%)!important}
.fx-warn .warn-ttl{color:#fff}
.fx-open{background:
  radial-gradient(ellipse 60% 80% at 50% 50%,var(--brand-tint),transparent 70%),var(--navy-deep)!important;
  border-top-color:var(--brand-deep)!important}

/* 神のレポート upsell keeps the STC gold identity (the unity bridge) */
.fx-upgrade .fx-upgrade-eyebrow,.fx-upgrade .up-lbl,.fx-upgrade .up-mk{color:var(--gold)!important}
.fx-upgrade .up-lbl,.fx-upgrade .up-mk,.fx-upgrade .fx-upgrade-eyebrow{border-color:var(--gold-deep)!important}
.fx-upgrade .up-cta .btn-primary{background:linear-gradient(135deg,#e3c68f,#d4b578 50%,#9a7a45)!important;
  border-color:var(--gold)!important;color:#0a0a0c!important}
.fx-upgrade .up-cta .btn-primary:hover{background:linear-gradient(135deg,#f2cf7a,#d9a93f)!important}
.up-cta .btn{font-family:var(--f-ui)!important;white-space:nowrap}

@media (max-width:900px){
  body.brand-fxpro .nav,body.brand-hfm .nav{border-bottom-width:2px!important}
}

/* ==== 神のレポート案内セクション（下層ページ共通） ==== */
.up-section{padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--line);background:var(--navy-deep);text-align:center}
.up-box{max-width:920px;margin:0 auto;border:1px solid var(--line-strong);background:linear-gradient(180deg,rgba(212,181,120,.07) 0%,rgba(255,255,255,0) 72%);padding:clamp(28px,5vw,56px) clamp(20px,4vw,48px);border-radius:3px}
.up-eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500}
.up-title{font-family:var(--f-jp);font-size:clamp(24px,3.2vw,40px);font-weight:700;line-height:1.45;color:var(--off);margin:16px 0 0}
.up-gold{color:var(--gold-2)}
.up-lead{max-width:730px;margin:18px auto 0;color:var(--muted);font-size:15px;line-height:1.95;text-align:left}
.up-cta{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:34px}
.up-cta .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 32px;border-radius:2px;
  font-family:"Noto Sans JP",var(--f-sans);font-size:15px;font-weight:600;letter-spacing:.06em;text-decoration:none;white-space:nowrap;
  border:1px solid var(--gold);color:var(--gold);background:transparent;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.up-cta .btn:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}
.up-cta .btn-primary{background:var(--gold);border-color:var(--gold);color:var(--black);font-weight:700}
.up-cta .btn-primary:hover{background:var(--gold-2);border-color:var(--gold-2);color:var(--black)}
.up-cta .arrow{font-family:var(--f-mono);font-weight:400}
@media(max-width:640px){.up-cta{flex-direction:column}.up-cta .btn{width:100%}}

/* ==== 今だけ価格（通常価格の取り消し線つき） ==== */
.price-was{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:currentColor;opacity:.68;font-weight:500;white-space:nowrap}
.price-now{font-weight:700;white-space:nowrap}
.price-now-tag{display:inline-block;font-weight:800;letter-spacing:.08em;padding:.34em .8em;border-radius:999px;background:var(--red);color:#fff;line-height:1.2;white-space:nowrap}
/* 大きな金額欄：元値とバッジを1行、今の価格を次の行にして桁落ちを防ぐ */
.price .price-was,.price-amt .price-was,.rt-price .price-was,.price-wrap .price-was{font-size:.46em}
.price .price-now-tag,.price-amt .price-now-tag,.rt-price .price-now-tag,.price-wrap .price-now-tag{font-size:.34em}
.price-amt--deal{display:flex;flex-direction:column;align-items:flex-start;gap:.14em;font-size:clamp(34px,3.2vw,52px);line-height:1.05}
.price-amt--deal .price-old{display:flex;align-items:center;flex-wrap:wrap;gap:.5em}
.price-amt--deal .price-new{display:flex;align-items:baseline;gap:.02em}
.price-amt--deal .price-now-tag{font-size:.28em}
