.sf-register-page {
  --sf-trial-ink: #202020;
  --sf-trial-navy: #1f2d44;
  --sf-trial-blue: #0878b2;
  --sf-trial-sky: #59b7e8;
  --sf-trial-yellow: #ffe600;
  --sf-trial-ivory: #fffaf1;
  --sf-trial-coral: #ff675f;
  --sf-trial-line: 3px solid var(--sf-trial-ink);
}

.sf-trial-page,
.sf-trial-page button,
.sf-trial-page a { font-family: "Noto Sans JP", sans-serif; }
.sf-trial-page { margin: 0; color: var(--sf-trial-ink); background: var(--sf-trial-ivory); }
.sf-trial-main { overflow: hidden; }
.sf-trial-main *, .sf-trial-main *::before, .sf-trial-main *::after { box-sizing: border-box; }
.sf-trial-main img { display: block; max-width: 100%; height: auto; }
.sf-trial-main p, .sf-trial-main li { font-size: 16px; line-height: 1.8; }
.sf-trial-main h1, .sf-trial-main h2, .sf-trial-main h3, .sf-trial-main p, .sf-trial-main figure { margin-top: 0; }
.sf-trial-kicker { margin: 0 0 18px; color: var(--sf-trial-sky); font-size: 12px !important; font-weight: 900; line-height: 1.4 !important; letter-spacing: .18em; }

.sf-trial-hero { position: relative; padding: 92px 0 88px; overflow: hidden; border-bottom: var(--sf-trial-line); background: var(--sf-trial-ink); color: #fff; text-align: center; }
.sf-trial-hero::before, .sf-trial-hero::after { content: ""; position: absolute; border: 3px solid rgba(255,255,255,.2); border-radius: 50%; pointer-events: none; }
.sf-trial-hero::before { width: 310px; height: 310px; top: -180px; left: -70px; background: var(--sf-trial-blue); }
.sf-trial-hero::after { width: 210px; height: 210px; right: -55px; bottom: -115px; background: var(--sf-trial-coral); }
.sf-trial-hero-inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.sf-trial-hero h1 { margin: 0; color: #fff; font-size: clamp(48px,5vw,64px); font-weight: 900; line-height: 1.16; letter-spacing: -.055em; }
.sf-trial-hero h1 span { color: var(--sf-trial-coral); }
.sf-trial-hero-copy { margin: 24px 0 0; color: #e8eaed; font-weight: 700; }
.sf-trial-hero-copy strong { color: var(--sf-trial-yellow); font-size: 1.15em; font-weight: 900; }
.sf-trial-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 28px; }
.sf-trial-tags span { min-width: 118px; padding: 9px 15px 10px; border: 2px solid #686868; border-radius: 999px; color: #fff; font-size: 14px; font-weight: 900; line-height: 1; }
.sf-trial-tags span:last-child { min-width: 238px; }

.sf-trial-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 64px; padding: 16px 30px; border: var(--sf-trial-line); border-radius: 999px; font-size: 16px; font-weight: 900; line-height: 1.25; text-align: center; text-decoration: none; transition: transform .2s, background .2s, color .2s, filter .2s, box-shadow .2s; }
.sf-trial-button span { font-size: 1.25em; }
.sf-trial-button-primary { min-width: 350px; margin-top: 34px; background: var(--sf-trial-blue); box-shadow: 0 8px 0 #0e1728; color: #fff !important; }
.sf-trial-button:hover, .sf-trial-button:focus-visible { background: var(--sf-trial-yellow); color: var(--sf-trial-ink) !important; transform: translateY(-3px); filter: drop-shadow(0 0 11px rgba(255,230,0,.8)); outline: none; }

.sf-trial-intro { padding: 92px 0 104px; border-bottom: var(--sf-trial-line); background: var(--sf-trial-coral); }
.sf-trial-section-head { max-width: 900px; margin: 0 auto 52px; text-align: center; }
.sf-trial-section-head h2, .sf-trial-cta h2 { margin: 0; font-size: clamp(42px,5vw,64px); font-weight: 900; line-height: 1.16; letter-spacing: -.055em; }
.sf-trial-section-head > p:last-child { max-width: 760px; margin: 22px auto 0; color: #3f3f3f; font-weight: 700; }
.sf-trial-intro .sf-trial-kicker { color: #10213f; }
.sf-trial-intro-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: 38px; align-items: stretch; }
.sf-trial-video-wrap, .sf-trial-intro-copy { min-width: 0; }
.sf-trial-video-wrap { display: flex; align-items: center; }
.sf-trial-video, .sf-trial-video-wrap iframe { display: block; width: 100%; aspect-ratio: 16/9; border: var(--sf-trial-line); border-radius: 24px; background: #000; box-shadow: 8px 9px 0 var(--sf-trial-ink); }
.sf-trial-video { position: relative; padding: 0; overflow: hidden; cursor: pointer; }
.sf-trial-video img { width: 100%; height: 100%; object-fit: cover; }
.sf-trial-video b { position: absolute; right: 13px; bottom: 13px; padding: 7px 12px; border-radius: 999px; background: rgba(32,32,32,.9); color: #fff; font-size: 12px; }
.sf-trial-play { position: absolute; inset: 50% auto auto 50%; display: grid; place-items: center; width: 68px; height: 68px; border: 3px solid #fff; border-radius: 50%; background: var(--sf-trial-ink); color: #fff; font-size: 23px; transform: translate(-50%,-50%); box-shadow: 0 6px 0 rgba(0,0,0,.45); }
.sf-trial-video:hover, .sf-trial-video:focus-visible { filter: drop-shadow(0 0 10px rgba(255,230,0,.85)); outline: 4px solid var(--sf-trial-yellow); outline-offset: -4px; }
.sf-trial-intro-copy { padding: 30px 32px; border: var(--sf-trial-line); border-radius: 24px; background: #fff; box-shadow: 8px 9px 0 var(--sf-trial-ink); }
.sf-trial-copy-lead { margin-bottom: 18px; font-weight: 900; }
.sf-trial-check-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.sf-trial-check-list li { position: relative; margin: 0; padding: 14px 0 14px 40px; border-top: 2px solid #d7d7d7; font-weight: 800; }
.sf-trial-check-list li::before { content: "✓"; position: absolute; left: 0; top: 14px; display: grid; place-items: center; width: 26px; height: 26px; border: 2px solid var(--sf-trial-ink); border-radius: 7px; background: var(--sf-trial-yellow); font-size: 17px; font-weight: 900; line-height: 1; }
.sf-trial-highlight { margin-top: 20px; padding: 19px 21px; border: 2px solid var(--sf-trial-ink); border-radius: 16px; background: #fff8c7; }
.sf-trial-highlight strong { display: block; margin-bottom: 7px; font-size: 18px; font-weight: 900; }
.sf-trial-highlight p { margin: 0; font-size: 14px; }

.sf-trial-curriculum { position: relative; isolation: isolate; padding: 92px 0 102px; overflow: hidden; border-bottom: var(--sf-trial-line); background-color: #9bdcf3; background-image: linear-gradient(rgba(255,255,255,.19) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.19) 1px,transparent 1px); background-size: 42px 42px; }
.sf-trial-curriculum::after { content: ""; position: absolute; z-index: 0; inset: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 760' preserveAspectRatio='xMidYMid slice'%3E%3Cpath d='M0 470 L250 315 L430 385 L800 120 L1080 355 L1285 250 L1600 455 V760 H0 Z' fill='%23ffffff' fill-opacity='.18'/%3E%3Cpath d='M0 570 L330 405 L505 455 L800 170 L1060 445 L1240 360 L1600 550 V760 H0 Z' fill='%230878b2' fill-opacity='.09'/%3E%3Cpath d='M160 760 L758 158 L842 158 L1440 760 Z' fill='%231f2d44' fill-opacity='.17'/%3E%3Cpath d='M160 760 L758 158 M1440 760 L842 158' fill='none' stroke='%23ffffff' stroke-opacity='.46' stroke-width='5'/%3E%3Cpath d='M800 716 L800 638 M800 574 L800 512 M800 458 L800 412 M800 372 L800 338 M800 307 L800 282 M800 260 L800 241 M800 224 L800 210' fill='none' stroke='%23ffffff' stroke-opacity='.62' stroke-width='13' stroke-linecap='round'/%3E%3Cpath d='M800 158 V92' fill='none' stroke='%231f2d44' stroke-opacity='.5' stroke-width='5'/%3E%3Cpath d='M804 94 L866 112 L804 132 Z' fill='%23ffe600' fill-opacity='.78'/%3E%3Ccircle cx='800' cy='158' r='13' fill='%23ffe600' fill-opacity='.58'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: cover; pointer-events: none; }
.sf-trial-curriculum-inner { position: relative; z-index: 1; display: grid; gap: 28px; }
.sf-trial-curriculum-head { text-align: center; }
.sf-trial-curriculum-head .sf-trial-kicker { color: #10213f; }
.sf-trial-curriculum-head h2 { margin: 0; font-size: clamp(42px,5vw,64px); font-weight: 900; line-height: 1.16; letter-spacing: -.055em; }
.sf-trial-curriculum-head h2 span { display: block; }
.sf-trial-curriculum-body { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: 42px; align-items: stretch; min-width: 0; }
.sf-trial-curriculum-left { min-width: 0; }
.sf-trial-curriculum-copy { height: 100%; min-width: 0; padding: 24px 28px 28px; border: 2px solid var(--sf-trial-ink); border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 6px 7px 0 var(--sf-trial-ink); text-align: left; }
.sf-trial-curriculum-copy p { margin: 0; color: #26323d; font-weight: 700; }
.sf-trial-curriculum-copy p + p { margin-top: 14px; padding-top: 14px; border-top: 2px solid #d9d9d9; }
.sf-trial-curriculum-label { display: table; margin-bottom: 14px; padding: 5px 9px 6px; border-radius: 5px; background: var(--sf-trial-ink); color: #fff; font-family: Arial, sans-serif; font-size: 11px; font-weight: 900; line-height: 1; letter-spacing: .12em; }
.sf-trial-curriculum-copy strong { padding: 0 .06em; background: linear-gradient(transparent 58%,rgba(255,230,0,.82) 58%); -webkit-box-decoration-break: clone; box-decoration-break: clone; font-weight: 900; }
.sf-trial-curriculum-examples { display: grid; grid-template-rows: auto repeat(3,1fr); gap: 0; min-width: 0; padding: 20px 22px 18px; overflow: hidden; border: 2px solid var(--sf-trial-ink); border-radius: 18px; background: var(--sf-trial-coral); box-shadow: 6px 7px 0 var(--sf-trial-ink); color: #fff; }
.sf-trial-curriculum-examples h3 { position: relative; isolation: isolate; margin: 0 0 10px; color: #fff; font-size: 18px; font-weight: 900; line-height: 1.4; }
.sf-trial-curriculum-examples h3::before { content: ""; position: absolute; z-index: -1; top: -20px; right: -22px; bottom: -10px; left: -22px; border-bottom: 2px solid rgba(32,32,32,.45); background: #d94e48; }
.sf-trial-curriculum-examples a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 0; padding: 10px 6px; border: 0; border-top: 1px solid rgba(255,255,255,.28); border-radius: 0; background: transparent; color: #fff !important; font-size: 14px; font-weight: 900; line-height: 1.5; text-decoration: none; transition: background .2s,color .2s,filter .2s; }
.sf-trial-curriculum-examples a b { flex: 0 0 auto; color: var(--sf-trial-yellow); font-size: 18px; line-height: 1; }
.sf-trial-curriculum-examples a:hover, .sf-trial-curriculum-examples a:focus-visible { border-radius: 8px; background: var(--sf-trial-yellow); color: var(--sf-trial-ink) !important; filter: drop-shadow(0 0 9px rgba(255,230,0,.78)); outline: none; }
.sf-trial-curriculum-examples a:hover b, .sf-trial-curriculum-examples a:focus-visible b { color: var(--sf-trial-ink); }

.sf-trial-confirm { padding: 90px 0 100px; border-bottom: var(--sf-trial-line); background: var(--sf-trial-navy); color: #fff; }
.sf-trial-confirm .sf-trial-section-head h2 { color: #fff; }
.sf-trial-confirm-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.sf-trial-confirm-card { padding: 30px 28px 32px; border: var(--sf-trial-line); border-radius: 24px; background: #fff; box-shadow: 8px 9px 0 #0e1728; color: var(--sf-trial-ink); }
.sf-trial-card-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; padding-bottom: 18px; border-bottom: 2px solid #d7d7d7; }
.sf-trial-card-heading span { color: var(--sf-trial-coral); font-family: Arial, sans-serif; font-size: 48px; font-weight: 900; line-height: .9; letter-spacing: -.08em; }
.sf-trial-card-heading h3 { margin: 0; font-size: 22.4px; font-weight: 900; line-height: 1.4; }
.sf-trial-confirm-card p { margin: 0; color: #4a4a4a; }

.sf-trial-prepare { padding: 92px 0 106px; border-bottom: var(--sf-trial-line); background: var(--sf-trial-ivory); }
.sf-trial-prepare-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.sf-trial-prepare-card { position: relative; padding: 34px 36px 38px; overflow: hidden; border: var(--sf-trial-line); border-radius: 28px; background: #fff; box-shadow: 9px 10px 0 var(--sf-trial-ink); }
.sf-trial-prepare-card > figure { width: 188px; margin: 0 auto 22px; }
.sf-trial-prepare-card figure img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.sf-trial-prepare-card h3 { margin: 0 0 16px; font-size: 22.4px; font-weight: 900; line-height: 1.4; text-align: center; }
.sf-trial-prepare-card p { margin-bottom: 12px; color: #474747; }
.sf-trial-prepare-card p:last-child { margin-bottom: 0; }
.sf-trial-note { display: inline-block; padding: 5px 10px; border-radius: 6px; background: #fff4b0; font-size: 14px !important; font-weight: 800; }
.sf-trial-prepare-check-list { margin: 20px 0 0; padding: 0; list-style: none; }
.sf-trial-prepare-check-list li { position: relative; padding-left: 40px; font-weight: 800; }
.sf-trial-prepare-check-list li + li { margin-top: 12px; }
.sf-trial-prepare-check-list li::before { content: "✓"; position: absolute; left: 0; top: .1em; display: grid; place-items: center; width: 26px; height: 26px; border: 2px solid var(--sf-trial-ink); border-radius: 6px; background: #fff !important; color: var(--sf-trial-ink); font-size: 17px; font-weight: 900; line-height: 1; }
.sf-trial-teams-card { grid-column: 1 / -1; }
.sf-trial-teams-intro { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 30px; align-items: center; max-width: 880px; margin: 0 auto 34px; }
.sf-trial-teams-intro figure { margin: 0; overflow: hidden; border: var(--sf-trial-line); border-radius: 22px; }
.sf-trial-teams-intro h3 { text-align: left; }
.sf-trial-setup-videos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; padding-top: 30px; border-top: 2px solid #dedede; }
.sf-trial-setup-videos > article { padding: 22px; border: 2px solid var(--sf-trial-ink); border-radius: 22px; background: #f5f8fb; }
.sf-trial-setup-videos h4 { margin: 0 0 16px; font-size: 20px; font-weight: 900; }
.sf-trial-mini-video { border-radius: 16px; box-shadow: 6px 7px 0 var(--sf-trial-ink); }
.sf-trial-setup-poster, .sf-trial-mini-video iframe { display: block; width: 100%; aspect-ratio: 4/3; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 16px; background: #000; cursor: pointer; }
.sf-trial-setup-poster { position: relative; }
.sf-trial-setup-poster img { width: 100%; height: 100%; object-fit: cover; }
.sf-trial-setup-poster .sf-trial-play { width: 64px; height: 64px; font-size: 21px; }
.sf-trial-download { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 52px; margin-top: 20px; padding: 12px 20px; border: var(--sf-trial-line); border-radius: 999px; background: var(--sf-trial-blue); box-shadow: 0 6px 0 var(--sf-trial-ink); color: #fff !important; font-size: 15px; font-weight: 900; text-decoration: none; transition: transform .2s, background .2s, color .2s, box-shadow .2s, filter .2s; }
.sf-trial-download:hover, .sf-trial-download:focus-visible { background: var(--sf-trial-yellow); color: var(--sf-trial-ink) !important; transform: translateY(-3px); filter: drop-shadow(0 0 10px rgba(255,230,0,.75)); outline: none; }

.sf-trial-cta { padding: 82px 0 96px; background: var(--sf-trial-yellow); }
.sf-trial-cta-inner { display: block; max-width: 1000px; text-align: center; }
.sf-trial-cta .sf-trial-kicker { color: #10213f; }
.sf-trial-cta h2 { font-size: clamp(36px,4vw,54px); }
.sf-trial-cta p:last-child { max-width: 720px; margin: 20px auto 0; color: #414141; font-weight: 700; }
.sf-trial-cta-action { margin-top: 42px; padding: 28px; border: var(--sf-trial-line); border-radius: 28px; background: #fff; box-shadow: 10px 11px 0 var(--sf-trial-ink); }
.sf-trial-button-dark { width: 100%; min-height: 112px; padding: 24px 38px; border-radius: 20px; background: var(--sf-trial-navy); box-shadow: 0 8px 0 #0e1728; color: #fff !important; font-size: clamp(22px,2.4vw,30px); }
.sf-trial-cta-icon { display: grid; flex: 0 0 48px; place-items: center; width: 48px; height: 48px; border: 3px solid #fff; border-radius: 14px; font-family: Arial, sans-serif; font-size: 27px !important; font-weight: 900; line-height: 1; }
.sf-trial-cta-label { font-size: 1em !important; }
.sf-trial-cta-arrow { margin-left: 6px; font-family: Arial, sans-serif; font-size: 1.35em !important; line-height: 1; }
.sf-trial-button-dark:hover, .sf-trial-button-dark:focus-visible { background: var(--sf-trial-coral); color: #fff !important; filter: drop-shadow(0 0 10px rgba(255,103,95,.78)); }

@media (max-width: 1040px) {
  .sf-trial-intro-grid { grid-template-columns: 1fr; }
  .sf-trial-video-wrap { max-width: 760px; margin: 0 auto; width: 100%; }
  .sf-trial-curriculum-body { grid-template-columns: 1fr; gap: 28px; }
  .sf-trial-curriculum-copy { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 30px; }
  .sf-trial-curriculum-copy p + p { margin-top: 0; padding-top: 0; padding-left: 30px; border-top: 0; border-left: 2px solid #d9d9d9; }
  .sf-trial-curriculum-label { grid-column: 1 / -1; }
  .sf-trial-curriculum-examples { grid-template-columns: 1fr; }
  .sf-trial-curriculum-examples a { min-height: 56px; padding: 11px 8px; font-size: 13px; }
  .sf-trial-confirm-grid { grid-template-columns: 1fr; }
  .sf-trial-prepare-grid { grid-template-columns: 1fr; }
  .sf-trial-cta-inner { text-align: center; }
}

@media (max-width: 760px) {
  .sf-trial-hero { padding: 58px 0 58px; }
  .sf-trial-hero::before { width: 190px; height: 190px; top: -130px; left: -80px; }
  .sf-trial-hero::after { width: 140px; height: 140px; right: -55px; bottom: -80px; }
  .sf-trial-hero h1 { font-size: 32px; line-height: 1.22; }
  .sf-trial-hero-copy { margin-top: 18px; }
  .sf-trial-tags { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; gap: 7px; margin-top: 23px; }
  .sf-trial-tags span, .sf-trial-tags span:last-child { min-width: 0; padding: 8px 4px 9px; font-size: 11px; }
  .sf-trial-button-primary { min-width: 0; width: 100%; margin-top: 28px; }
  .sf-trial-kicker { margin-bottom: 13px; }
  .sf-trial-intro, .sf-trial-confirm, .sf-trial-curriculum, .sf-trial-prepare { padding: 62px 0 72px; }
  .sf-trial-section-head { margin-bottom: 36px; text-align: left; }
  .sf-trial-section-head h2, .sf-trial-cta h2 { font-size: 32px; line-height: 1.22; letter-spacing: -.045em; }
  .sf-trial-section-head > p:last-child { margin-top: 18px; }
  .sf-trial-intro-grid { gap: 25px; }
  .sf-trial-video, .sf-trial-video-wrap iframe { border-radius: 16px; box-shadow: 6px 7px 0 var(--sf-trial-ink); }
  .sf-trial-play { width: 58px; height: 58px; font-size: 19px; }
  .sf-trial-intro-copy { padding: 24px 20px 25px; border-radius: 20px; box-shadow: 6px 7px 0 var(--sf-trial-ink); }
  .sf-trial-check-list li { padding-left: 37px; }
  .sf-trial-curriculum-inner { gap: 22px; }
  .sf-trial-curriculum-head h2 { font-size: clamp(22px,6.2vw,25px); line-height: 1.25; letter-spacing: -.075em; }
  .sf-trial-curriculum-copy { display: block; padding: 20px 18px 22px; border-radius: 16px; box-shadow: 5px 6px 0 var(--sf-trial-ink); }
  .sf-trial-curriculum-copy p + p { margin-top: 14px; padding-top: 14px; padding-left: 0; border-top: 2px solid #d9d9d9; border-left: 0; }
  .sf-trial-curriculum-examples { grid-template-columns: 1fr; gap: 0; padding: 18px 16px 16px; border-radius: 16px; box-shadow: 5px 6px 0 var(--sf-trial-ink); }
  .sf-trial-curriculum-examples h3::before { top: -18px; right: -16px; left: -16px; }
  .sf-trial-curriculum-examples a { min-height: 52px; padding: 10px 5px; font-size: 12px; }
  .sf-trial-confirm-grid, .sf-trial-prepare-grid { gap: 22px; }
  .sf-trial-confirm-card { padding: 24px 20px 26px; border-radius: 20px; box-shadow: 6px 7px 0 #0e1728; }
  .sf-trial-card-heading { gap: 12px; margin-bottom: 16px; padding-bottom: 15px; }
  .sf-trial-card-heading span { font-size: 42px; }
  .sf-trial-card-heading h3, .sf-trial-prepare-card h3 { font-size: 20px; line-height: 1.42; }
  .sf-trial-prepare h2 { font-size: 30px; letter-spacing: -.065em; }
  .sf-trial-prepare-card { padding: 28px 22px 30px; border-radius: 22px; box-shadow: 7px 8px 0 var(--sf-trial-ink); }
  .sf-trial-prepare-card > figure { width: 142px; }
  .sf-trial-teams-card { grid-column: auto; }
  .sf-trial-teams-intro { grid-template-columns: 92px minmax(0,1fr); gap: 18px; margin-bottom: 28px; }
  .sf-trial-teams-intro h3 { margin-bottom: 10px; }
  .sf-trial-teams-intro p { grid-column: 1 / -1; }
  .sf-trial-teams-intro > div { display: contents; }
  .sf-trial-setup-videos { grid-template-columns: 1fr; gap: 22px; padding-top: 24px; }
  .sf-trial-setup-videos > article { padding: 17px; }
  .sf-trial-download { min-height: 50px; }
  .sf-trial-cta { padding: 62px 0 74px; }
  .sf-trial-cta-action { margin-top: 30px; padding: 14px; border-radius: 20px; box-shadow: 6px 7px 0 var(--sf-trial-ink); }
  .sf-trial-button-dark { min-width: 0; width: 100%; min-height: 86px; padding: 16px 18px; border-radius: 15px; font-size: 16px; }
  .sf-trial-cta-icon { display: none; }
  .sf-trial-cta-arrow { margin-left: 0; font-size: 1.25em !important; }
}

@media (prefers-reduced-motion: reduce) {
  .sf-trial-page *, .sf-trial-page *::before, .sf-trial-page *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Registration-only integration. Shared login and My Page styles are untouched. */
.sf-register-page { font-weight: 500; }
.sf-register-page .sf-e-wrap { width: min(1180px, calc(100% - 64px)); margin-inline:auto; }
.sf-register-page .sf-register-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 32px; border-bottom:3px solid #202020; background:#fff; }
.sf-register-header img { width:228px; height:auto; }
.sf-register-header nav { display:flex; gap:24px; align-items:center; font-size:15px; font-weight:800; }
.sf-register-header-cta { background:#0878b2; color:white; padding:14px 22px; border:2px solid #202020; border-radius:999px; }
.sf-register-header a:hover { color:#0878b2; }
.sf-register-header .sf-register-header-cta:hover { color:#202020; background:#ffe600; }
.sf-register-page .sf-register-hero-note { margin:20px 0 0; color:#fff; font-size:14px; }
.sf-register-page #registration { scroll-margin-top:24px; }
.sf-register-page #registration-title { white-space:nowrap; }
.sf-register-page .sf-trial-cta-inner { max-width:1180px; }
.sf-register-flow { margin:28px auto 20px; }
.sf-register-flow::after { content:""; display:block; height:3px; margin-top:16px; border-radius:999px; background:linear-gradient(to right,rgba(32,32,32,.24) calc(50% - 42px),var(--sf-trial-blue) calc(50% - 42px),var(--sf-trial-blue) calc(50% + 42px),rgba(32,32,32,.24) calc(50% + 42px)); }
.sf-register-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px; margin:0; padding:0 7px 9px 0; list-style:none; text-align:left; }
.sf-register-steps > li { position:relative; min-width:0; margin:0; padding:16px 18px; border:var(--sf-trial-line); border-radius:20px; background:#fff; box-shadow:6px 7px 0 var(--sf-trial-ink); }
.sf-register-steps > li[aria-current="step"] { background:var(--sf-trial-blue); color:#fff; }
.sf-register-step-heading { position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:34px; padding-bottom:8px; margin-bottom:10px; border-bottom:2px solid #d9e6ed; }
.sf-register-step-heading::after { content:""; position:absolute; bottom:-2px; left:0; width:40px; height:4px; border-radius:999px; background:var(--sf-trial-blue); }
.sf-register-steps > li[aria-current="step"] .sf-register-step-heading { border-bottom-color:rgba(255,255,255,.4); }
.sf-register-steps > li[aria-current="step"] .sf-register-step-heading::after { background:var(--sf-trial-yellow); }
.sf-register-step-number { display:flex; align-items:baseline; gap:8px; font-family:Arial,sans-serif; font-size:13px; font-weight:900; line-height:1; letter-spacing:.08em; }
.sf-register-step-number b { font-size:32px; letter-spacing:0; }
.sf-register-step-content { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; }
.sf-register-step-title { font-size:clamp(14px,1.3vw,16px); font-weight:900; line-height:1.6; white-space:nowrap; }
.sf-register-step-current { flex-shrink:0; padding:5px 11px; border:2px solid var(--sf-trial-ink); border-radius:999px; background:var(--sf-trial-yellow); color:var(--sf-trial-ink); font-size:13px; font-weight:900; line-height:1.3; white-space:nowrap; }
.sf-register-step-detail { color:#414141; font-size:clamp(13px,1.1vw,14px); font-weight:700; line-height:1.6; white-space:nowrap; }
.sf-register-step-arrow { position:absolute; top:50%; right:-35px; width:26px; color:var(--sf-trial-ink); font-family:Arial,sans-serif; font-size:32px; font-weight:900; line-height:1; text-align:center; transform:translateY(-50%); }
.sf-register-page .sf-register-intro { margin:0 auto; font-weight:700; }
.sf-register-card { max-width:640px; margin:36px auto 0; padding:40px; border:3px solid #202020; border-radius:24px; background:#fff; box-shadow:9px 10px 0 #202020; text-align:left; }
.sf-register-card h3 { position:relative; margin:0 0 18px; padding:14px 8px 23px; border-left:5px solid var(--sf-trial-blue); border-radius:10px; background:#eaf6fd; color:var(--sf-trial-ink); font-size:24px; font-weight:900; line-height:1.5; text-align:center; }
.sf-register-card h3::after { content:""; position:absolute; bottom:10px; left:50%; width:96px; height:4px; border-radius:999px; background:linear-gradient(to right,var(--sf-trial-blue) 70%,var(--sf-trial-yellow) 70%); transform:translateX(-50%); }
.sf-register-page .sf-register-note { margin:0 0 28px; font-size:14px; text-align:center; color:#414141; }
.sf-register-card input:not([type=checkbox]) { min-height:50px; border:2px solid #737a83; border-radius:10px; font-size:16px; background:#fff; color:#202020; }
.sf-register-card input:focus { outline:3px solid #0878b2; outline-offset:3px; }
.sf-register-card .sf-register-actions { justify-content:center; }
/* Keep the live form aligned with the approved preview's existing components. */
.sf-register-card .sf-register-actions > button { transition:transform .2s,box-shadow .2s,background-color .2s; }
.sf-register-card .sf-register-actions > button:hover, .sf-register-card .sf-register-actions > button:focus-visible { transform:translateY(-2px); box-shadow:0 0 14px rgba(89,183,232,.65); }
.sf-register-card .text-red-600 { color:#b91c1c; }
.sf-register-errors { padding:16px; margin:20px 0; border:2px solid #b91c1c; border-radius:10px; color:#991b1b; background:#fff1f2; line-height:1.7; }
.sf-register-footer { padding:44px 24px; background:#202020; color:#fff; text-align:center; }
.sf-register-footer img { width:220px; height:auto; margin:0 auto 18px; }
.sf-register-footer p { margin-bottom:20px; }
.sf-register-footer div { display:flex; justify-content:center; flex-wrap:wrap; gap:24px; margin:24px 0; }
.sf-register-footer small { color:#ddd; }
.sf-register-page a:focus-visible, .sf-register-page button:focus-visible { outline:3px solid #0878b2; outline-offset:5px; }
.sf-register-skip { position:absolute; left:16px; top:-100px; padding:16px; z-index:50; background:white; }
.sf-register-skip:focus { top:16px; }
@media (max-width:1040px) {
 .sf-register-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 32px; }
 .sf-register-step-arrow { right:-30px; }
 .sf-register-steps > li:nth-child(2) .sf-register-step-arrow { top:auto; right:auto; bottom:-34px; left:-32px; transform:rotate(135deg); }
}
@media (max-width:760px) {
 .sf-register-page .sf-e-wrap { width:calc(100% - 32px); }
 .sf-register-page #registration-title { font-size:clamp(20px,6.5vw,32px); }
 .sf-register-page .sf-register-header { padding:14px 16px; gap:12px; }
 .sf-register-header img { width:152px; }
 .sf-register-header nav { gap:12px; font-size:12px; }
 .sf-register-header-cta { display:none; }
 .sf-register-flow { margin-top:22px; }
 .sf-register-flow::after { margin-top:14px; }
 .sf-register-steps { grid-template-columns:1fr; gap:20px; padding:0 5px 7px 0; }
 .sf-register-steps > li { display:grid; grid-template-columns:54px minmax(0,1fr); align-items:center; gap:12px; min-height:68px; padding:8px 12px; border-radius:15px; box-shadow:4px 5px 0 var(--sf-trial-ink); }
 .sf-register-step-heading { flex-direction:column; gap:5px; min-height:0; padding-bottom:7px; margin:0; }
 .sf-register-step-heading::after { width:30px; }
 .sf-register-step-number { gap:5px; font-size:11px; }
 .sf-register-step-number b { font-size:24px; }
 .sf-register-step-current { padding:3px 6px; font-size:12px; }
 .sf-register-step-content { gap:4px; }
 .sf-register-step-title { font-size:clamp(15px,4.45vw,16px); line-height:1.5; }
 .sf-register-step-detail { font-size:13px; line-height:1.5; letter-spacing:-.02em; white-space:nowrap; }
 .sf-register-steps > li .sf-register-step-arrow, .sf-register-steps > li:nth-child(2) .sf-register-step-arrow { top:auto; right:auto; bottom:-20px; left:50%; width:18px; font-size:18px; transform:translateX(-50%) rotate(90deg); }
 .sf-register-card { padding:26px 20px; border-radius:20px; box-shadow:5px 6px 0 #202020; }
 .sf-register-card h3 { font-size:21px; }
 .sf-register-page .sf-trial-tags span { line-height:1.4; }
 .sf-register-page .sf-trial-hero-copy strong { white-space:nowrap; }
}
