/*
Theme Name: Richard Smith - Astra
Theme URI: https://therichardsmith.com/
Author: Richard Smith
Description: A warm, clear Astra child theme with an editable block homepage inspired by The Last Ten Years.
Version: 1.0.0
Template: astra
Requires at least: 6.8
Requires PHP: 7.4
Text Domain: richard-smith
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root{--rs-paper:#f4f0e8;--rs-ink:#243238;--rs-navy:#142038;--rs-brown:#7d5032;--rs-gold:#e3a73c;--rs-line:#d9d0c4;--rs-muted:#59666b;--rs-soft:#e7ded1;--rs-white:#fff;--rs-radius:24px}
/* Astra retains its templates, forms and plugin integrations on existing pages. */
body{background:var(--rs-paper);color:var(--rs-ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65}
.site-content{background:var(--rs-paper)}
.entry-title,.entry-content h1,.entry-content h2,.entry-content h3{color:var(--rs-navy)}
.entry-content a:not(.wp-element-button):not(.wp-block-button__link){color:var(--rs-brown)}
.ast-separate-container .ast-article-post,.ast-separate-container .ast-article-single{border-radius:18px}
.ast-separate-container .ast-article-post{border:1px solid var(--rs-line)}
.ast-button,.ast-custom-button{border-radius:8px}
.main-header-bar,.ast-primary-header-bar,.ast-builder-grid-row-container-inner{background:var(--rs-paper)}
.main-header-menu>.menu-item>.menu-link,.site-title a{color:var(--rs-navy)}
.site-title a{font-weight:700}

/* Scoped design components also work in the WordPress block editor. */
.rs-home,.rs-header,.rs-footer{font-family:Arial,Helvetica,sans-serif;color:var(--rs-ink);font-size:1rem;line-height:1.65}
.rs-home *,.rs-header *,.rs-footer *{box-sizing:border-box}
.rs-wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.rs-home p{margin:0 0 1.15rem}
.rs-home h1,.rs-home h2,.rs-home h3,.rs-home h4{font-family:Arial,Helvetica,sans-serif;color:var(--rs-navy);font-weight:700;margin:0 0 1.2rem;line-height:1.12;letter-spacing:-.035em}
.rs-home h2{font-size:clamp(2rem,3.5vw,3rem)}
.rs-home h3{font-size:1.35rem;letter-spacing:-.025em}
.rs-home a{color:var(--rs-brown);text-underline-offset:4px}
.rs-home .wp-block-group,.rs-home .wp-block-buttons{box-sizing:border-box}
.rs-home .wp-block-group>*:last-child{margin-bottom:0}
.rs-home .wp-block-group{max-width:none}
.rs-home :focus-visible,.rs-header :focus-visible,.rs-footer :focus-visible{outline:3px solid #005fcc;outline-offset:5px}
.rs-home [id]{scroll-margin-top:30px}
.rs-skip{position:absolute;left:20px;top:-100px;padding:12px 18px;background:#fff;color:#142038;z-index:999999}
.rs-skip:focus{top:12px;outline:3px solid #005fcc}
.rs-header{background:var(--rs-paper);border-bottom:1px solid var(--rs-line)}
.rs-header-inner{display:flex;gap:26px;align-items:center;justify-content:space-between;min-height:106px;padding-block:18px}
.rs-brand{color:var(--rs-navy);text-decoration:none;flex-shrink:0;line-height:1.2}
.rs-brand>span{display:block;font-size:1.65rem;font-weight:750;letter-spacing:-.06em}
.rs-brand .rs-brand-dot{color:var(--rs-brown)}
.rs-brand small{display:block;color:var(--rs-muted);font-size:.8rem;margin-top:6px;letter-spacing:0}
.rs-menu{display:flex;gap:24px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.rs-menu a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--rs-ink);font-size:.9rem;font-weight:600}
.rs-menu a:hover,.rs-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.rs-button,.rs-home .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--rs-navy);color:#fff;text-decoration:none;padding:14px 22px;border:1px solid transparent;border-radius:8px;min-height:48px;font-size:.95rem;font-weight:700;line-height:1.3;box-shadow:none}
.rs-button:hover,.rs-home .wp-block-button__link:hover{background:#263753;color:#fff}
.rs-home .rs-primary .wp-block-button__link{background:var(--rs-brown)}
.rs-home .rs-primary .wp-block-button__link:hover{background:#623b24}
.rs-home .rs-outline .wp-block-button__link{background:transparent;color:var(--rs-navy);border-color:#b6afa4}
.rs-home .rs-outline .wp-block-button__link:hover{background:var(--rs-soft)}
.rs-home .rs-light .wp-block-button__link{background:var(--rs-paper);color:var(--rs-navy)}
.rs-home .rs-light .wp-block-button__link:hover{background:#e7ded1}
.rs-home .rs-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}
.rs-home .wp-block-button{margin:0}
.rs-hero{padding:68px 0 60px;background:radial-gradient(circle at 90% 16%,rgba(222,178,95,.17),transparent 32%),linear-gradient(rgba(36,50,56,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(36,50,56,.035) 1px,transparent 1px);background-size:auto,55px 55px,55px 55px}
.rs-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:70px;align-items:stretch}
.rs-home .rs-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--rs-brown);margin-bottom:20px}
.rs-home .rs-badge{display:inline-block;background:#eadfc7;color:#754816;padding:7px 13px;border-radius:30px;font-size:.76rem;font-weight:700;margin-bottom:25px;letter-spacing:.025em}
.rs-home .rs-hero-title{font-size:clamp(3.2rem,5.3vw,4.75rem);line-height:1.01;letter-spacing:-.058em;max-width:11ch;margin:0 0 25px}
.rs-home .rs-hero-title em{font-style:normal;color:var(--rs-brown)}
.rs-home .rs-lead{font-size:1.13rem;max-width:48ch;line-height:1.65}
.rs-home .rs-hero-note{margin-top:22px;font-size:.83rem;color:var(--rs-muted)}
.rs-panel{background:linear-gradient(135deg,#142038 0%,#1b293d 70%,#383732 100%);padding:42px;border-radius:32px;box-shadow:0 16px 40px #14203816;display:flex;flex-direction:column;justify-content:center;min-width:0}
.rs-home .rs-panel h2{font-size:clamp(2.05rem,3.3vw,3rem);color:#fff;line-height:1.07;max-width:12ch}
.rs-home .rs-panel p{color:#e0e4eb}
.rs-home .rs-panel .rs-eyebrow{color:#e3b771;margin-bottom:25px}
.rs-home .rs-checks{list-style:none;margin:20px 0 0;padding:22px 0 0;border-top:1px solid #ffffff35;display:grid;gap:18px}
.rs-checks li{position:relative;padding-left:30px;color:#fff;font-size:.98rem}
.rs-checks li:before{content:'✓';color:var(--rs-gold);position:absolute;left:0;font-weight:700}
.rs-home .rs-proof{border-top:1px solid var(--rs-line);padding-top:25px;margin-top:45px;display:flex;flex-wrap:wrap;gap:20px 42px}
.rs-home .rs-proof p{margin:0;font-size:.84rem;color:var(--rs-muted)}
.rs-home .rs-proof strong{color:var(--rs-navy)}
.rs-section{padding:76px 0}
.rs-home .rs-section-intro{max-width:620px;margin-bottom:32px}
.rs-home .rs-section-intro>p:last-child{color:var(--rs-muted)}
.rs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.rs-card{background:#fff;border:1px solid var(--rs-line);border-radius:16px;padding:27px 23px;min-width:0}
.rs-home .rs-card .rs-number{color:var(--rs-brown);font-weight:700;font-size:.8rem;margin-bottom:25px}
.rs-home .rs-card h3{font-size:1.3rem;margin-bottom:12px;line-height:1.2}
.rs-home .rs-card p{font-size:.94rem;color:var(--rs-muted);line-height:1.65}
.rs-about{background:var(--rs-soft);padding:62px 0}
.rs-about-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;align-items:start}
.rs-home .rs-about h2{max-width:12ch;font-size:clamp(2.3rem,4vw,3.6rem)}
.rs-home .rs-about-copy{padding-top:5px}
.rs-home .rs-text-link a{font-weight:700;text-decoration:underline;display:inline-block;padding:8px 0}
.rs-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.rs-step{border-top:1px solid var(--rs-line);padding-top:22px}
.rs-home .rs-step .rs-number{color:var(--rs-brown);font-size:.84rem;font-weight:700;margin-bottom:20px}
.rs-home .rs-step p{color:var(--rs-muted);font-size:.96rem}
.rs-journal{background:#fff;border-block:1px solid var(--rs-line)}
.rs-journal-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}
.rs-journal-head h2{margin-bottom:0}
.rs-home .rs-posts .wp-block-post-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}
.rs-home .rs-posts .wp-block-post{padding:25px;border:1px solid var(--rs-line);border-radius:16px;min-width:0}
.rs-home .rs-posts .wp-block-post-date{font-size:.8rem;color:var(--rs-muted);margin-bottom:14px}
.rs-home .rs-posts .wp-block-post-title{font-size:1.25rem;line-height:1.3;margin-bottom:16px;overflow-wrap:anywhere}
.rs-home .rs-posts .wp-block-post-title a{color:var(--rs-navy);text-decoration:none}
.rs-home .rs-posts .wp-block-post-title a:hover{text-decoration:underline}
.rs-home .rs-posts .wp-block-post-excerpt{font-size:.92rem;color:var(--rs-muted)}
.rs-home .rs-posts .wp-block-read-more{font-size:.9rem;font-weight:700}
.rs-home .rs-contact{padding:64px 0 76px}
.rs-contact-inner{background:var(--rs-navy);color:#fff;border-radius:28px;padding:48px 52px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center}
.rs-home .rs-contact h2{color:#fff;font-size:clamp(2rem,3.5vw,3rem);max-width:19ch}
.rs-home .rs-contact p{color:#dfe4ec;max-width:54ch}
.rs-home .rs-contact .rs-eyebrow{color:#e3b771}
.rs-home .rs-contact .rs-actions{margin:0}
.rs-footer{padding:26px 0 32px;border-top:1px solid var(--rs-line);font-size:.84rem}
.rs-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.rs-footer p{margin:0;color:var(--rs-muted)}
.rs-footer strong{color:var(--rs-navy)}
.rs-footer nav{display:flex;flex-wrap:wrap;gap:24px}
.rs-footer a{color:var(--rs-ink);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
@media(min-width:1500px){.rs-hero{padding-block:84px}}
@media(max-width:1080px){.rs-header-inner{flex-wrap:wrap;gap:12px 24px}.rs-nav{order:3;width:100%;border-top:1px solid var(--rs-line);padding-top:8px}.rs-menu{gap:24px}.rs-hero-grid{gap:35px}.rs-panel{padding:32px}.rs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-about-grid{gap:40px}}
@media(max-width:760px){.rs-wrap{width:calc(100% - 36px)}.rs-header-inner{min-height:0;padding-block:16px}.rs-brand>span{font-size:1.4rem}.rs-brand small{font-size:.74rem}.rs-header-cta{font-size:.8rem;padding:10px 13px;min-height:44px}.rs-menu{gap:5px 20px}.rs-menu a{font-size:.85rem;min-height:40px}.rs-hero{padding:38px 0}.rs-hero-grid{grid-template-columns:1fr;gap:32px}.rs-home .rs-hero-title{font-size:clamp(2.9rem,9vw,4rem);max-width:12ch}.rs-home .rs-lead{font-size:1.05rem}.rs-panel{padding:30px;border-radius:24px}.rs-home .rs-panel h2{max-width:17ch;font-size:2.4rem}.rs-home .rs-proof{gap:10px 24px;margin-top:32px}.rs-section{padding:50px 0}.rs-about{padding:48px 0}.rs-about-grid{grid-template-columns:1fr;gap:20px}.rs-home .rs-about h2{max-width:19ch}.rs-steps{grid-template-columns:1fr;gap:25px}.rs-journal-head{display:block}.rs-home .rs-posts .wp-block-post-template{grid-template-columns:1fr}.rs-contact-inner{grid-template-columns:1fr;padding:32px 26px;gap:24px}.rs-home .rs-contact{padding:42px 0}.rs-footer-inner{display:block}.rs-footer nav{gap:18px;margin:12px 0}.rs-footer .rs-copyright{margin-top:10px}}
@media(max-width:430px){.rs-grid{grid-template-columns:1fr}.rs-card{padding:25px}.rs-header-inner{gap:14px}.rs-header-cta{font-size:.76rem;padding:10px}.rs-home .rs-actions{align-items:stretch}.rs-home .rs-actions .wp-block-button{flex:1 1 auto}.rs-home .rs-actions .wp-block-button__link{width:100%}.rs-home .rs-hero-title{font-size:2.85rem}.rs-brand small{max-width:19ch}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep WordPress flow spacing from offsetting grid children. */
.rs-home :where(.rs-hero-grid,.rs-grid,.rs-steps,.rs-about-grid,.rs-contact-inner,.rs-proof,.rs-journal-head)>*{margin-block-start:0;margin-block-end:0}
.rs-home .rs-posts .wp-block-post{margin:0}
