/* LINE registration offer with a coral-red label and green primary action. */
.offer-cta{position:relative;isolation:isolate;overflow:hidden;cursor:pointer;background:linear-gradient(115deg,#008b3f 0%,#00a84d 100%);color:#fff;border:1px solid #00873e;border-radius:18px;text-decoration:none;box-shadow:0 4px 0 #006d32,0 10px 24px #00873e24,inset 0 1px 0 #ffffff38;transition:transform .2s,box-shadow .2s,filter .2s}
.offer-cta::after{content:"";position:absolute;inset:-80% auto -80% -60%;width:30%;background:linear-gradient(90deg,transparent,#ffffff26,transparent);transform:rotate(22deg);pointer-events:none;animation:offer-sheen 8s ease-in-out 2s infinite;z-index:-1}
.offer-cta>.offer-copy{display:flex;flex-direction:column;gap:2px;min-width:0;margin:0;color:inherit;font-family:var(--font);font-weight:700;letter-spacing:0;line-height:1.4;text-align:left;white-space:nowrap}
.offer-cta .offer-detail{display:block;font-family:var(--font);font-size:18px;font-weight:700;line-height:1.5;letter-spacing:.01em}
.offer-cta .offer-get{display:block;font-family:var(--font);font-size:32px;font-weight:700;line-height:1.15;letter-spacing:.015em}
.offer-cta>.offer-arrow{display:grid;place-items:center;width:40px;height:40px;flex:none;margin:0;border:0;border-radius:50%;background:#fff;color:#00853c;box-shadow:0 2px 5px #005d2420}
.offer-arrow svg{display:block;width:20px;height:20px;transition:transform .2s}
.line-benefit-button.offer-cta{display:grid;grid-template-columns:42px minmax(0,1fr) 40px;gap:16px;min-height:106px;padding:18px 22px;background:linear-gradient(115deg,#008b3f,#00a84d);border-radius:18px;box-shadow:0 4px 0 #006d32,0 10px 24px #00873e24,inset 0 1px 0 #ffffff38}
.line-benefit-button.offer-cta>.cta-line-icon{width:42px;height:42px}
.floating-layout{--dock-height:76px}
.floating-actions{width:260px}
.floating-line.offer-cta{display:grid;grid-template-columns:32px minmax(0,1fr) 28px;gap:11px;padding:13px 15px;min-height:76px;border-radius:16px}
.floating-line.offer-cta>.cta-line-icon{width:32px;height:32px}
.floating-line.offer-cta>.offer-copy{grid-column:auto;grid-row:auto}
.floating-line .offer-detail{font-size:14px;line-height:1.4}
.floating-line .offer-get{font-size:24px;line-height:1.15}
.floating-line.offer-cta>.offer-arrow{width:28px;height:28px}
.floating-line .offer-arrow svg{width:16px;height:16px}
.line-popup-register.offer-cta{display:grid;grid-template-columns:30px minmax(0,1fr) 28px;gap:11px;padding:17px 14px;min-height:88px;border-radius:14px}
.line-popup-register.offer-cta .cta-line-icon{width:30px;height:30px}
.line-popup-register.offer-cta>.offer-copy{font-size:inherit;line-height:inherit;letter-spacing:0}
.line-popup-register .offer-detail{font-size:14px;line-height:1.5}
.line-popup-register .offer-get{font-size:26px;line-height:1.15}
.line-popup-register.offer-cta>.offer-arrow{width:28px;height:28px}
.line-popup-register .offer-arrow svg{width:16px;height:16px}
.site-header .line-popup-trigger.offer-cta{display:grid;grid-template-columns:28px minmax(0,1fr) 26px;gap:10px;padding:10px 14px;min-height:62px;border-radius:13px;background:linear-gradient(115deg,#008b3f,#00a84d)}
.site-header .offer-cta>.cta-line-icon{grid-column:auto;grid-row:auto;width:28px;height:28px}
.site-header .line-popup-trigger.offer-cta>.offer-copy{grid-column:auto;grid-row:auto;font-family:var(--font);font-size:inherit;line-height:inherit;letter-spacing:0}
.site-header .offer-detail{font-size:12px;line-height:1.4}
.site-header .offer-get{font-size:21px;line-height:1.15}
.site-header .offer-cta>.offer-arrow{grid-column:auto;grid-row:auto;width:26px;height:26px}
.site-header .offer-arrow svg{width:15px;height:15px}
.offer-cta:focus-visible{outline:3px solid #276695;outline-offset:6px}
@keyframes offer-sheen{0%,70%{left:-60%}90%,100%{left:145%}}
@media(hover:hover){.offer-cta:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 6px 0 #006d32,0 14px 30px #00873e30}.offer-cta:hover .offer-arrow svg{transform:translateX(2px)}}
.offer-cta:active{transform:translateY(3px);box-shadow:0 1px 0 #006d32,0 3px 8px #00873e20}
@media(max-width:720px){
 .line-benefit-button.offer-cta{grid-template-columns:36px minmax(0,1fr) 34px;gap:12px;padding:17px 17px;min-height:102px}
 .line-benefit-button.offer-cta>.cta-line-icon{width:36px;height:36px}
 .line-benefit-button .offer-detail{font-size:clamp(14px,4.2vw,18px)}
 .line-benefit-button .offer-get{font-size:30px}
 .line-benefit-button.offer-cta>.offer-arrow{width:34px;height:34px}
 .floating-layout{--dock-height:70px}
 .floating-actions{width:min(234px,calc(100vw - 24px))}
 .floating-line.offer-cta{grid-template-columns:30px minmax(0,1fr) 26px;gap:10px;min-height:70px;padding:11px 12px;border-radius:15px}
 .floating-line.offer-cta>.cta-line-icon{width:30px;height:30px}
 .floating-line .offer-detail{font-size:13px}
 .floating-line .offer-get{font-size:23px}
 .floating-line.offer-cta>.offer-arrow{width:26px;height:26px}
 .line-popup-register.offer-cta{grid-template-columns:28px minmax(0,1fr) 26px;gap:9px;padding:16px 12px}
 .line-popup-register .offer-detail{font-size:13px}
 .line-popup-register.offer-cta .cta-line-icon{width:28px;height:28px}
 .line-popup-register.offer-cta>.offer-arrow{width:26px;height:26px}
 .site-header .line-popup-trigger.offer-cta{grid-template-columns:24px minmax(0,1fr);gap:7px;padding:8px 10px;min-height:54px}
 .site-header .offer-cta>.cta-line-icon{width:24px;height:24px}
 .site-header .offer-detail{font-size:11px}
 .site-header .offer-get{font-size:20px}
 .site-header .offer-cta>.offer-arrow{display:none}
}
@media(max-width:360px){
 .line-benefit-button.offer-cta{grid-template-columns:30px minmax(0,1fr) 30px;gap:10px;padding-inline:13px}
 .line-benefit-button.offer-cta>.cta-line-icon{width:30px;height:30px}
 .line-benefit-button.offer-cta>.offer-arrow{width:30px;height:30px}
 .line-benefit-button .offer-detail{font-size:14px}
 .site-header .line-popup-trigger.offer-cta{gap:5px;padding-inline:7px}
 .site-header .offer-detail{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.offer-cta::after{animation:none;display:none}.offer-cta,.offer-arrow svg{transition:none}.offer-cta:hover,.offer-cta:active{transform:none}}
/* Explicit columns also reset the older two-row navigation CTA rules. */
.offer-cta>.cta-line-icon,.floating-line.offer-cta>.cta-line-icon,.site-header .offer-cta>.cta-line-icon{grid-column:1;grid-row:1}
.offer-cta>.offer-copy,.floating-line.offer-cta>.offer-copy,.site-header .line-popup-trigger.offer-cta>.offer-copy{grid-column:2;grid-row:1}
.offer-cta>.offer-arrow,.floating-line.offer-cta>.offer-arrow,.site-header .offer-cta>.offer-arrow{grid-column:3;grid-row:1}
.floating-line.offer-cta,.line-popup-register.offer-cta{background:linear-gradient(115deg,#008b3f,#00a84d);box-shadow:0 4px 0 #006d32,0 10px 24px #00873e24,inset 0 1px 0 #ffffff38}

/* Red marks the registration label; the benefit remains the dominant line. */
.offer-cta .offer-detail{display:inline-flex;align-self:flex-start;align-items:center;width:max-content;max-width:100%;padding:3px 10px;border-radius:999px;background:#cd3042;color:#fff;font-family:var(--font);font-size:12px;font-weight:700;line-height:1.55;letter-spacing:.01em;box-shadow:inset 0 1px 0 #ffffff24}
.offer-cta>.offer-copy{gap:7px}
.offer-cta .offer-get{font-size:23px;line-height:1.35;letter-spacing:-.015em}
.floating-actions{width:290px}
.floating-line.offer-cta>.offer-copy{gap:5px}
.floating-line .offer-detail{font-size:10px;padding:2px 8px;line-height:1.5}
.floating-line .offer-get{font-size:17px;line-height:1.35}
.line-popup-register.offer-cta{grid-template-columns:28px minmax(0,1fr) 26px;gap:9px;padding-inline:12px}
.line-popup-register.offer-cta>.offer-copy{gap:6px}
.line-popup-register .offer-detail{font-size:10px;padding:2px 7px}
.line-popup-register .offer-get{font-size:15px;line-height:1.4}
.site-header .line-popup-trigger.offer-cta>.offer-copy{gap:4px}
.site-header .offer-detail{font-size:9px;padding:2px 7px;line-height:1.4}
.site-header .offer-get{font-size:14px;line-height:1.4}
@media(max-width:1100px) and (min-width:721px){.line-benefit-button .offer-get{font-size:20px}}
@media(max-width:720px){
 .line-benefit-button.offer-cta{gap:11px;padding-inline:16px}
 .line-benefit-button .offer-detail{font-size:11px;padding:3px 9px}
 .line-benefit-button .offer-get{font-size:clamp(16px,4.8vw,21px);letter-spacing:-.025em}
 .floating-actions{width:min(270px,calc(100vw - 24px))}
 .floating-line .offer-detail{font-size:10px;padding:2px 7px}
 .floating-line .offer-get{font-size:16px;letter-spacing:-.02em}
 .line-popup-register .offer-detail{font-size:9px;padding:2px 6px}
 .line-popup-register .offer-get{font-size:14px}
 .site-header .line-popup-trigger.offer-cta{gap:6px;padding-inline:8px}
 .site-header .offer-detail{font-size:8px;padding:2px 5px}
 .site-header .offer-get{font-size:11px;letter-spacing:-.03em}
}
@media(max-width:360px){
 .line-benefit-button.offer-cta{gap:9px;padding-inline:12px}
 .line-benefit-button .offer-detail{font-size:10px;padding-inline:7px}
 .line-benefit-button .offer-get{font-size:16px}
 .site-header .line-popup-trigger.offer-cta{grid-template-columns:22px minmax(0,1fr);gap:5px;padding-inline:7px}
 .site-header .offer-cta>.cta-line-icon{width:22px;height:22px}
 .site-header .offer-get{font-size:10px}
 .site-header .offer-detail{font-size:8px;padding-inline:5px}
}
