/* Rotator cuff surgery recovery guide: opt-in page and the guide itself.
   Built on the RangeMaster tokens. Phone first: most readers arrive on a 393px screen.
   Emphasis uses pills, icons and full background tints. No edge stripes anywhere. */
.rcg{--rcg-paper:#FBF6EC;--rcg-peach:#F9E8DB;--rcg-sage:#E5EDDF;--rcg-denim:#E4ECF6;--rcg-amber:#FBF0D3;--rcg-rose:#FBE4DF;max-width:1120px;margin:0 auto;padding:0 20px 56px;color:var(--ink);font-family:var(--font-sans);font-size:18px;line-height:1.6}
.rcg *{box-sizing:border-box}
.rcg h1,.rcg h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em;line-height:1.12;text-wrap:balance}
.rcg h1{font-size:clamp(30px,4.2vw,50px);margin:0 0 14px}
.rcg h2{font-size:clamp(26px,3vw,36px);margin:0 0 16px}
.rcg h3{font-size:20px;line-height:1.35;font-weight:600;margin:0 0 8px}
.rcg p{margin:0 0 18px}
.rcg a{color:inherit;text-underline-offset:4px}
.rcg button,.rcg input{font:inherit}
.rcg .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 22px;font-size:18px;line-height:1.3;text-align:center;white-space:normal}
.rcg .btn:disabled{cursor:wait;opacity:.7}
.rcg a.btn--primary{color:var(--ink-inverse,#fff)}
.rcg .rcg-icon{flex-shrink:0;width:20px;height:20px}
.rcg .rcg-pill{display:inline-block;margin:0 0 14px;padding:6px 14px;border-radius:999px;background:var(--rcg-denim);color:var(--brand,#0A2540);font-size:14px;font-weight:600;line-height:1.3}
.rcg .rcg-pill--quiet{background:var(--rcg-sage)}
.rcg .rcg-lead{font-size:20px;line-height:1.5;color:var(--ink-2)}
.rcg .rcg-small,.rcg .rcg-meta{font-size:15px;line-height:1.5;color:var(--ink-2)}
.rcg-card{background:var(--bg-card,#fff);border:1px solid var(--border);border-radius:16px}
.rcg-section{padding:44px 0;border-top:1px solid var(--border)}
.rcg-status{padding:80px 20px;max-width:680px}

/* Hero: headline, then the form, both visible without scrolling on a phone. */
.rcg-hero{display:grid;gap:28px;margin:0 -20px;padding:28px 20px 36px;background:var(--rcg-paper)}
.rcg .rcg-hero__sub{font-size:20px;line-height:1.45;color:var(--ink-2);margin:0 0 20px}
.rcg-hero__form{padding:20px;box-shadow:0 10px 30px rgba(10,37,64,.07)}
.rcg .rcg-form__heading{font-family:var(--font-sans);font-size:19px;font-weight:600;letter-spacing:0;line-height:1.35;margin:0 0 12px}
.rcg-hero__art{margin:0}
.rcg-hero__art img{display:block;width:100%;height:auto;border-radius:18px}

.rcg-form{display:grid;gap:10px;position:relative}
.rcg-form__label{font-size:16px;font-weight:600;line-height:1.3}
.rcg .rcg-form__input{width:100%;min-height:56px;padding:14px 16px;border:1.5px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--ink);font-size:18px;line-height:1.3}
.rcg .rcg-form__input:focus-visible{outline:3px solid var(--brand-blue,#3678B9);outline-offset:2px;border-color:var(--brand,#0A2540)}
.rcg .rcg-form__input[aria-invalid="true"]{border-color:var(--accent,#D9523E)}
.rcg-form__trap{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.rcg .rcg-form__error{margin:0;padding:10px 14px;border-radius:10px;background:var(--rcg-rose);color:#7A1F12;font-size:16px;line-height:1.4}
.rcg .rcg-form__button{width:100%;min-height:56px;font-weight:600}
.rcg .rcg-form__consent{margin:2px 0 4px;font-size:14px;line-height:1.5;color:var(--ink-2)}

.rcg-checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.rcg-checks li{display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:start;font-size:19px;line-height:1.4}
.rcg-checks .rcg-icon{width:32px;height:32px;padding:6px;border-radius:50%;background:var(--rcg-sage);color:#2F5D3A}

.rcg-sample__card{margin:20px 0 14px;padding:6px 20px;background:var(--rcg-paper)}
.rcg-sample__card>div{padding:16px 0;border-bottom:1px solid var(--border)}
.rcg-sample__card>div:last-child{border-bottom:0}
.rcg-sample__card dt{display:inline-block;margin:0 0 8px;padding:4px 12px;border-radius:999px;background:var(--rcg-peach);font-size:14px;font-weight:600;line-height:1.3;color:#6B3A1E}
.rcg-sample__card dd{margin:0;font-size:18px;line-height:1.5}

/* Timeline: a numbered stepper. Visible by default. When the page arms it (it starts below
   the fold), steps and connectors draw in order the first time it scrolls into view. */
.rcg-timeline__steps{list-style:none;margin:26px 0 18px;padding:0;display:grid}
.rcg-timeline__steps li{position:relative;display:grid;grid-template-columns:44px 1fr;gap:16px;padding-bottom:22px}
.rcg-timeline.is-armed .rcg-timeline__steps li{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease;transition-delay:calc(var(--rcg-step,0)*110ms)}
.rcg-timeline.is-armed.is-shown .rcg-timeline__steps li{opacity:1;transform:none}
.rcg-timeline__marker{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--brand,#0A2540);color:#fff;font-size:17px;font-weight:600}
.rcg-timeline__steps li:not(:last-child)::before{content:"";position:absolute;left:21px;top:44px;bottom:0;width:2px;background:var(--border-strong);transform-origin:top}
.rcg-timeline.is-armed .rcg-timeline__steps li:not(:last-child)::before{transform:scaleY(0);transition:transform .4s ease;transition-delay:calc(var(--rcg-step,0)*110ms + 200ms)}
.rcg-timeline.is-armed.is-shown .rcg-timeline__steps li:not(:last-child)::before{transform:scaleY(1)}
.rcg .rcg-timeline__range{display:inline-block;margin:6px 0 6px;padding:3px 12px;border-radius:999px;background:var(--rcg-denim);font-size:14px;font-weight:600;line-height:1.4;color:var(--brand,#0A2540)}
.rcg .rcg-timeline__steps h3{font-size:19px;margin:0 0 4px}
.rcg .rcg-timeline__steps p:last-child{margin:0;font-size:17px;line-height:1.5;color:var(--ink-2)}

.rcg-trust__points{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:16px}
.rcg-trust__points li{display:grid;grid-template-columns:24px 1fr;gap:14px;align-items:start;font-size:18px;line-height:1.5}
.rcg-trust__points .rcg-icon{width:24px;height:24px;margin-top:2px;color:var(--brand,#0A2540)}
.rcg-trust__contact{display:grid;gap:4px;padding:18px 20px;font-style:normal;font-size:16px;line-height:1.5;color:var(--ink-2)}
.rcg-trust__contact strong{color:var(--ink);font-size:17px}

.rcg-faq__item{border:1px solid var(--border);border-radius:14px;background:var(--bg-card,#fff);margin:0 0 12px}
.rcg-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:14px 20px;cursor:pointer;list-style:none;font-size:18px;font-weight:600;line-height:1.35}
.rcg-faq__item summary::-webkit-details-marker{display:none}
.rcg-faq__chevron{flex-shrink:0;transition:transform .2s ease}
.rcg-faq__item[open] .rcg-faq__chevron{transform:rotate(180deg)}
.rcg .rcg-faq__item p{margin:0;padding:0 20px 18px;color:var(--ink-2)}

.rcg-closing{text-align:center}
.rcg-closing__form{max-width:520px;margin:24px auto 0;padding:20px;text-align:start;background:var(--rcg-paper)}

.rcg-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg-card,#fff);box-shadow:0 -8px 24px rgba(10,37,64,.16);transform:translateY(110%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s;font-family:var(--font-sans)}
.rcg-sticky.is-visible{transform:none;visibility:visible;transition:transform .2s ease}
.rcg-sticky .btn{display:flex;align-items:center;justify-content:center;width:100%;max-width:520px;min-height:52px;margin:0 auto;font-size:18px;font-weight:600;color:var(--ink-inverse,#fff)}

/* The guide. One readable column. */
.rcg-read{max-width:760px}
.rcg-welcome{display:grid;grid-template-columns:36px 1fr;gap:14px;margin:20px 0 0;padding:18px 20px;border-radius:16px;background:var(--rcg-sage)}
.rcg-welcome .rcg-icon{width:36px;height:36px;padding:7px;border-radius:50%;background:#fff;color:#2F5D3A}
.rcg .rcg-welcome h2{font-family:var(--font-sans);font-size:19px;font-weight:600;letter-spacing:0;line-height:1.35;margin:0 0 6px}
.rcg .rcg-welcome p{margin:0;font-size:16px;line-height:1.5}
.rcg-read__header{padding:32px 0 8px}
.rcg-read__actions,.rcg-note__actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.rcg .rcg-read__actions .btn{min-height:48px;font-size:16px;padding:10px 18px}
.rcg-figure{margin:24px 0}
.rcg-figure img{display:block;width:100%;height:auto;border-radius:16px}
.rcg-figure figcaption{margin-top:10px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.rcg-prose{font-size:19px;line-height:1.65}
.rcg-read .rcg-timeline{margin:36px 0;padding:28px 20px 20px;border-radius:20px;background:var(--rcg-paper)}
.rcg-toc{margin:0 0 8px}
.rcg .rcg-toc h2{font-family:var(--font-sans);font-size:19px;font-weight:600;letter-spacing:0;margin:0 0 12px}
.rcg-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rcg-toc a{display:block;min-height:52px;padding:10px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card,#fff);text-decoration:none;font-size:17px;font-weight:600;line-height:1.35}
.rcg-toc a:hover{border-color:var(--ink-3)}
.rcg-toc a span{display:block;font-size:13px;font-weight:600;color:var(--ink-3);line-height:1.4}
.rcg-chapter{padding:44px 0 8px;border-top:1px solid var(--border);margin-top:36px;scroll-margin-top:88px}
.rcg-block{margin:0 0 22px}
.rcg .rcg-block__title{font-size:19px;margin:0 0 10px}
.rcg-bullets{margin:0;padding-inline-start:22px;display:grid;gap:10px}
.rcg-checklist{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.rcg-checklist label{display:grid;grid-template-columns:26px 1fr;gap:14px;align-items:start;min-height:44px;padding:8px 0;cursor:pointer}
.rcg-checklist input{width:24px;height:24px;margin:3px 0 0;accent-color:var(--brand,#0A2540)}
.rcg-steps{margin:0;display:grid;gap:14px}
.rcg-steps>div{padding:16px 18px;border-radius:14px;background:var(--bg-subtle)}
.rcg-steps dt{font-weight:600;margin:0 0 4px}
.rcg-steps dd{margin:0}
.rcg-callout{display:grid;grid-template-columns:24px 1fr;gap:14px;margin:0 0 22px;padding:18px 20px;border-radius:14px;background:var(--rcg-denim)}
.rcg-callout .rcg-icon{width:24px;height:24px;margin-top:2px}
.rcg .rcg-callout h3{font-size:18px;margin:0 0 4px}
.rcg .rcg-callout p{margin:0;font-size:18px;line-height:1.55}
.rcg-callout--caution{background:var(--rcg-amber)}
.rcg-callout--urgent{background:var(--rcg-rose);color:#5E170D}
/* Tables stack on phones: each row reads as a label with its answer underneath. */
.rcg-table{display:block;width:100%;border-collapse:collapse;font-size:18px;line-height:1.5}
.rcg-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.rcg-table tbody,.rcg-table tr,.rcg-table th,.rcg-table td{display:block;white-space:normal;text-align:start}
.rcg-table tr{padding:14px 0;border-bottom:1px solid var(--border)}
.rcg-table tbody tr:first-child{border-top:1px solid var(--border)}
.rcg-table tbody th{font-weight:600;margin:0 0 2px}
.rcg-table td{color:var(--ink-2)}
.rcg-quote{margin:0 0 22px;padding:18px 20px;border-radius:14px;background:var(--bg-subtle);font-size:20px}
/* Product highlights: a tinted panel of whole-card links. Clearly labeled as RangeMaster products. */
.rcg-shop{margin:30px 0 14px;padding:20px;border-radius:18px;background:var(--rcg-sage)}
.rcg .rcg-pill--paper{background:#fff}
.rcg .rcg-shop h3{font-size:20px;margin:0 0 14px}
.rcg-shop__items{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.rcg .rcg-shop__item{display:grid;gap:10px;align-content:start;height:100%;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card,#fff);color:var(--ink);text-decoration:none}
.rcg .rcg-shop__item:hover{border-color:var(--ink-3)}
.rcg .rcg-shop__item:focus-visible{outline:3px solid var(--brand-blue,#3678B9);outline-offset:2px}
.rcg-shop__top{display:flex;gap:14px;align-items:center}
.rcg-shop__top img{flex-shrink:0;width:64px;height:64px;object-fit:contain;border-radius:10px;background:#fff}
.rcg-shop__head{display:grid;gap:2px;min-width:0}
.rcg-shop__head strong{font-size:18px;line-height:1.3}
.rcg-shop__price{font-size:16px;font-weight:600;color:var(--ink-2)}
.rcg-shop__text{font-size:16px;line-height:1.5;color:var(--ink-2)}
.rcg-shop__cta{display:inline-flex;align-items:center;gap:6px;min-height:32px;font-size:16px;font-weight:600;color:var(--brand,#0A2540);text-decoration:underline;text-underline-offset:4px}
.rcg .rcg-shop__note{margin:14px 0 0;font-size:14px;line-height:1.5;color:var(--ink-2)}
.rcg .rcg-cites{font-size:14px;color:var(--ink-2);margin:6px 0 0}
.rcg-note{margin:48px 0 0;padding:28px 22px;border-radius:20px;background:var(--rcg-paper)}
.rcg .rcg-text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600}
.rcg-disclaimer{margin:28px 0 0;padding:20px;border-radius:14px;background:var(--bg-subtle)}
.rcg .rcg-disclaimer h2{font-family:var(--font-sans);font-size:17px;font-weight:600;letter-spacing:0;margin:0 0 8px}
.rcg .rcg-disclaimer p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}
.rcg-sources{margin:32px 0 0}
.rcg .rcg-sources h2{font-size:24px}
.rcg-sources ol{margin:0;padding-inline-start:24px;display:grid;gap:8px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.rcg-sources li{scroll-margin-top:88px;overflow-wrap:anywhere}

.rcg-policy{max-width:760px;padding-top:36px}
.rcg-policy h2{font-size:26px;margin-top:36px}

@media(min-width:760px){
  .rcg{padding:0 32px 80px;font-size:19px}
  .rcg-section{padding:64px 0}
  .rcg-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;margin:24px 0 0;padding:48px;border-radius:24px}
  .rcg-hero__form,.rcg-closing__form{padding:26px}
  .rcg-checks{grid-template-columns:1fr 1fr;gap:18px 40px}
  .rcg-inside,.rcg-sample,.rcg-trust,.rcg-faq{max-width:820px;margin-inline:auto}
  .rcg-sample__card{padding:8px 28px}
  .rcg-sticky{display:none}
  .rcg-table{display:table}
  .rcg-table thead{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:table-header-group}
  .rcg-table tbody{display:table-row-group}
  .rcg-table tr{display:table-row;padding:0;border:0}
  .rcg-table th,.rcg-table td{display:table-cell;padding:12px 16px 12px 0;vertical-align:top;border-bottom:1px solid var(--border)}
  .rcg-table tbody tr:first-child{border-top:0}
  .rcg-table thead th{font-size:14px;color:var(--ink-2);font-weight:600}
  .rcg-table tbody th{width:34%}
  .rcg-shop{padding:26px}
  .rcg-shop__items{grid-template-columns:1fr 1fr;gap:16px}
  .rcg-toc ol{grid-template-columns:1fr 1fr}
  .rcg-read .rcg-timeline{padding:36px 32px 28px}
  .rcg-note{padding:40px}
}
@media(min-width:980px){
  .rcg-landing .rcg-timeline__steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
  .rcg-landing .rcg-timeline__steps li{grid-template-columns:1fr;gap:12px;padding-bottom:0;align-content:start}
  .rcg-landing .rcg-timeline__steps li:not(:last-child)::before{left:44px;right:-20px;top:21px;bottom:auto;width:auto;height:2px;transform-origin:left}
  .rcg-landing .rcg-timeline.is-armed .rcg-timeline__steps li:not(:last-child)::before{transform:scaleX(0)}
  .rcg-landing .rcg-timeline.is-armed.is-shown .rcg-timeline__steps li:not(:last-child)::before{transform:scaleX(1)}
}
@media(prefers-reduced-motion:reduce){
  .rcg *,.rcg-sticky{transition:none!important;scroll-behavior:auto!important}
  .rcg-timeline.is-armed .rcg-timeline__steps li{opacity:1;transform:none}
  .rcg-timeline.is-armed .rcg-timeline__steps li:not(:last-child)::before{transform:none}
}
@media(forced-colors:active){.rcg-timeline__marker{border:2px solid ButtonText}.rcg-callout,.rcg-welcome,.rcg-steps>div{border:1px solid ButtonText}}
@media print{
  body{background:#fff!important;color:#000!important}
  .promo-bar,header.store-header,.store-footer,.sally-fab,.cart-drawer,.rcg-no-print,.rcg-sticky{display:none!important}
  .rcg{max-width:none;padding:0;font-size:11pt;line-height:1.5}
  .rcg h1{font-size:24pt}.rcg h2{font-size:16pt}
  .rcg-chapter{break-inside:auto;padding-top:14pt;margin-top:14pt}
  .rcg-figure,.rcg-callout,.rcg-steps>div,.rcg-table tr,.rcg-shop__item{break-inside:avoid}
  .rcg-shop{background:none;padding:0}
  .rcg-shop__top img{width:48px;height:48px}
  .rcg-figure img{max-height:2.6in;width:auto;margin:0 auto}
  .rcg-timeline .rcg-timeline__steps li{opacity:1!important;transform:none!important}
  .rcg-timeline .rcg-timeline__steps li::before{transform:none!important}
  .rcg-sources a{text-decoration:none}
}
