/* Extensions to RyanGinsberg.com's existing USS brand stylesheet. */
html{scroll-behavior:smooth;scroll-padding-top:6rem}body{font-size:1rem}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}img{max-width:100%;height:auto}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--uss-primary);outline-offset:5px}section[id],article[id]{scroll-margin-top:6rem}.eyebrow{font-size:.875rem!important}.rg-blue{color:var(--uss-primary)}.rg-container{width:100%;max-width:72rem;margin-inline:auto;padding-inline:2rem}.rg-narrow{max-width:51rem}.rg-section{padding-block:5rem}.rg-soft{background:var(--bg-secondary)}.rg-heading{max-width:48rem;margin-bottom:2.75rem}.rg-heading h2,.rg-contact h2{font-family:var(--font-heading);font-weight:700;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.02em;margin-top:1.2rem;color:var(--text-primary)}.rg-lead{font-size:1.125rem!important;line-height:1.7!important;color:var(--text-secondary);margin-top:1.25rem}.rg-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.25rem}.rg-button{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.875rem 1.6rem;border:1px solid transparent;border-radius:var(--radius-full);background:var(--uss-primary);color:white;font-size:1rem;font-weight:600;line-height:1.4;text-decoration:none;text-align:center;box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s,background .2s}.rg-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:#164195}.rg-button-secondary{background:white;border-color:var(--border-dark);color:var(--text-primary);box-shadow:none}.rg-button-secondary:hover{background:white;border-color:var(--uss-primary);color:var(--uss-primary)}.rg-text-link{display:inline-block;color:var(--uss-primary);font-weight:600;text-underline-offset:4px}.rg-text-link:hover{text-decoration:underline}.rg-secondary-link{margin-top:1.75rem}.rg-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.rg-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.rg-card{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;background:white;min-width:0}.rg-card h2,.rg-card h3,.rg-callout h3{font:600 1.35rem/1.3 var(--font-heading);letter-spacing:-.015em;color:var(--text-primary)}.rg-card p,.rg-callout p{font-size:1rem;line-height:1.7;color:var(--text-secondary);margin-top:1rem}.rg-card .rg-kicker{margin:0 0 1.25rem;font-size:.875rem;font-weight:600;color:var(--uss-primary)}.rg-card .rg-text-link{margin-top:auto;padding-top:1.75rem}.rg-featured{border-top:4px solid var(--uss-primary);padding-top:calc(2rem - 3px);box-shadow:var(--shadow-md)}.rg-split{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:start}.rg-split .rg-heading{margin-bottom:0}.rg-callout{border-left:3px solid var(--uss-secondary);padding-left:1.75rem}.rg-callout .rg-button{margin-top:1.5rem}.rg-hero-title{font-family:var(--font-heading);font-size:clamp(2.25rem,4.7vw,3.75rem);font-weight:800;line-height:1.12;letter-spacing:-.025em;margin-top:1.5rem}.rg-hero-title span{display:block}.rg-hero-portrait{display:block}.rg-hero-portrait img{width:300px;height:300px;object-fit:cover}.rg-page-hero{padding-block:6rem 4.5rem;background:radial-gradient(120% 90% at 50% -10%,var(--uss-primary-light) 0%,transparent 55%),var(--bg-primary)}.rg-page-hero h1{font:800 clamp(2.1rem,4.5vw,3.4rem)/1.15 var(--font-heading);letter-spacing:-.025em;margin-top:1.5rem;max-width:58rem}.rg-page-intro{font-size:1.25rem;line-height:1.7;color:var(--text-secondary);max-width:49rem;margin-top:1.75rem}.rg-service-list{display:flex;flex-direction:column;gap:4rem}.rg-service{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;border-top:1px solid var(--border);padding-top:3rem}.rg-service h2{font:700 2rem/1.25 var(--font-heading);letter-spacing:-.02em;margin-top:1rem}.rg-service p{font-size:1rem;line-height:1.7;color:var(--text-secondary);margin-top:1rem}.rg-service .rg-price{font-size:1.125rem;font-weight:600;color:var(--uss-primary)}.rg-service .rg-lead{margin-top:0}.rg-service ul{list-style:disc;padding-left:1.25rem;color:var(--text-secondary);line-height:1.7;margin-block:1.5rem}.rg-service li+li{margin-top:.5rem}.rg-service .rg-button{margin-top:1.5rem}.rg-contact{background:var(--uss-primary-dark);text-align:center;color:white}.rg-contact .eyebrow{color:var(--uss-secondary)}.rg-contact h2{color:white}.rg-contact h3{font:600 1.25rem/1.4 var(--font-heading);color:white;margin-top:1rem}.rg-contact [data-contact-description]{font-size:1.125rem;line-height:1.7;color:#d1d5db;max-width:40rem;margin:1rem auto 0}.rg-contact-note{font-size:1rem;line-height:1.7;color:#bec6d3;margin:1.5rem auto 0;max-width:38rem}.rg-contact-actions{display:flex;flex-direction:column;align-items:center;gap:1.25rem;margin-top:2rem}.rg-contact-actions .rg-button{background:white;color:var(--uss-primary-dark)}.rg-contact-actions>a:not(.rg-button){color:white;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.rg-audience{display:inline-flex;flex-wrap:wrap;justify-content:center;border:1px solid #566070;border-radius:1.5rem;padding:.3rem;gap:.3rem;margin:2rem auto 1.5rem}.rg-audience button{font-size:.875rem;padding:.75rem 1.25rem;border-radius:1.25rem;color:#e5e7eb;line-height:1.4;background:transparent}.rg-audience button[aria-pressed=true]{background:white;color:var(--uss-primary-dark);font-weight:600}.rg-contact button:focus-visible,.rg-contact a:focus-visible{outline-color:white}.rg-skip{position:fixed;top:.5rem;left:1rem;z-index:200;background:var(--uss-primary);color:white;padding:.75rem 1rem;transform:translateY(-200%);border-radius:.5rem}.rg-skip:focus{transform:translateY(0)}.rg-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border-light);background:#fffffff0;backdrop-filter:blur(12px)}.rg-nav-wrap{height:4.5rem;max-width:78rem;margin:auto;padding-inline:2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.rg-wordmark{font:700 1.125rem/1.2 var(--font-heading);letter-spacing:-.02em;color:var(--text-primary);white-space:nowrap}.rg-wordmark span{display:block;font:500 .75rem/1.5 var(--font-sans);letter-spacing:.01em;color:var(--text-light);margin-top:.25rem}.rg-desktop-nav{display:flex;align-items:center;gap:1.4rem}.rg-desktop-nav>a:not(.rg-button){font-size:.875rem;font-weight:500;white-space:nowrap;color:var(--text-secondary);padding-block:.75rem}.rg-desktop-nav>a:hover,.rg-desktop-nav>a[aria-current=page]{color:var(--uss-primary)}.rg-desktop-nav .rg-nav-cta{min-height:2.75rem;padding:.6rem 1.25rem;font-size:.875rem;white-space:nowrap}.rg-menu-toggle{display:none;width:2.75rem;height:2.75rem;border:1px solid var(--border);border-radius:.75rem;align-items:center;justify-content:center;color:var(--text-primary);background:white}.rg-mobile-nav{max-height:calc(100dvh - 4.5rem);overflow:auto;position:absolute;top:100%;inset-inline:0;background:white;border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);padding:1rem 1.5rem}.rg-mobile-nav>a{display:block;padding:.85rem .5rem;font-size:1rem;color:var(--text-primary)}.rg-mobile-nav>a[aria-current=page]{color:var(--uss-primary);font-weight:600}.rg-mobile-nav .rg-button{margin-top:.75rem;color:white;padding:.85rem 1rem}.rg-card figure{margin:0}
@media(max-width:1099px){.rg-desktop-nav{display:none}.rg-menu-toggle{display:inline-flex}}
@media(min-width:1100px){.rg-mobile-nav{display:none!important}}
@media(max-width:1023px){.rg-hero-portrait{display:none}.rg-grid-3{grid-template-columns:1fr}.rg-card{padding:1.75rem}.rg-split{gap:2rem}.rg-nav-wrap{padding-inline:1.5rem}}
@media(max-width:639px){.rg-container{padding-inline:1.5rem}.rg-section{padding-block:3.75rem}.rg-grid-2,.rg-split,.rg-service{grid-template-columns:1fr}.rg-service{gap:1.75rem;padding-top:2rem}.rg-service-list{gap:3rem}.rg-page-hero{padding-block:4rem 3rem}.rg-page-intro{font-size:1.125rem}.rg-heading{margin-bottom:2rem}.rg-hero-title{font-size:clamp(2rem,8.8vw,2.75rem)}.rg-actions{flex-direction:column;align-items:stretch}.rg-audience{display:flex;max-width:22rem;border-radius:1.25rem}.rg-audience button{flex:1;padding:.75rem .6rem}.rg-contact-actions .rg-button{width:100%}.rg-callout{padding-left:1.25rem}.rg-wordmark{font-size:1rem}}
/* Operational evaluation, proof and scoped service pages. */
.rg-heading .eyebrow,.rg-problem .eyebrow,.rg-human .eyebrow{color:var(--uss-secondary)}
.rg-hero-context{max-width:40rem;margin-top:1rem;font-size:1rem;line-height:1.7;color:var(--text-secondary)}
.rg-section-note{margin-top:1.75rem;max-width:49rem;font-size:1rem;line-height:1.7;color:var(--text-secondary)}
.rg-inline-button{margin-top:1.75rem}.rg-stages .rg-kicker{font-family:var(--font-mono);font-size:1rem}
.rg-math-panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:white;overflow:hidden;box-shadow:var(--shadow-sm)}
.rg-math-top{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1.5rem 2rem;border-bottom:1px solid var(--border)}
.rg-math-top>p{font-size:1rem;color:var(--text-secondary)}
.rg-status{display:inline-block;flex-shrink:0;font-size:.875rem;line-height:1.4;font-weight:500;color:var(--uss-primary);background:var(--bg-accent);border:1px solid var(--uss-primary-light);padding:.4rem .7rem;border-radius:.5rem}
.rg-math-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.rg-math-grid>div{padding:2rem;border-right:1px solid var(--border)}.rg-math-grid>div:last-child{border-right:0}
.rg-math-grid strong{display:block;font:700 clamp(2rem,4vw,3.25rem)/1.15 var(--font-heading);letter-spacing:-.025em;color:var(--text-primary)}
.rg-math-grid strong span{font-size:1.1rem;font-weight:500;letter-spacing:0}
.rg-math-grid p{font-size:1rem;line-height:1.5;font-weight:600;margin-top:1rem}
.rg-math-grid small{display:block;font-size:.875rem;line-height:1.6;color:var(--text-secondary);margin-top:.6rem}
.rg-math-grid .rg-math-result{background:var(--bg-accent);border-top:3px solid var(--uss-secondary);padding-top:calc(2rem - 3px)}
.rg-math-result strong{color:var(--uss-primary)}
.rg-math-note{margin:0;padding:1.5rem 2rem;font-size:1rem;line-height:1.7;color:var(--text-secondary);border-top:1px solid var(--border)}
.rg-details{border-top:1px solid var(--border)}.rg-details>summary{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;cursor:pointer;list-style:none;padding:1.4rem 0;font:600 1rem/1.5 var(--font-sans);color:var(--text-primary)}
.rg-details>summary::-webkit-details-marker{display:none}.rg-details>summary::after{content:'+';font:400 1.6rem/1 var(--font-sans);color:var(--uss-primary);flex:0 0 auto}
.rg-details[open]>summary::after{content:'−'}.rg-detail-body{padding-bottom:1.5rem}.rg-detail-body p{font-size:1rem;line-height:1.7;color:var(--text-secondary)}.rg-detail-body p+p{margin-top:1rem}
.rg-math-panel>.rg-details>summary{padding:1.4rem 2rem}.rg-math-panel>.rg-details>.rg-detail-body{padding:0 2rem 2rem}
.rg-work-archive,.rg-more-quotes{margin-top:2.5rem}.rg-count{font-size:.875rem;font-weight:400;color:var(--text-secondary);margin-left:auto;white-space:nowrap}
.rg-archive-list .rg-details>summary{align-items:flex-start}.rg-archive-name{display:block;font-size:.875rem;font-weight:400;color:var(--text-secondary);margin-bottom:.25rem}
.rg-archive-list .rg-status{margin-left:auto;max-width:12rem}.rg-case-outcome{border-top:1px solid var(--border);padding-top:1rem;font-weight:600;color:var(--uss-primary)!important}
.rg-quotes>figure{min-width:0;margin:0;height:auto}.rg-quotes blockquote{font-size:1rem;line-height:1.75}.rg-quotes figcaption p{font-size:.875rem}
.rg-human{grid-template-columns:280px 1fr;align-items:start}.rg-human>img{width:280px;height:280px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.rg-human h2{font:700 clamp(1.8rem,3vw,2.5rem)/1.2 var(--font-heading);letter-spacing:-.02em;margin-top:1.25rem}
.rg-problem-list{display:flex;flex-direction:column;gap:3.5rem}.rg-problem{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;border-top:1px solid var(--border);padding-top:2.5rem}
.rg-problem h2{font:700 clamp(1.5rem,2.6vw,2rem)/1.3 var(--font-heading);letter-spacing:-.015em;margin-top:1rem}
.rg-problem h3{font:600 1.125rem/1.5 var(--font-heading)}.rg-problem p{font-size:1rem;line-height:1.7;color:var(--text-secondary);margin-top:1rem}.rg-problem h3:not(:first-child){margin-top:1.5rem}.rg-problem .rg-text-link{margin-top:1.5rem}
.rg-prose{max-width:49rem}.rg-prose p{font-size:1.125rem;line-height:1.75;color:var(--text-secondary)}.rg-prose p+p{margin-top:1.5rem}.rg-prose a{color:var(--uss-primary);text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){.rg-math-grid{grid-template-columns:1fr}.rg-math-grid>div{border-right:0;border-bottom:1px solid var(--border);padding:1.5rem}.rg-math-grid>div:last-child{border-bottom:0;padding-top:1.5rem}.rg-math-grid p{margin-top:.5rem}.rg-math-top,.rg-math-note{padding:1.5rem}.rg-math-panel>.rg-details>summary{padding:1.25rem 1.5rem}.rg-math-panel>.rg-details>.rg-detail-body{padding:0 1.5rem 1.5rem}.rg-human{grid-template-columns:1fr;gap:2rem}.rg-human>img{width:180px;height:180px}.rg-problem{grid-template-columns:1fr;gap:1.75rem}.rg-archive-list .rg-details>summary{flex-wrap:wrap;gap:.75rem}.rg-archive-list .rg-status{margin-left:0;order:3}.rg-archive-list .rg-details>summary>span:first-child{flex:1 1 80%}.rg-status{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.rg-button:hover{transform:none}}

/* Client story and practical workflow guide. */
.rg-article-byline{font-size:.875rem;line-height:1.6;color:var(--text-secondary);margin-top:1.5rem}
.rg-case-quote{max-width:49rem;margin:2.5rem auto 0}.rg-case-quote blockquote{font-size:1.25rem;line-height:1.7}
.rg-reading{max-width:49rem}.rg-reading h2{font:700 clamp(1.4rem,2.5vw,1.9rem)/1.3 var(--font-heading);letter-spacing:-.015em;color:var(--text-primary);margin-top:3rem}.rg-reading h2:first-child{margin-top:0}.rg-reading p{font-size:1.125rem;line-height:1.8;color:var(--text-secondary);margin-top:1.25rem}.rg-reading strong{font-weight:600;color:var(--text-primary)}
.rg-reading-note{border-left:3px solid var(--uss-secondary);padding:1.25rem 1.5rem;background:var(--bg-secondary);margin-block:1.75rem}.rg-reading-note p:first-child{margin-top:0}
.rg-table-wrap{max-width:100%;overflow-x:auto;margin-block:1.75rem;border:1px solid var(--border);border-radius:var(--radius-md)}.rg-table-wrap:focus-visible{outline:3px solid var(--uss-primary);outline-offset:5px}.rg-guide-table{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.7}.rg-guide-table th,.rg-guide-table td{text-align:left;vertical-align:top;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.rg-guide-table thead{background:var(--bg-secondary)}.rg-guide-table th{font-weight:600;color:var(--text-primary)}.rg-guide-table td{color:var(--text-secondary)}.rg-guide-table tbody th{width:30%}.rg-guide-table tr:last-child th,.rg-guide-table tr:last-child td{border-bottom:0}
.rg-guide-brief{margin-block:1.75rem;padding-left:1.5rem;border-left:3px solid var(--uss-primary)}.rg-guide-brief dt{font:600 1.125rem/1.6 var(--font-heading);color:var(--text-primary);margin-top:1.25rem}.rg-guide-brief dd{font-size:1.125rem;line-height:1.8;color:var(--text-secondary);margin-top:.5rem}
@media(max-width:639px){.rg-guide-table th,.rg-guide-table td{padding:.875rem}.rg-guide-table tbody th{width:34%}.rg-case-quote blockquote{font-size:1.125rem}.rg-reading-note{padding:1rem 1.25rem}}

/* Proof, reading and optional referral context. */
.rg-referral{max-width:31rem;margin:1.75rem auto;text-align:left}.rg-referral label{display:block;font-size:1rem;font-weight:600;margin-bottom:.6rem}.rg-referral label span{font-weight:400}.rg-referral input{display:block;width:100%;border:1px solid #b8cbe4;border-radius:.6rem;background:white;color:#172b4d;padding:.85rem 1rem;font:400 1rem/1.5 var(--font-sans)}.rg-referral input:focus-visible{outline:3px solid white;outline-offset:3px}.rg-referral p{font-size:.875rem!important;line-height:1.5;margin-top:.5rem!important}.rg-article-list{padding-left:1.25rem;font-size:1.125rem;line-height:1.75;color:var(--text-secondary)}.rg-article-list li+li{margin-top:.75rem}.rg-table-scroll{overflow:auto;max-width:100%;margin-block:1.5rem}.rg-table-scroll table{min-width:28rem}.rg-table-scroll:focus-visible{outline:2px solid var(--uss-primary);outline-offset:4px}.rg-reading-note p+p{margin-top:1rem}

.rg-prose{min-width:0}.rg-table-scroll{width:100%}

/* Final brand and interaction polish. */
:root{--rg-ease:cubic-bezier(.22,1,.36,1)}.rg-footer{background:#f7f9fc;border-top:1px solid var(--border);padding:3.5rem 0 1.5rem}.rg-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.15fr;gap:2rem}.rg-footer nav{display:flex;flex-direction:column;gap:.85rem}.rg-footer a:not(.rg-wordmark){font-size:.875rem;line-height:1.6;color:var(--text-secondary);width:fit-content}.rg-footer a:hover{color:var(--uss-primary)}.rg-footer small{display:block;font-size:.8125rem;color:var(--text-light)}.rg-footer-label{font-size:.875rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}.rg-footer-brand>p{font-size:1rem;line-height:1.7;margin:1rem 0;color:var(--text-secondary)}.rg-footer-brand>a:last-child{display:block;max-width:15rem}.rg-footer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--border);font-size:.875rem;color:var(--text-light)}.rg-desktop-nav>a[aria-current],.rg-mobile-nav>a[aria-current]{color:var(--uss-primary);text-decoration:underline;text-decoration-color:var(--uss-orange,#ff6b00);text-underline-offset:7px;text-decoration-thickness:2px}.rg-button,.rg-card,.rg-text-link,.rg-footer a{transition:transform .2s var(--rg-ease),box-shadow .2s,border-color .2s,color .2s,background-color .2s}.rg-card{min-width:0}.rg-hero-title,.rg-page-hero h1{text-wrap:balance}.rg-prose a:focus-visible,.rg-footer a:focus-visible{outline:3px solid var(--uss-primary);outline-offset:4px;border-radius:2px}.rg-page-hero,.rg-hero-copy{animation:rg-enter .5s var(--rg-ease) both}.rg-article-byline{line-height:1.7}.rg-card .rg-kicker{line-height:1.65}.rg-section :target,.rg-footer :target{scroll-margin-top:7rem}.rg-contact-actions{row-gap:1.25rem}
@keyframes rg-enter{from{opacity:.75;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.rg-button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #1b4db020}.rg-card:has(>a):hover{border-color:#9bb4e2;box-shadow:0 8px 25px #15223b09}.rg-text-link:hover{color:#123579}.rg-text-link span{display:inline-block;transition:transform .2s}.rg-text-link:hover span{transform:translateX(3px)}}
@media(max-width:1000px){.rg-footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}.rg-footer-brand{grid-column:1/-1}.rg-footer-brand>a:last-child{max-width:none}}
@media(max-width:430px){.rg-footer-grid{grid-template-columns:1fr}.rg-footer{padding-top:2.75rem}.rg-footer-grid nav{gap:.75rem}.rg-footer-bottom{margin-top:2rem}.rg-footer a:not(.rg-wordmark){padding-block:3px}}
@media(prefers-reduced-motion:reduce){.rg-page-hero,.rg-hero-copy{animation:none}.rg-button,.rg-card,.rg-text-link,.rg-footer a,.rg-text-link span{transition:none!important;transform:none!important}html{scroll-behavior:auto}}

html[data-site="ryan_website"] .eyebrow{color:var(--ux-warning)}html[data-site="ryan_website"] .rg-contact .eyebrow{color:#ffd1ac}
