/* SENRIVA DESIGN SYSTEM 1.0 — GLOBAL FOUNDATION
   Loaded AFTER styles.css. All new components use explicit sr-* classes.
   Existing legacy selectors remain supported; tools get opt-in rather than forced restyling.
*/
:root {
  --sr-bg:#081018; --sr-surface:#101d28; --sr-surface-raised:#172532;
  --sr-border:#2b4050; --sr-text:#f4f8fb; --sr-muted:#afbdc8;
  --sr-accent:#75dac0; --sr-accent-hover:#a5f2dd; --sr-link:#a7eada;
  --sr-focus:#bdf4e6; --sr-danger:#ffb8b8;
  --sr-radius-sm:10px; --sr-radius-md:16px; --sr-radius-lg:24px;
  --sr-container:1180px; --sr-reading:72ch;
  --sr-space-1:4px; --sr-space-2:8px; --sr-space-3:12px;
  --sr-space-4:16px; --sr-space-5:24px; --sr-space-6:32px;
  --sr-space-7:48px; --sr-space-8:64px; --sr-space-9:96px;
  --sr-text-xs:.8rem; --sr-text-sm:.925rem; --sr-text-base:1rem;
  --sr-text-lg:1.125rem; --sr-h3:clamp(1.2rem,1.5vw,1.45rem);
  --sr-h2:clamp(1.85rem,3.2vw,3.15rem); --sr-h1:clamp(2.7rem,5.5vw,5rem);
}
.sr-site { background:var(--sr-bg); color:var(--sr-text); }
.sr-site :where(a,button,input,textarea,select):focus-visible {
  outline:3px solid var(--sr-focus); outline-offset:3px;
}
.sr-site :where(img,svg,video){max-width:100%;}
.sr-container{width:min(calc(100% - 40px),var(--sr-container));margin-inline:auto;}
.sr-section{padding-block:clamp(48px,7vw,88px);}
.sr-section--muted{background:rgba(255,255,255,.022);border-block:1px solid rgba(255,255,255,.04);}
.sr-section__intro{max-width:var(--sr-reading);margin-bottom:var(--sr-space-7);}
.sr-section__eyebrow,.sr-card__eyebrow{color:var(--sr-accent);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:750;}
.sr-heading--h1{font-size:var(--sr-h1);line-height:1.06;letter-spacing:-.035em;}
.sr-heading--h2{font-size:var(--sr-h2);line-height:1.12;letter-spacing:-.03em;}
.sr-heading--h3{font-size:var(--sr-h3);line-height:1.22;letter-spacing:-.02em;}
.sr-body{font-size:var(--sr-text-base);line-height:1.7;color:var(--sr-muted);}
.sr-lede{font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.65;color:var(--sr-muted);max-width:68ch;}
.sr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sr-space-5);}
.sr-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.sr-grid--auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));}
/* All cards: one base plus explicit variants; do not use a generic card shadow rule. */
.sr-card{display:flex;flex-direction:column;min-width:0;min-height:100%;gap:12px;padding:clamp(22px,2.4vw,32px);border:1px solid var(--sr-border);border-radius:var(--sr-radius-md);background:var(--sr-surface);color:var(--sr-text);text-decoration:none;box-shadow:none;}
.sr-card:where(a):hover,.sr-card:has(>a:hover){border-color:#5a9789;background:var(--sr-surface-raised);transform:translateY(-2px);}
.sr-card:where(a){transition:border-color .18s,background .18s,transform .18s;}
.sr-card__title{margin:0;font-size:var(--sr-h3);line-height:1.24;letter-spacing:-.018em;font-weight:740;}
.sr-card__body{margin:0;color:var(--sr-muted);font-size:var(--sr-text-base);line-height:1.62;}
.sr-card__action{margin-top:auto;padding-top:14px;color:var(--sr-link);font-weight:700;font-size:.95rem;}
.sr-card--featured{background:linear-gradient(135deg,#142e30,#10202c);border-color:#397265;}
.sr-card--compact{padding:24px;}
.sr-card--resource{min-height:235px;}
.sr-card--product{overflow:hidden;padding:0;}
.sr-card--product .sr-card__content{display:flex;flex:1;flex-direction:column;gap:12px;padding:28px;}
.sr-card__media{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:contain;background:#0a121a;border-bottom:1px solid var(--sr-border);}
.sr-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:var(--sr-radius-sm);font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;}
.sr-button--primary{background:var(--sr-accent);color:#071710;}
.sr-button--primary:hover{background:var(--sr-accent-hover);}
.sr-button--secondary{border-color:var(--sr-border);background:var(--sr-surface);color:var(--sr-text);}
.sr-button--secondary:hover{border-color:var(--sr-accent);}
.sr-badge{display:inline-flex;width:fit-content;align-items:center;border:1px solid var(--sr-border);border-radius:999px;padding:4px 10px;color:var(--sr-muted);font-size:.8rem;}
.sr-field{display:grid;gap:8px;}.sr-field__label{font-weight:650;color:var(--sr-text);}
.sr-input,.sr-select,.sr-textarea{width:100%;min-height:44px;border:1px solid #496071;background:#0d1822;color:var(--sr-text);border-radius:var(--sr-radius-sm);padding:10px 12px;}
.sr-helper{font-size:.875rem;color:var(--sr-muted);}
.sr-callout{padding:var(--sr-space-6);background:var(--sr-surface);border-left:3px solid var(--sr-accent);border-radius:var(--sr-radius-sm);}
.sr-divider{border:0;border-top:1px solid var(--sr-border);}
/* Unified site chrome, compatible with the existing .menu-button / .nav JS. */
.sr-site .site-header{background:rgba(8,16,24,.95);}
.sr-site .nav-wrap{min-height:76px;}
.sr-site .nav{gap:clamp(12px,1.4vw,23px);}
.sr-site .nav a{font-size:.94rem;white-space:nowrap;}
.sr-site .nav .nav-cta{padding:10px 17px;border-radius:var(--sr-radius-sm);}
.sr-site .site-footer{border-top:1px solid var(--sr-border);}
.sr-site .footer-group a{line-height:1.5;}
/* Normalize existing component styles without restyling functional tools. */
.sr-site main .grid{gap:var(--sr-space-5);}
.sr-site main :where(.card,.solution-card){border-radius:var(--sr-radius-md);}
.sr-site main :where(.card,.solution-card) h3{line-height:1.25;}
.sr-site main :where(.card,.solution-card) .card-link{margin-top:auto;}
.sr-site .page-hero{padding-block:clamp(64px,8vw,112px) clamp(48px,6vw,80px);}
.sr-site .section-heading{margin-bottom:clamp(30px,4vw,48px);}
.sr-site .section-heading p{max-width:var(--sr-reading);}
.sr-site .sr-tool-catalog{scroll-margin-top:110px;}
@media(max-width:1000px){
 .sr-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .sr-site .nav{gap:12px;}
 .sr-site .nav a{font-size:.86rem;}
}
@media(max-width:760px){
 .sr-grid,.sr-grid--2{grid-template-columns:1fr;}
 .sr-container{width:min(calc(100% - 32px),var(--sr-container));}
 .sr-site .nav{gap:0;}
 .sr-site .nav a{white-space:normal;}
 .sr-section{padding-block:52px;}
 .sr-card{padding:22px;}
}
@media(prefers-reduced-motion:reduce){
 .sr-site *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;}
}

/* V6 COMPONENT CONTRACT: site-wide, root pages + /tools/ landing page.
   Existing calculator styles remain isolated within their own pages. */
.sr-site{font-size:16px;line-height:1.6}
.sr-site .shell{width:min(calc(100% - 40px),var(--sr-container));margin-inline:auto}
.sr-site :where(.card,.solution-card,.price-card,.notice,.step,.faq details){border-radius:var(--sr-radius-md)}
.sr-site :where(.card,.solution-card){min-width:0;display:flex;flex-direction:column;gap:var(--sr-space-3)}
.sr-site :where(.card,.solution-card) :where(h2,h3){line-height:1.24;letter-spacing:-.018em}
.sr-site :where(.card,.solution-card) :where(p){line-height:1.65}
.sr-site :where(.card,.solution-card) :where(a:last-child){margin-top:auto}
.sr-site .sr-tools-disclaimer{margin-top:var(--sr-space-6)}
.sr-site .sr-card__title{overflow-wrap:anywhere}
.sr-site :where(.section-heading,.sr-section__intro){max-width:76ch}
.sr-site .footer-group{min-width:0}
.sr-site .footer-group a{display:block;padding-block:3px}
.sr-site :where(.button,.nav-cta){min-height:44px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:760px){.sr-site .shell{width:min(calc(100% - 32px),var(--sr-container))}}

/* V9 commercial component additions */
.sr-product-image{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;border-radius:12px;background:#081018;margin-bottom:1.25rem}
.sr-note{font-size:.9rem;line-height:1.6;color:var(--sr-text-muted,#aebcc7);margin-top:1rem}
.sr-founder-section .large-copy h3{margin-top:0}
.sr-card:focus-visible,.sr-button:focus-visible,.nav a:focus-visible{outline:3px solid #75dac0;outline-offset:3px}
@media(max-width:760px){.sr-product-image{aspect-ratio:auto}.sr-founder-section .split{display:block}}
