/*
Theme Name: Spartaco Radin — Executive
Theme URI: https://spartacoradin.piacpoint.com/
Author: Spartaco Radin Site Project
Description: Bespoke, responsive executive WordPress theme, built to work with the existing Spartaco Radin Executive Website plugin. Restores natural scrolling and includes full blog and content templates.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: spartaco-radin-executive
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, blog, one-column, two-columns, featured-images, accessibility-ready, custom-menu, translation-ready
*/

:root { --srt-deep:#111d29; --srt-gold:#d5a95d; --srt-muted:#a7b3bd; --srt-light:#f8f6f1; --srt-ink:#172534; }
*, *::before, *::after { box-sizing:border-box; }
/* The original plugin uses a special landing-page template. These rules win even
   if an older version of its stylesheet remains cached. Native browser wheel,
   keyboard and touch scrolling must work: no fixed viewport or JS interception. */
html { width:100%; min-height:100%; height:auto!important; max-height:none!important; position:static!important; overflow-x:clip!important; overflow-y:scroll!important; -webkit-overflow-scrolling:touch; }
body { margin:0!important; width:100%; min-height:100vh!important; height:auto!important; max-height:none!important; position:static!important; overflow:visible!important; touch-action:auto!important; overscroll-behavior-y:auto!important; }
body.sr-landing, body.spartaco-landing { margin:0!important; height:auto!important; max-height:none!important; min-height:100vh!important; position:static!important; overflow:visible!important; touch-action:pan-y pinch-zoom!important; }
html.sr-scroll-unlocked { min-height:100%!important; height:auto!important; position:static!important; overflow-x:clip!important; overflow-y:scroll!important; }
#sr-site { height:auto!important; max-height:none!important; min-height:0!important; position:relative!important; overflow:visible!important; touch-action:pan-y pinch-zoom!important; }
#sr-site main, #sr-site section, #sr-site .sr-shell { max-height:none!important; }
#sr-site .sr-grain { pointer-events:none!important; }
body.spartaco-landing #sr-site { display:block!important; }
@supports not (overflow:clip) { html, html.sr-scroll-unlocked { overflow-x:hidden!important; overflow-y:scroll!important; } }

/* WordPress blog and editorial pages */
body:not(.spartaco-landing) { font:400 16px/1.75 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; background:var(--srt-light); color:var(--srt-ink); -webkit-font-smoothing:antialiased; }
body:not(.spartaco-landing) a { color:#986b30; }
body:not(.spartaco-landing) a:hover { color:#684716; }
.srt-skip-link { position:fixed;z-index:99999;left:15px;top:-80px;padding:13px 22px;background:white;color:#111d29!important;text-decoration:none;box-shadow:0 4px 20px #0003; }
.srt-skip-link:focus { top:12px; }
.srt-topbar { position:relative;z-index:10;background:var(--srt-deep);color:white; }
.srt-container { width:min(1180px,100% - 44px);margin-inline:auto; }
.srt-topbar-inner { display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px; }
.srt-brand { color:white!important;text-decoration:none;display:inline-flex;align-items:center;gap:14px;font-size:13px;letter-spacing:.16em;font-weight:800;white-space:nowrap; }
.srt-logo { width:47px;height:47px;border:1px solid #d5a95d;border-radius:50%;display:grid;place-items:center;letter-spacing:-.12em;font-weight:800;color:white; }
.srt-logo span { color:#d5a95d; }
.srt-nav { display:flex;flex-wrap:wrap;align-items:center;gap:26px; }
.srt-nav a { text-decoration:none;color:#ccd2d8!important;font-size:12px;font-weight:700; }
.srt-nav a:hover { color:var(--srt-gold)!important; }
.srt-nav .srt-contact { color:var(--srt-deep)!important;background:var(--srt-gold);padding:10px 15px;border-radius:3px; }
.srt-banner { color:white;background:radial-gradient(ellipse at 80% 30%,#334a5b 0%,#1b2d3d 40%,#12202e 80%);padding:92px 0 100px; }
.srt-eyebrow { color:var(--srt-gold);font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;margin:0 0 17px; }
.srt-banner h1 { font-size:clamp(38px,6vw,70px);font-weight:700;letter-spacing:-.055em;line-height:1.12;margin:0;max-width:900px; }
.srt-banner p { max-width:750px;color:#c0cad2;margin:20px 0 0; }
.srt-main { padding:75px 0 100px;min-height:55vh; }
.srt-layout { display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:45px;align-items:start; }
.srt-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.srt-card { background:white;border:1px solid #e9e7e1;transition:box-shadow .25s,transform .25s;overflow:hidden; }
.srt-card:hover { transform:translateY(-3px);box-shadow:0 20px 55px #17253414; }
.srt-card-thumb { aspect-ratio:16/9;display:block;overflow:hidden;background:linear-gradient(135deg,#314b5e,#152332); }
.srt-card-thumb img { height:100%;width:100%;object-fit:cover;transition:transform .4s; }
.srt-card:hover .srt-card-thumb img { transform:scale(1.035); }
.srt-card-fallback { height:100%;display:flex;align-items:center;justify-content:center;font-size:90px;font-weight:800;color:#d5a95d3c; }
.srt-card-body { padding:28px; }
.srt-meta { font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#a07842;margin:0 0 15px; }
.srt-card h2 { margin:0 0 15px;font-size:clamp(22px,2vw,28px);letter-spacing:-.045em;line-height:1.22; }
.srt-card h2 a { text-decoration:none;color:var(--srt-ink)!important; }
.srt-card p { margin:0 0 22px;color:#64717b;font-size:14px; }
.srt-readmore { text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.08em;text-decoration:none; }
.srt-article { background:white;box-shadow:0 10px 60px #1725340b;padding:clamp(24px,5vw,66px); }
.srt-article h1 { font-size:clamp(34px,4vw,56px);line-height:1.16;letter-spacing:-.05em; }
.srt-article h2 { margin-top:1.6em;line-height:1.3; }
.srt-article img { max-width:100%;height:auto; }
.srt-article blockquote { border-left:3px solid var(--srt-gold);padding-left:28px;color:#435567;font-size:1.15em; }
.srt-article a { text-decoration:underline; }
.srt-article .wp-block-image img { display:block; }
.srt-article iframe { max-width:100%; }
.srt-featured { width:100%;margin:24px 0 32px; }
.srt-featured img { width:100%;height:auto; }
.srt-sidebar { position:sticky;top:30px; }
.srt-sidebox { background:#fff;padding:28px;border:1px solid #e9e7e1;margin-bottom:20px; }
.srt-sidebox h3 { margin:0 0 12px;font-size:16px; }
.srt-sidebox p { color:#64717b;font-size:14px; }
.srt-sidebox a { text-decoration:none; }
.srt-tag { display:inline-block;font-size:12px;background:#f5f0e5;padding:5px 10px;margin:0 5px 8px 0; }
.srt-pagination { padding-top:45px;display:flex;gap:8px;flex-wrap:wrap; }
.srt-pagination .page-numbers { border:1px solid #d9d5cd;padding:6px 15px;text-decoration:none;background:white; }
.srt-pagination .current { background:var(--srt-deep);color:white; }
.srt-footer { background:#111d29;padding:60px 0 30px;color:#b6c0c8; }
.srt-footer-head { display:flex;align-items:flex-start;justify-content:space-between;gap:35px;border-bottom:1px solid #fff2;padding-bottom:45px; }
.srt-footer-head h2 { margin:0;color:white;font-size:28px;letter-spacing:-.045em; }
.srt-footer-head p { margin-bottom:0;max-width:450px;color:#9faeb8;font-size:14px; }
.srt-footer a { color:#d3ad71!important;text-decoration:none; }
.srt-footer-bottom { display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:26px;font-size:12px;color:#899ba9; }
.srt-footer-links { display:flex;gap:18px;flex-wrap:wrap; }
.srt-empty { background:#fff;padding:40px; }
.srt-search { display:flex;max-width:450px;gap:8px; }
.srt-search input { flex:1;min-width:0;padding:12px;border:1px solid #d9d5cd; }
.srt-search button { padding:12px 20px;border:0;background:#d5a95d;cursor:pointer; }
@media (max-width:900px) { .srt-layout { grid-template-columns:1fr; } .srt-sidebar { position:static; } .srt-topbar-inner { flex-wrap:wrap;padding:18px 0; } .srt-banner { padding:65px 0 72px; } }
@media (max-width:590px) { .srt-nav { gap:14px; } .srt-topbar-inner { gap:12px; } .srt-nav a { font-size:11px; } .srt-list { grid-template-columns:1fr; } .srt-main { padding:45px 0 70px; } .srt-footer-head { display:block; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } .srt-card,.srt-card-thumb img { transition:none; } }
