/* Refine the established design; keep the color and typography system intact. */
:root {
  --soft-shadow: 0 17px 36px #294c7621, 0 3px 9px #294c7612;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.owner-carousel {
  box-shadow:
    0 22px 48px #264c7926,
    0 5px 13px #405f7c16;
  border: 1px solid #dce5f1;
}
.owner-slides {
  background: radial-gradient(ellipse at 50% 20%, #eef8fc, #e8e9f6);
}
.owner-slides img {
  height: 350px;
  object-fit: contain;
  object-position: center center;
  background: transparent;
}
.carousel-controls {
  padding-top: 6px;
}
.carousel-controls button {
  box-shadow: 0 4px 10px #435e8f14;
  transition:
    background 0.2s,
    transform 0.2s,
    box-shadow 0.2s;
}
.carousel-controls button:hover {
  transform: translateY(-2px);
  box-shadow: 0 7px 17px #615c9630;
}
.community-photo,
.feature-image > img,
.sales-genie-panel,
.detail-aside,
.timeline article {
  box-shadow:
    0 17px 37px #294c7620,
    0 3px 9px #294c7610;
}
.community-photo img {
  height: auto;
  aspect-ratio: 1/1;
  object-fit: contain;
  background: #f5f6fb;
}
.local-shop-photo > img,
.contact-visual > img,
[data-page="about-rpc"] .feature-image > img {
  height: auto;
  aspect-ratio: 4/3;
  object-fit: contain;
  background: #eef2f8;
}
.article-hero-image {
  max-height: none;
  object-fit: contain;
}
.blog-card > img {
  height: 240px;
  object-fit: contain;
  background: linear-gradient(130deg, #f1f5ff, #edf1f8);
}
.image-note {
  max-width: calc(100% - 40px);
}
a.home-service,
a.shopping-card,
a.blog-card,
a.resource-card,
a.search-result,
.timeline article {
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}
a.shopping-card:hover,
a.blog-card:hover,
a.resource-card:hover,
a.search-result:hover {
  transform: translateY(-5px);
  box-shadow:
    0 23px 45px #294c7630,
    0 4px 11px #294c7615;
  border-color: #9d95d4;
}
a.text-link:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.button:hover {
  transform: translateY(-2px) scale(1.015);
}
a.shopping-card:hover img {
  transform: translateY(-4px) scale(1.025);
}
.header nav a:hover {
  background: #8063ce0a;
  border-radius: 5px;
}
.timeline article {
  display: flex;
  flex-direction: column;
  border: 1px solid #dce5f2;
  position: relative;
}
.timeline article:has(.story-open:hover) {
  transform: translateY(-4px);
  border-color: #b1a4df;
}
.story-open {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  border: 1px solid #c9c6e7;
  border-radius: 9px;
  background: linear-gradient(120deg, #edf5ff, #f1eafa);
  color: #60449b;
  font:
    700 10px Montserrat,
    sans-serif;
  min-height: 43px;
  padding: 12px;
  cursor: pointer;
  text-align: left;
}
.story-open:hover {
  background: #e6e0fa;
  box-shadow: 0 5px 12px #6a56861c;
}
.story-open span {
  font-size: 17px;
}
.story-dialog {
  width: min(790px, calc(100% - 30px));
  max-height: 85dvh;
  overflow: auto;
  padding: 35px 40px;
  background: linear-gradient(150deg, #fff, #f4f3fe);
  color: #234572;
  border: 1px solid #d6dced;
  border-radius: 22px;
  box-shadow: 0 30px 100px #06172e66;
}
.story-dialog::backdrop {
  background: #0b1e49aa;
  backdrop-filter: blur(6px);
}
.story-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 25px;
}
.story-dialog-head .eyebrow {
  font-size: 9px;
  margin: 0;
}
.story-dialog-head button {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #e9e9fa;
  color: #4a5384;
  border: 1px solid #c9d4e9;
  font-size: 25px;
  cursor: pointer;
  flex-shrink: 0;
}
.story-dialog h2 {
  font-size: 37px;
  margin-bottom: 25px;
}
.story-prose h3 {
  font-size: 22px;
  margin: 25px 0 15px;
  line-height: 1.4;
}
.story-prose p {
  font-size: 14px;
  color: #506b8c;
  line-height: 1.95;
}
.story-dialog > .button {
  margin-top: 18px;
}
.faith-page-hero {
  background:
    radial-gradient(ellipse at 100% 0, #e0d2f5, transparent 60%),
    linear-gradient(120deg, #fff6e6, #f2edff) !important;
}
.faith-opening {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  align-items: center;
  gap: 85px;
}
.faith-opening h2 {
  font-size: 42px;
  margin-bottom: 23px;
}
.faith-opening p {
  font-size: 14px;
  color: #566b8a;
}
.faith-page-mascot {
  float: left;
  height: 235px;
  width: auto;
  margin: 0 25px 20px 0;
  filter: drop-shadow(0 10px 8px #374c7020);
}
.faith-opening > div > p {
  clear: both;
}
.pastor-photo {
  margin: 0;
  background: white;
  padding: 15px;
  border: 1px solid #e0e5ee;
  border-radius: 22px;
  box-shadow: var(--soft-shadow);
}
.pastor-photo img {
  width: 100%;
  height: auto;
  max-height: 600px;
  object-fit: contain;
}
.pastor-photo figcaption {
  padding: 18px 10px 5px;
  font-size: 11px;
  color: #526d90;
  line-height: 1.9;
  text-align: center;
}
.faith-full-section {
  background: linear-gradient(125deg, #142d56, #282d5b);
  padding-block: 70px;
}
.faith-full-grid {
  display: grid;
  grid-template-columns: 0.65fr 1.35fr;
  gap: 65px;
  align-items: start;
}
.faith-full-grid aside {
  position: sticky;
  top: 130px;
  color: #fff;
}
.faith-full-grid aside img {
  width: 100%;
  max-height: 210px;
  object-fit: contain;
  margin-bottom: 30px;
}
.faith-full-grid aside h2 {
  font-size: 37px;
  margin-bottom: 22px;
}
.faith-full-grid aside p {
  color: #bdc8de;
  font-size: 12px;
}
.faith-message {
  background: #fffdfa;
  padding: 38px;
  border-radius: 18px;
  box-shadow: 0 20px 45px #040d2633;
}
.faith-message p {
  font-size: 14px;
  line-height: 1.95;
  color: #516785;
  margin-bottom: 23px;
  overflow-wrap: anywhere;
}
.faith-message h3 {
  font-size: 25px;
  color: #38567c;
  margin-bottom: 24px;
}
.faith-message .faith-closing {
  border-top: 1px solid #ddd8e9;
  padding-top: 24px;
  font-weight: 800;
  color: #76598f;
}
.faith-return {
  max-width: 900px;
}
.faith-return h2 {
  margin-bottom: 25px;
}
.faith-return p {
  color: #526c90;
  font-size: 14px;
}
.warranty-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  gap: 40px;
}
.warranty-layout .article-body h3 {
  margin: 24px 0 18px;
  font-size: 25px;
  line-height: 1.4;
}
.warranty-layout aside h2 {
  font-size: 26px;
  margin-bottom: 24px;
}
@media (max-width: 760px) {
  .owner-slides img {
    height: 300px;
  }
  .community-photo img {
    aspect-ratio: auto;
  }
  .blog-card > img {
    height: 195px;
  }
  .timeline {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }
  .timeline article {
    padding: 18px;
  }
  .timeline article p {
    font-size: 11px;
  }
  .timeline h3 {
    font-size: 20px;
  }
  .story-open {
    font-size: 9px;
    padding: 10px;
    gap: 5px;
    line-height: 1.5;
  }
  .story-dialog {
    padding: 24px 22px;
    max-height: 88dvh;
  }
  .story-dialog h2 {
    font-size: 29px;
  }
  .story-prose p {
    font-size: 13px;
  }
  .story-dialog-head .eyebrow {
    font-size: 7px;
  }
  .faith-opening {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .faith-opening h2 {
    font-size: 33px;
  }
  .faith-opening p {
    font-size: 13px;
  }
  .faith-page-mascot {
    height: 190px;
    margin-right: 20px;
  }
  .pastor-photo {
    max-width: 440px;
    margin-inline: auto;
  }
  .faith-full-section {
    padding-block: 45px;
  }
  .faith-full-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .faith-full-grid aside {
    position: static;
  }
  .faith-full-grid aside img {
    max-width: 330px;
    max-height: 140px;
    margin-inline: auto;
  }
  .faith-full-grid aside h2 {
    font-size: 32px;
  }
  .faith-message {
    padding: 25px 22px;
  }
  .faith-message p {
    font-size: 13px;
  }
  .faith-return h2 {
    font-size: 32px;
  }
  .warranty-layout {
    grid-template-columns: 1fr;
  }
  .owner-carousel {
    box-shadow:
      0 14px 32px #264c7924,
      0 3px 8px #405f7c15;
  }
}
@media (max-width: 380px) {
  .timeline {
    grid-template-columns: 1fr;
  }
  .story-open {
    font-size: 11px;
  }
  .timeline article p {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
  .button:hover,
  a.shopping-card:hover,
  a.blog-card:hover,
  a.resource-card:hover,
  a.search-result:hover,
  a.home-service:hover {
    transform: none;
  }
  .shopping-card:hover .shopping-image img {
    transform: none !important;
  }
}
.expertise-photo > img,
.feature-image > img {
  object-fit: contain;
  height: auto;
  max-height: 460px;
  aspect-ratio: 4/3;
  background: linear-gradient(130deg, #e9eef9, #e9e8f5);
}
.hero-mascot,
.faith-character {
  object-fit: contain;
}
.shopping-card img,
.community-photo img,
.local-shop-photo img {
  transition: transform 0.25s ease;
}
.community-photo,
.local-shop-photo {
  overflow: hidden;
}
.local-shop-photo:has(a:hover) {
  box-shadow: 0 24px 48px #294c762b;
}
.story-dialog button:focus-visible {
  outline: 3px solid #a588da;
  outline-offset: 4px;
}
.story-dialog-head button:hover {
  background: #dcd6f4;
}
[data-page="micro-soldering"] .service-hero-art img,
[data-page="advanced-diagnostics"] .service-hero-art img {
  object-fit: contain;
  mix-blend-mode: normal;
}
.promise-open {
  margin-top: 25px;
  width: 100%;
  max-width: 330px;
  font-size: 11px;
}
.faith-full-grid aside img {
  background: linear-gradient(140deg, #f7f4ef, #e9e3f3);
  padding: 18px;
  border-radius: 15px;
  border: 1px solid #ffffff70;
  box-shadow: 0 10px 23px #070d2726;
}

/* Source-backed sales listings; preserve complete product photographs. */
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:40px 0; }
.product-card { min-width:0; background:#fff; border:1px solid #dce5f2; border-radius:24px; overflow:hidden; box-shadow:0 14px 38px #284b7914; transition:transform .2s,box-shadow .2s; }
.product-card:hover { transform:translateY(-4px); box-shadow:0 22px 46px #284b7926; }
.product-image { padding:24px; aspect-ratio:5/4; display:grid; place-items:center; background:linear-gradient(135deg,#e8f6ff,#f1eaff 65%,#ffe9ed); }
.product-image img { width:100%; height:100%; max-height:230px; object-fit:contain; object-position:center; }
.product-copy { padding:24px; }
.product-copy h2 { font-size:1.3rem; line-height:1.3; }
.product-price { font-weight:900; font-size:1.8rem; color:#354cb5; margin:14px 0; }
.product-copy dl { font-size:.85rem; }
.product-copy dl div { padding:9px 0; border-bottom:1px solid #e7ecf4; }
.product-copy dt { font-weight:800; }
.product-copy dd { margin:3px 0 0; overflow-wrap:anywhere; }
.product-copy details { margin:20px 0; font-size:.85rem; }
.product-copy summary { cursor:pointer; font-weight:800; padding:10px 0; }
.product-copy li { margin:8px 0; }
.catalog-notice { padding:30px; border-radius:24px; background:linear-gradient(125deg,#eef8ff,#f1ecff,#fff0eb); }
.catalog-notice h2 { font-size:clamp(1.4rem,3vw,2rem); }
@media(max-width:1000px) { .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .product-grid { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .product-card { transition:none; } .product-card:hover { transform:none; } }

/* Compact, coordinated inventory cards with keyboard and pointer feedback. */
.product-grid { align-items:start; gap:24px; }
.product-card { --product-accent:#80adff; border:1px solid #d8e3f5; transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease; }
.product-card:nth-child(3n+2) { --product-accent:#b399f4; }
.product-card:nth-child(3n) { --product-accent:#65cfcb; }
.product-card:hover,.product-card:focus-within { border-color:var(--product-accent); box-shadow:0 20px 44px #26467e20,0 0 25px color-mix(in srgb,var(--product-accent) 28%,transparent); transform:translateY(-5px); }
.product-image { height:auto; aspect-ratio:5/4; padding:18px; overflow:hidden; }
.product-image img { height:100%; width:100%; max-height:none; min-height:0; object-fit:contain; transition:transform .35s ease; }
.product-card:hover .product-image img { transform:scale(1.035); }
.product-copy { padding:20px; display:flex; flex-direction:column; }
.product-copy h2 { min-height:3.9em; font-size:1.15rem; margin:8px 0 0; }
.product-availability { color:#24665e; font-size:.7rem; font-weight:700; margin:0; }
.product-availability span { color:#5d8c9b; margin-right:5px; }
.product-price { margin:8px 0; font-size:1.85rem; line-height:1.25; }
.product-price span { display:block; font-size:.65rem; font-weight:700; color:#53647a; }
.product-description { font-size:.8rem; line-height:1.5; min-height:3em; margin:5px 0 12px; }
.product-copy dl { margin:0; font-size:.74rem; }
.product-copy dl div { display:grid; grid-template-columns:83px 1fr; gap:8px; padding:8px 0; min-height:43px; align-items:center; }
.product-copy dd { margin:0; line-height:1.35; }
.product-copy dt { color:#53647a; }
.product-details { border:1px solid #dbe4f2; border-radius:12px; margin:16px 0 !important; padding:0 12px; background:#f5f8ff; }
.product-details summary { display:flex; justify-content:space-between; gap:8px; padding:12px 0; color:#354cb5; font-size:.78rem; }
.product-details ul { padding-left:18px; }
.product-inquiry { width:100%; justify-content:center; padding:12px 9px; font-size:.7rem; }
.catalog-notice { display:flex; justify-content:space-between; align-items:center; gap:25px; }
.catalog-notice > div { max-width:700px; }
.catalog-notice .button { flex-shrink:0; }
.protection-hero { display:grid; grid-template-columns:1.7fr 1fr; align-items:center; gap:50px; }
.protection-hero h1 { font-size:clamp(2.6rem,5.5vw,5rem); }
.protection-seal { position:relative; text-align:center; border:1px solid #bccfff; border-radius:40px; padding:30px 20px; background:radial-gradient(ellipse at 30% 20%,#d3fbff,transparent 65%),linear-gradient(135deg,#eef3ff,#e2d8ff); box-shadow:0 20px 65px #7786e029,inset 0 1px 0 #fff; color:#1a397b; }
.protection-seal > span { display:block; font-size:3rem; line-height:1; }
.protection-seal > strong { font-size:clamp(5rem,10vw,8rem); line-height:1.15; font-weight:900; letter-spacing:-.08em; }
.protection-seal strong span { display:inline-block; font-size:1.2rem; letter-spacing:.08em; margin-left:10px; }
.protection-seal p { margin-bottom:0; font-size:.85rem; line-height:1.8; }
.coverage-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:30px 0; }
.coverage-card { padding:30px; border-radius:24px; background:linear-gradient(145deg,#e7f6ff,#f0edff); border:1px solid #d6e2f5; }
.coverage-card:nth-child(2) { background:linear-gradient(145deg,#e4f9f7,#eef4ff); }
.coverage-card h3 { font-size:1.4rem; margin:16px 0; }
.coverage-card p { font-size:.9rem; }
.coverage-card > strong { display:block; font-size:.95rem; color:#264ea4; }
.coverage-number { font-weight:900; font-size:2.2rem; color:#526cbb; letter-spacing:-.06em; }
.coverage-terms { border:1px solid #d7e1f1; border-radius:18px; padding:0 24px; }
.coverage-terms summary { font-weight:800; cursor:pointer; padding:22px 0; }
.coverage-terms > div { padding:0 0 22px; max-width:850px; font-size:.9rem; }
.optional-care { background:radial-gradient(ellipse at 5% 30%,#33518a66,transparent 45%),radial-gradient(ellipse at 95% 70%,#703e9255,transparent 45%),#0c1c38; color:#edf3ff; }
.optional-care .eyebrow { color:#acd9ff; }
.optional-care .section-heading { display:block; max-width:820px; }
.optional-care h2 em { color:#9edee5; }
.optional-care .section-heading p { color:#c8d6ec; }
.plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:40px 0 25px; align-items:start; }
.plan-card { --plan-glow:#74aaff; padding:28px; border:1px solid #7da9e966; border-radius:25px; background:linear-gradient(145deg,#234c7f,#172d55); box-shadow:0 16px 45px #0002; display:flex; flex-direction:column; transition:transform .25s,box-shadow .25s,border-color .25s; }
.plan-extend { --plan-glow:#bda2ff; background:linear-gradient(145deg,#524582,#28234f); border-color:#b394ec66; }
.plan-value { --plan-glow:#68dbc8; background:linear-gradient(145deg,#1f686d,#153d4c); border-color:#72dfd166; }
.plan-card:hover,.plan-card:focus-within { transform:translateY(-5px); border-color:var(--plan-glow); box-shadow:0 20px 50px #0003,0 0 30px color-mix(in srgb,var(--plan-glow) 22%,transparent); }
.plan-icon { font-size:2rem; border-radius:17px; width:62px; height:62px; display:grid; place-items:center; color:#fff; background:#ffffff16; border:1px solid #ffffff22; margin-bottom:24px; }
.plan-card .eyebrow { min-height:2.8em; font-size:.7rem; color:#d9e9ff; margin:0; }
.plan-price { font-weight:900; font-size:clamp(2.5rem,4vw,3.6rem); letter-spacing:-.06em; line-height:1.1; margin:12px 0 20px; color:#fff; }
.plan-card h3 { font-size:1.25rem; line-height:1.4; min-height:2.8em; margin:0 0 15px; }
.plan-card > p:not(.plan-price):not(.eyebrow) { min-height:10em; font-size:.85rem; line-height:1.65; color:#d8e4f6; }
.plan-card details { font-size:.8rem; line-height:1.7; margin:0 0 20px; border-top:1px solid #ffffff28; }
.plan-card summary { cursor:pointer; padding:15px 0; font-weight:800; display:flex; justify-content:space-between; gap:8px; }
.plan-card ul { padding-left:18px; }
.plan-card li { margin:9px 0; }
.plan-card .button { background:#eef5ff; color:#193858; border:0; width:100%; font-size:.7rem; padding:13px 9px; }
.plan-footnote { text-align:center; font-size:.85rem; color:#c9d8ee; }
.plan-footnote a { color:#a6e4ed; }
.product-card a:focus-visible,.plan-card a:focus-visible,details summary:focus-visible { outline:3px solid #d29935; outline-offset:4px; border-radius:8px; }
/* Sharp original artwork, without the former artificial glow. */
footer { background:linear-gradient(115deg,#eef5ff,#e9eff9 55%,#f2ecff); color:#253e62; border-top:1px solid #d0def0; }
footer .footer-brand,footer .footer-brand img { filter:none; box-shadow:none; background:none; border:0; }
footer .footer-brand { width:205px; padding:0; }
footer .footer-brand img { height:auto; width:205px; max-width:100%; object-fit:contain; }
footer .footer-grid > div > a:not(.brand) { color:#3c5475; }
footer .footer-grid h3 { color:#213e67; }
footer .footer-bottom { color:#47617e; border-color:#cbd8e9; }
@media(max-width:1000px) { .plan-grid { gap:16px; } .plan-card { padding:22px; } }
@media(max-width:760px) { .protection-hero,.coverage-grid,.plan-grid { grid-template-columns:1fr; } .protection-seal { max-width:390px; width:100%; margin:auto; } .catalog-notice { display:block; } .catalog-notice .button { margin-top:16px; } .plan-card h3,.plan-card .eyebrow,.plan-card > p:not(.plan-price):not(.eyebrow) { min-height:0; } }
@media(prefers-reduced-motion:reduce) { .product-card,.product-image img,.plan-card { transition:none; } .product-card:hover,.product-card:focus-within,.plan-card:hover,.plan-card:focus-within,.product-card:hover .product-image img { transform:none; } }
.product-copy dl div { min-height:52px; }
.product-description { min-height:4.5em; }
.product-price { min-height:66px; display:flex; flex-direction:column; justify-content:end; }
.product-price span { min-height:14px; }
#inquiry-context { grid-column:1/-1; }
#inquiry-context[hidden] { display:none; }
.product-copy h2 { min-height:2.6em; }
.product-price { min-height:51px; }
footer .footer-grid p { color:#4d617d; }
.contact-form-section { display:grid; grid-template-columns:.8fr 1.4fr; gap:45px; align-items:start; }
.contact-introduction h2 { font-size:clamp(2rem,4vw,3.2rem); }
.contact-introduction > p { max-width:390px; }
.contact-introduction > img { width:85%; max-width:300px; height:300px; object-fit:contain; margin:20px 0; }
.contact-introduction a { color:#3658ae; font-weight:800; }
.contact-form-panel { border:1px solid #dbe5f3; border-radius:26px; background:linear-gradient(155deg,#fff,#f5f8ff); padding:35px; box-shadow:0 20px 55px #34548413; }
.contact-form-panel h2 { font-size:1.8rem; }
.form-intro { font-size:.8rem; color:#52637a; margin:12px 0 25px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-grid label { display:block; font-weight:800; font-size:.75rem; color:#284268; }
.form-grid label span { font-weight:500; }
.form-wide { grid-column:1/-1; }
.form-grid input:not([type=file]),.form-grid textarea { display:block; width:100%; border:1px solid #c2d0e3; border-radius:11px; background:#fff; color:#233b59; padding:13px 14px; margin-top:8px; font:500 .85rem/1.5 Montserrat,sans-serif; }
.form-grid input:focus,.form-grid textarea:focus { outline:3px solid #9bb9f480; border-color:#5a7ec4; }
.form-grid textarea { resize:vertical; min-height:160px; max-height:500px; }
.form-grid [hidden],#contact-form[hidden],.contact-success[hidden] { display:none; }
.contact-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.attachment-field { border:1px dashed #a9bedb; background:#edf3ff; padding:20px; border-radius:15px; }
#attachment-help,.attachment-privacy { font-size:.7rem; line-height:1.7; color:#4a607b; margin:8px 0 12px; }
#contact-files { width:100%; font-size:.7rem; }
#contact-files::file-selector-button { border:1px solid #b4c9e4; border-radius:8px; background:#fff; color:#2d4c85; font:700 .7rem Montserrat,sans-serif; padding:10px; margin-right:8px; cursor:pointer; }
#attachment-list { padding:0; list-style:none; margin:15px 0 0; }
#attachment-list li { display:flex; justify-content:space-between; align-items:center; gap:10px; border-top:1px solid #cfdcf0; padding:10px 0; font-size:.7rem; }
#attachment-list span { overflow-wrap:anywhere; min-width:0; }
#attachment-list button { background:#fff; border:1px solid #bdcce3; color:#304d86; border-radius:7px; padding:7px; font:700 .65rem Montserrat,sans-serif; cursor:pointer; }
#attachment-status { font-size:.7rem; color:#85422f; }
#contact-form-status { font-size:.8rem; padding:15px; background:#e9f0fc; border-radius:12px; line-height:1.7; }
.form-actions { display:flex; flex-wrap:wrap; gap:15px; align-items:center; margin-top:20px; }
.form-actions .text-link { background:none; border:0; font:700 .7rem Montserrat,sans-serif; color:#3b59a1; cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.6; }
.contact-success { padding:45px 15px; text-align:center; outline:none; }
.contact-success h2 { font-size:clamp(2rem,5vw,3.5rem); }
.contact-success p { font-size:.9rem; line-height:1.8; }
.success-check { display:grid; place-items:center; width:85px; height:85px; border-radius:50%; background:linear-gradient(145deg,#c3f3e9,#bcddff); color:#276d60; font-size:2.8rem; margin:0 auto 25px; box-shadow:0 12px 35px #5eaea82b; }
.contact-receipt { color:#5d728e; font-size:.75rem !important; }
@media(max-width:900px) { .contact-form-section { grid-template-columns:1fr; } .contact-introduction > img { display:none; } .contact-introduction > p { max-width:100%; } }
@media(max-width:550px) { .contact-form-panel { padding:22px; } .form-grid { grid-template-columns:1fr; } .form-actions { display:grid; } }
.contact-success { scroll-margin-top:120px; }
.genie-details { margin:24px 0; border:1px solid #8aabd455; border-radius:15px; background:#ffffff09; padding:0 18px; font-size:.8rem; }
.genie-details summary { cursor:pointer; padding:17px 0; font-weight:800; color:#c5e7ff; }
.genie-details li { color:#d8e5f9; margin:12px 0; line-height:1.7; }
.genie-details p { font-size:.8rem; }
.service-explainer { border:1px solid #d2e1f1; border-radius:17px; background:linear-gradient(130deg,#f1f8ff,#f1edff); margin:18px 0; overflow:hidden; transition:border-color .2s,box-shadow .2s; }
.service-explainer:hover,.service-explainer:focus-within { border-color:#9cadd7; box-shadow:0 10px 26px #526ca51a; }
.service-explainer summary { cursor:pointer; display:flex; justify-content:space-between; gap:15px; padding:20px 24px; font-size:.9rem; font-weight:800; color:#36538c; }
.service-explainer summary span { font-size:1.2rem; flex-shrink:0; }
.service-explainer[open] summary { border-bottom:1px solid #d7e0f0; }
.service-explainer > div { background:#fff; padding:8px 24px 18px; }
.service-explainer > div > h3 { font-size:1.05rem; }
@media(prefers-reduced-motion:reduce) { .service-explainer { transition:none; } }
.blog-category-nav { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 24px; }
.blog-category-nav a { border:1px solid #c5d4ea; border-radius:100px; padding:11px 17px; color:#3c5782; background:#fff; font-size:.72rem; font-weight:800; transition:background .2s,border-color .2s,box-shadow .2s; }
.blog-category-nav a[aria-current=page] { color:#fff; background:linear-gradient(120deg,#3b72d6,#7150bc); border-color:transparent; }
.blog-category-nav a:hover { border-color:#8a9acf; box-shadow:0 8px 20px #516fb41c; }
.blog-category-nav a:focus-visible { outline:3px solid #d8a745; outline-offset:3px; }
.blog-meta { display:flex; flex-wrap:wrap; gap:8px 16px; color:#5b6c85 !important; font-size:.68rem !important; font-weight:600; line-height:1.6; margin:0 0 15px; }
.blog-count { color:#536b8b; font-size:.8rem; margin-bottom:24px; }
.blog-card-copy { padding:24px; }
.blog-card-copy h2 { margin-top:0; }
.blog-card > .blog-card-copy { width:100%; }
.article-metadata { padding-top:30px; }
.article-metadata > .blog-meta { font-size:.8rem !important; }
.article-links li { margin:12px 0; overflow-wrap:anywhere; }
@media(prefers-reduced-motion:reduce) { .blog-category-nav a { transition:none; } }
.blog-card:has(.blog-card-copy) { padding:0; overflow:hidden; }
.blog-card:has(.blog-card-copy) > img { width:100%; max-width:100%; margin:0; height:240px; object-fit:contain; }
.blog-card-copy h2 { font-size:clamp(1.15rem,2.1vw,1.6rem); line-height:1.45; margin-bottom:16px; }
.blog-card-copy .card-link { margin-top:20px; }
/* Native RodgersPC software library. */
.library-hero { display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:35px; }
.library-hero h1 { font-size:clamp(2.7rem,5.8vw,5.7rem); }
.library-trust { display:flex; flex-wrap:wrap; gap:15px; font-size:.7rem; font-weight:700; color:#45628e; margin-top:25px; }
.library-trust span { display:flex; align-items:center; gap:6px; }
.library-trust .icon { width:19px; height:19px; }
.library-hero-art { position:relative; height:320px; isolation:isolate; }
.library-orbit { position:absolute; width:270px; height:270px; top:10px; left:15%; border:1px solid #9c9cdc66; border-radius:50%; transform:rotate(-25deg); background:radial-gradient(ellipse,#b9ddf344,transparent 70%); }
.library-orbit.orbit-two { width:330px; height:180px; top:70px; left:5%; transform:rotate(30deg); border-color:#74b6bd66; }
.library-platform-tile { width:155px; height:155px; position:absolute; border:1px solid #ffffffa8; border-radius:30px; display:grid; place-items:center; box-shadow:0 18px 45px #536b9a26,inset 0 1px 0 #fff; }
.tile-windows { top:12px; left:9%; background:linear-gradient(135deg,#e4fbff,#b8d4ff); transform:rotate(-11deg); }
.tile-mac { top:118px; right:7%; background:linear-gradient(145deg,#fff2e3,#eed9ff); transform:rotate(10deg); }
.library-platform-tile img { width:95px; height:95px; object-fit:contain; }
.library-art-label { position:absolute; left:1%; bottom:7px; font-weight:900; font-size:.8rem; line-height:1.5; color:#50669a; }
.library-browser-heading { display:flex; gap:35px; justify-content:space-between; align-items:center; margin-bottom:32px; }
.library-browser-heading h2 { font-size:clamp(1.6rem,3.3vw,2.5rem); }
.library-os-toggle { display:flex; border:1px solid #c8d8ed; background:#e7edf9; padding:7px; gap:7px; border-radius:21px; }
.library-os-toggle button { display:flex; align-items:center; gap:12px; padding:17px 22px; border:1px solid transparent; border-radius:15px; color:#455f83; background:transparent; font:800 .9rem Montserrat,sans-serif; cursor:pointer; transition:background .2s,box-shadow .2s; }
.library-os-toggle button[aria-pressed=true] { background:linear-gradient(130deg,#fff,#eef7ff); border-color:#b6cbed; color:#234d9d; box-shadow:0 7px 20px #284f861c; }
.library-os-toggle img { width:34px; height:34px; object-fit:contain; }
.library-os-toggle small { display:block; font-size:.6rem; font-weight:500; margin-top:5px; text-align:left; }
.library-filters { display:grid; grid-template-columns:1.6fr 1fr auto; gap:18px; align-items:end; background:linear-gradient(125deg,#edf5ff,#f2edff); border:1px solid #dce3f5; border-radius:20px; padding:24px; }
.library-filters label { display:block; font-size:.7rem; font-weight:800; color:#3c527a; }
.library-filters input,.library-filters select { display:block; width:100%; margin-top:9px; border:1px solid #c0cfe6; border-radius:10px; padding:14px; font:500 1rem Montserrat,sans-serif; color:#284267; background:#fff; height:52px; }
.library-filters button { font-size:.7rem; }
.library-results-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:25px 0; color:#516682; font-size:.78rem; }
.library-results-heading > span { padding:8px 12px; border-radius:100px; background:#e8edf9; color:#3f5790; font-size:.65rem; font-weight:800; white-space:nowrap; }
.software-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.software-card { --software-accent:#87b7ed; display:flex; flex-direction:column; min-width:0; background:linear-gradient(150deg,#fff,#f8fbff); border:1px solid #d8e3f0; padding:25px; border-radius:23px; box-shadow:0 12px 30px #3b588713; transition:transform .23s,border-color .23s,box-shadow .23s; }
.software-card.hue-1 { --software-accent:#a992da; }.software-card.hue-2 { --software-accent:#60c3bb; }.software-card.hue-3 { --software-accent:#e4af88; }
.software-card:hover,.software-card:focus-within { transform:translateY(-4px); border-color:var(--software-accent); box-shadow:0 20px 40px #385b8c1a,0 0 23px color-mix(in srgb,var(--software-accent) 22%,transparent); }
.software-card-top { display:flex; gap:15px; align-items:center; justify-content:space-between; margin-bottom:20px; }
.software-icon { flex-shrink:0; width:62px; height:62px; display:grid; place-items:center; background:color-mix(in srgb,var(--software-accent) 18%,white); border:1px solid color-mix(in srgb,var(--software-accent) 35%,white); border-radius:18px; color:#3c639b; }
.software-icon img { width:34px; height:34px; object-fit:contain; }
.software-category { text-align:right; color:#556985; font-size:.62rem; font-weight:700; line-height:1.6; }
.software-card h3 { font-size:1.15rem; font-weight:900; margin:0 0 14px; }
.software-description { font-size:.8rem; line-height:1.8; color:#53667f; margin:0 0 18px; }
.software-note { padding:12px; border-radius:10px; background:#edf1fb; font-size:.7rem; line-height:1.7; }
.software-details { font-size:.72rem; margin:0 0 20px; border-top:1px solid #dbe4f1; }
.software-details summary { cursor:pointer; display:flex; justify-content:space-between; gap:12px; padding-top:14px; font-weight:800; color:#48629b; }
.software-details p { margin:12px 0 0; color:#4a607d; line-height:1.8; }
.software-actions { margin-top:auto; padding-top:8px; }
.software-download { width:100%; justify-content:center; font-size:.7rem; padding:12px 10px; }
.software-domain { display:block; text-align:center; font-size:.6rem; color:#61758b; margin-top:11px; overflow-wrap:anywhere; }
.software-direct { display:block; text-align:center; margin:14px 0 0; font-size:.7rem; }
.software-retired { align-self:start; color:#775638; background:#fff1dd; padding:5px 9px; border-radius:7px; font-size:.6rem; font-weight:800; margin-bottom:13px; }
.software-card[hidden],[data-download-platform][hidden],.software-note[hidden],.library-empty[hidden],#library-more[hidden] { display:none; }
.library-more { display:flex; justify-content:center; margin:35px 0 50px; }
.library-empty { text-align:center; border:1px dashed #b6c9e5; border-radius:22px; padding:50px 25px; background:#edf3ff; }
.library-empty > span { font-size:3rem; color:#6b7cb7; }
.library-empty p { font-size:.9rem; margin:15px auto 25px; max-width:600px; }
.library-guidance { display:grid; grid-template-columns:1.2fr 1fr; gap:35px; padding:30px; border-radius:22px; background:linear-gradient(130deg,#e7f5ff,#ece8ff,#fff0e9); }
.library-guidance h3 { font-size:1.15rem; margin-bottom:14px; }.library-guidance p { font-size:.8rem; line-height:1.8; }
.library-os-toggle button:focus-visible,.library-filters :focus-visible,.software-card a:focus-visible,.software-details summary:focus-visible { outline:3px solid #d8a04f; outline-offset:4px; }
@media(max-width:1050px) { .library-browser-heading { flex-direction:column; align-items:start; }.library-hero { grid-template-columns:1.3fr 1fr; }.library-platform-tile { width:125px; height:125px; }.library-platform-tile img { width:78px; height:78px; }.library-orbit { left:0; width:230px; height:230px; }.library-orbit.orbit-two { width:260px; height:150px; }.software-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.library-filters { grid-template-columns:1.3fr 1fr; }.library-filters button { grid-column:1/-1; justify-self:start; } }
@media(max-width:650px) { .library-hero { grid-template-columns:1fr; }.library-hero-art { height:245px; width:280px; max-width:100%; margin:auto; }.library-art-label { font-size:.65rem; bottom:0; }.library-browser-heading { gap:23px; }.library-os-toggle { width:100%; }.library-os-toggle button { flex:1; padding:14px 12px; justify-content:center; }.library-filters { grid-template-columns:1fr; padding:20px; }.software-grid { grid-template-columns:1fr; }.library-guidance { grid-template-columns:1fr; gap:20px; padding:25px; }.library-results-heading { align-items:start; }.software-card { padding:23px; } }
@media(prefers-reduced-motion:reduce) { .software-card,.library-os-toggle button { transition:none; }.software-card:hover,.software-card:focus-within { transform:none; } }
.footer-share { background:#fff9; border:1px solid #c1cfe3; color:#355382; border-radius:9px; padding:10px 14px; font:800 .65rem Montserrat,sans-serif; cursor:pointer; }
.share-dialog { width:min(650px,calc(100% - 30px)); max-height:90dvh; overflow:auto; border:1px solid #d5def1; border-radius:25px; padding:30px; background:linear-gradient(145deg,#fff,#f0f4ff); color:#24416d; box-shadow:0 30px 90px #06173055; }
.share-dialog::backdrop { background:#10213b99; backdrop-filter:blur(4px); }
.share-dialog-top { display:flex; justify-content:space-between; gap:20px; }
.share-dialog h2 { font-size:2rem; margin:8px 0 20px; }
.share-dialog-top > button { align-self:start; width:40px; height:40px; border:1px solid #c1cfe5; background:#e9edfa; border-radius:50%; font-size:1.5rem; color:#4c6090; cursor:pointer; }
.share-dialog > p { font-size:.8rem; line-height:1.8; }
.share-platforms { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:23px 0; }
.share-platforms a { display:block; text-align:center; font-size:.7rem; font-weight:800; padding:13px 6px; border:1px solid #cbd7eb; border-radius:10px; background:#fff; color:#3a5a96; }
.share-label { display:block; font-size:.75rem; font-weight:800; margin:20px 0 9px; }
#share-caption { width:100%; padding:15px; border:1px solid #bdcde4; border-radius:12px; background:#fff; color:#3d567b; font:500 .8rem/1.7 Montserrat,sans-serif; resize:vertical; }
.share-platform-note,.share-preview-note { font-size:.65rem !important; color:#59708e; }
.share-copy-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.share-copy-actions .button { font-size:.68rem; }
.share-copy-actions [hidden],.share-preview-note[hidden] { display:none; }
#share-status { min-height:1.8em; font-weight:700; color:#276c67; }
.community-review { display:grid; grid-template-columns:1fr auto; gap:40px; border-top:1px solid #d8e2f1; }
.community-review h2 { font-size:clamp(1.8rem,3.6vw,2.9rem); }
.community-review > div > p { max-width:720px; font-size:.9rem; line-height:1.9; }
.business-profile-links { display:flex; flex-wrap:wrap; gap:14px 22px; margin-top:25px; }
.business-profile-links a { font-size:.72rem; font-weight:700; color:#486097; text-decoration:underline; text-underline-offset:4px; }
.review-qr { width:270px; border:1px solid #d3dfee; border-radius:18px; padding:16px; align-self:start; background:#fff; }
.review-qr summary { font-weight:800; font-size:.75rem; cursor:pointer; line-height:1.7; }
.review-qr img { display:block; width:100%; height:auto; object-fit:contain; background:#fff; margin-top:18px; }
.review-qr p { font-size:.65rem; line-height:1.8; color:#536b8b; }
.footer-share:focus-visible,.share-dialog :focus-visible,.community-review a:focus-visible { outline:3px solid #d5a354; outline-offset:4px; }
@media(max-width:760px) { .community-review { grid-template-columns:1fr; }.review-qr { width:270px; max-width:100%; }.share-dialog { padding:23px; }.share-platforms { grid-template-columns:1fr 1fr; } }
.share-image-preview { display:block; width:100%; height:auto; aspect-ratio:1200/630; object-fit:contain; border:1px solid #d2def0; border-radius:14px; margin:20px 0; box-shadow:0 10px 25px #526f9c17; }
.library-category-description { font-size:.8rem; color:#526a8b; line-height:1.8; margin:22px 0 0; }
.library-category-description[hidden] { display:none; }
/* Friendly, deterministic parent navigation also works for direct/new-tab visits. */
.section-back-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:1.5rem;padding-bottom:1rem}.section-back-button,.section-home-button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:52px;padding:.8rem 1.2rem;border-radius:14px;border:1px solid #b8cde9;background:#fff;color:#214e83;font-size:.95rem;font-weight:800;line-height:1.5;box-shadow:0 6px 18px #2547790c;transition:background .18s,border-color .18s}.section-back-button>span{font-size:1.3rem;line-height:1}.section-back-button:hover,.section-home-button:hover{background:#edf4ff;border-color:#7b9fcf}.section-home-button{color:#4b607c;background:#f5f8ff;font-size:.88rem}.section-back-controls:last-child{padding-top:1rem;padding-bottom:2rem}@media(max-width:700px){.section-back-controls{gap:.6rem;padding-top:1.1rem}.section-back-button{font-size:.92rem;text-align:center;white-space:normal}.section-back-button,.section-home-button{min-height:52px}}@media(prefers-reduced-motion:reduce){.section-back-button,.section-home-button{transition:none}}

/* Premium refinement: shared identities, reading surfaces, and deliberate visual rhythm. */
.brand-mark{display:inline-block;width:42px;height:42px;object-fit:contain;flex-shrink:0;vertical-align:middle}
.button .brand-mark{width:24px;height:24px;margin-right:3px}
.device-visual{position:relative;display:block;width:180px;max-width:100%;height:130px}
.device-visual>svg{display:block;width:100%;height:100%}
.device-visual .brand-mark{position:absolute;right:0;bottom:6px;width:37px;height:37px;padding:6px;background:white;border:1px solid #d2dff1;border-radius:11px;box-shadow:0 4px 12px #234b7e18}
.technology-showcase{margin-top:48px;padding:32px;border:1px solid #d2dfef;border-radius:24px;background:linear-gradient(125deg,#f4f9ff,#f4f0fc);box-shadow:0 12px 32px #22476e0b}
.technology-showcase h3{font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:-.035em;margin:10px 0}
.technology-showcase>div>p:not(.eyebrow){font-size:.95rem;color:#526781}
.technology-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:26px}
.technology-logos>span{display:grid;place-items:center;min-height:90px;padding:18px;background:#fff;border:1px solid #dce5f1;border-radius:16px}
.technology-logos img{width:100%;max-width:100px;height:48px;object-fit:contain;filter:none}
.technology-showcase .technology-caption{font-size:.72rem;line-height:1.8;color:#586b85;margin:20px 0 0;max-width:700px}
.software-icon{background:#fff!important;border:1px solid #d6e1f0;box-shadow:0 5px 16px #264d7910;width:64px!important;height:64px!important;padding:11px;border-radius:17px;display:grid;place-items:center;flex-shrink:0}
.software-icon img{width:100%;height:100%;object-fit:contain;filter:none}
.software-card .software-description{font-size:.95rem;line-height:1.85;color:#435c7c}
.software-card .software-domain{font-size:.74rem;color:#5a6a82}
.software-card .software-category{font-size:.69rem;line-height:1.6}
.story-dialog{width:min(900px,calc(100% - 28px));padding:0;scroll-padding-top:100px;background:#fffdfb}
.story-dialog-head{position:sticky;top:0;z-index:2;padding:18px 30px;margin:0;background:#edf3fcf5;border-bottom:1px solid #d8e2f1;backdrop-filter:blur(10px)}
.story-dialog-head .eyebrow{font-size:.65rem;line-height:1.7;color:#405779}
.story-dialog-head button{width:46px;height:46px;background:#fff}
.story-dialog>h2{margin:0;padding:35px 48px 24px;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.18;letter-spacing:-.035em;background:linear-gradient(125deg,#edf5ff,#f5efff)}
.story-prose{max-width:760px;margin:auto;padding:30px 48px 10px;counter-reset:story}
.story-prose p{font-size:1rem;line-height:1.95;color:#354e6f;margin:0 0 23px;letter-spacing:normal}
.story-prose h3{font-size:1.4rem;line-height:1.45;color:#264679;border-top:1px solid #d6dfed;padding-top:24px;margin:30px 0 16px}
.story-prose p:first-child{font-weight:600;color:#253f62;font-size:1.08rem}
.story-prose p:last-child{padding:19px 22px;border-left:3px solid #7d72c9;border-radius:0 14px 14px 0;background:#f2effb;color:#34486c}
.story-dialog>.button{margin:10px 48px 32px;min-height:48px}
.story-reassurance{display:flex;align-items:center;gap:20px;padding:24px 48px;background:#f6f9fe;border-top:1px solid #e2e8f1}
.story-reassurance img{width:65px;height:100px;object-fit:contain}
.story-reassurance p{font-size:.95rem;line-height:1.8;margin:0;color:#3c5577}
.faith-invitation{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;background:linear-gradient(135deg,#f6f0ff,#edf4ff);border:1px solid #ddd9f1;border-radius:28px;padding:48px;margin-block:60px}
.faith-invitation h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:15px 0 24px}
.faith-invitation p{font-size:1rem;line-height:1.9;color:#3c5574}
.faith-invitation-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:radial-gradient(ellipse,#fff 0,#ffffff00 70%);text-align:center}
.faith-invitation .faith-character{float:none;width:auto;max-width:100%;height:300px;object-fit:contain;margin:0;filter:drop-shadow(0 12px 15px #3545701c)}
.faith-invitation-art>span{font-size:.7rem;letter-spacing:.09em;line-height:1.9;font-weight:800;color:#635085}
.faith-hero{background:radial-gradient(ellipse at 80% 20%,#e4d7f6,transparent 65%),linear-gradient(120deg,#fef8ee,#eef2ff);border-bottom:1px solid #e1dbef}
.faith-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;padding-block:65px}
.faith-hero h1{font-size:clamp(2.8rem,5.5vw,5rem);letter-spacing:-.055em;line-height:1.03}
.faith-hero h1 em{font-style:normal;color:#6d4a98}
.faith-hero p:not(.eyebrow){max-width:580px;font-size:1.12rem;line-height:1.9;color:#405776}
.faith-hero .faith-welcome{font-weight:700}
.faith-hero figure{margin:0;transform:rotate(1deg)}
.faith-hero figure img{width:100%;height:auto;filter:drop-shadow(0 20px 24px #343e6826)}
.faith-hero figcaption{font-size:.72rem;color:#5d5375;line-height:1.8;text-align:center;margin-top:16px}
.faith-full-grid{grid-template-columns:.65fr 1.35fr;gap:55px}
.faith-full-grid aside .eyebrow{color:#c4d7fa}
.faith-full-grid aside p{font-size:.95rem;line-height:1.9;color:#d5dff1}
.faith-chapter-nav{display:grid;gap:12px;margin-top:26px}
.faith-chapter-nav a{display:block;border:1px solid #ffffff35;border-radius:12px;padding:14px 18px;color:#f4f7ff;font-size:.9rem}
.faith-chapter-nav a:hover{background:#ffffff12}
.faith-message{padding:0;background:#fffdfb;overflow:hidden;border-radius:24px}
.faith-story-chapter{padding:36px 38px;scroll-margin-top:120px}
.faith-story-chapter+.faith-story-chapter{border-top:1px solid #e4e0ed}
.faith-story-chapter:nth-child(2){background:#f2f5fc}
.faith-story-chapter .reading-number{display:block;color:#685386;font-size:.68rem;letter-spacing:.09em;font-weight:800;margin-bottom:20px}
.faith-story-chapter h2{font-size:clamp(1.4rem,2.5vw,1.9rem);line-height:1.35;letter-spacing:-.03em;margin:0 0 22px}
.faith-message p{font-size:1rem;color:#3a5271;line-height:1.95;overflow-wrap:break-word}
.church-card{padding:25px;border:1px solid #d7dfee;border-radius:18px;background:#fff;margin:0 0 25px;box-shadow:0 8px 24px #1e3f6d08}
.church-card p{margin-bottom:0}
.faith-message blockquote{margin:30px 0 0;padding:23px;border-left:4px solid #d6a54e;background:linear-gradient(125deg,#fbf2df,#f6edfc);border-radius:0 16px 16px 0}
.faith-message blockquote p{font-size:1.1rem;font-weight:800;color:#64497d;line-height:1.75;margin:0}
.faith-opening p,.faith-return p{font-size:1rem;line-height:1.9;color:#435c79}
.faith-opening{gap:60px}
body[data-page="rodgerspc-sos"] .prose{max-width:1000px;padding-top:18px}
body[data-page="rodgerspc-sos"] .support-call{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:25px 30px;background:linear-gradient(120deg,#edf6ff,#f2edff);border:1px solid #d2ddf0;border-radius:22px;margin:0 0 30px}
body[data-page="rodgerspc-sos"] .support-call h2{font-size:1.5rem;margin:0;flex:1}
.support-steps{display:grid;gap:22px;list-style:none;counter-reset:sos;padding:0}
.support-steps>li{position:relative;counter-increment:sos;border:1px solid #dae2ee;border-radius:22px;padding:30px 30px 30px 80px;background:#fff;box-shadow:0 8px 24px #21436e08}
.support-steps>li::before{content:counter(sos,decimal-leading-zero);position:absolute;left:22px;top:30px;border-radius:12px;background:#eaf2ff;padding:9px;color:#285a99;font-weight:900}
.support-steps h3{font-size:1.35rem;margin:0 0 14px}
.support-steps p{font-size:1rem;line-height:1.85;color:#405b7a}
/* Reading improvements apply to the shared templates, including articles and service details. */
.article-body p,.detail-content p{font-size:1rem;line-height:1.95;color:#3c5473}
.article-body h2,.detail-content h2{margin-top:1.6em;line-height:1.25;text-wrap:balance}
.article-body li,.detail-content li{font-size:1rem;line-height:1.9;margin-block:.65em}
.article-body{max-width:780px}
.topbar .wrap>span{white-space:nowrap}
h1,h2,h3{text-wrap:balance}
.brand-phrase{white-space:nowrap}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3979ca;outline-offset:4px}
@media(max-width:760px){
 .technology-showcase{padding:23px 18px}.technology-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.technology-logos>span{min-height:80px}
 .faith-invitation{grid-template-columns:1fr;gap:25px;padding:30px 22px}.faith-invitation .faith-character{height:210px}.faith-invitation-art>span{font-size:.65rem}
 .faith-hero-grid{grid-template-columns:1fr;gap:32px;padding-block:42px}.faith-hero figure{max-width:420px;margin:auto;width:100%;transform:none}
 .faith-full-grid{grid-template-columns:1fr;gap:30px}.faith-full-grid aside{position:static}.faith-chapter-nav{grid-template-columns:1fr;gap:8px}
 .faith-story-chapter{padding:27px 22px}.church-card{padding:20px}.faith-opening{gap:30px}
 .story-dialog-head{padding:14px 20px}.story-dialog>h2{padding:26px 23px 20px}.story-prose{padding:24px 23px 8px}.story-dialog>.button{margin:8px 23px 26px}.story-reassurance{padding:18px 23px;gap:14px}
 .support-steps>li{padding:24px 20px 24px 65px}.support-steps>li::before{left:14px;top:22px;font-size:.8rem}.support-steps .button-row{flex-direction:column;align-items:stretch}
}
@media(prefers-reduced-motion:reduce){.technology-showcase *{transition:none}}
.story-values{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:12px}.story-values li{position:relative;padding:15px 18px 15px 47px;background:#f0f5fd;border:1px solid #dce6f4;border-radius:12px;color:#354e6f;font-size:1rem;line-height:1.8}.story-values li:before{content:'✓';position:absolute;left:18px;top:15px;color:#3767a2;font-weight:900}
.software-icon.software-icon-wide{width:100px!important;min-width:100px;padding:10px}
.product-copy .product-brand{width:76px;height:30px;object-position:left center;display:block;margin:0 0 18px}.service-explainer>div{padding:22px 26px;background:#f5f8fd;border-radius:0 0 15px 15px}.service-explainer summary{font-size:1rem;line-height:1.7;min-height:54px}.lab-part-dialog h3{font-size:1.13rem;color:#284b7e;border-top:1px solid #d9e3f1;padding-top:20px}.lab-part-dialog p,.lab-part-dialog li{font-size:1rem;color:#385372;line-height:1.9}
/* Readable light-card copy and labels, including older shared card templates. */
.service-card p,.resource-card>p:not(.eyebrow),.home-service p,.shopping-card p,.blog-card-copy>p:not(.blog-meta){font-size:.95rem;line-height:1.85;color:#405b7c}
.service-card .card-link,.resource-card .card-link,.home-service .card-link,.shopping-card .card-link,.blog-card .card-link,.lab-game-card .card-link,.lab-learning-card .card-link,.lab-parts-grid .card-link{font-size:.8rem;line-height:1.7;color:#28568f;font-weight:800}
.lab-game-card .card-link,.lab-learning-card .card-link{margin-top:18px}
.sales-grid .service-card{min-height:280px}
@media(max-width:600px){.service-grid{grid-template-columns:1fr;gap:18px}.service-card{min-height:0;padding:26px}.service-card p,.home-service p,.resource-card>p:not(.eyebrow),.shopping-card p{font-size:1rem}.service-card h3{font-size:1.35rem}.lab-parts-grid{grid-template-columns:1fr;gap:18px}.lab-parts-grid article>button{padding:22px}.lab-parts-grid img{height:190px}.lab-parts-grid h2{font-size:1.2rem}.lab-parts-grid p{font-size:1rem;line-height:1.8}.lab-parts-grid .card-link{font-size:.8rem}}
/* Keep the brand phrase together, sized to its actual column rather than the viewport. */
.color-hero-copy,.page-hero{container-type:inline-size}
.color-hero h1 .brand-phrase,.page-hero h1 .brand-phrase{display:inline-block;white-space:nowrap;font-size:min(1em,12cqw)}

/* OS identity is the primary visual, with the device shape behind it. */
.device-visual>svg{opacity:.2}
.device-visual .brand-mark{right:auto;left:50%;bottom:auto;top:50%;transform:translate(-50%,-50%);width:86px;height:86px;padding:12px;border-radius:18px;box-shadow:0 8px 20px #234b7e20}

/* Scan long service explanations without losing their original wording. */
.service-reading-map{display:flex;flex-wrap:wrap;gap:8px;padding:18px;margin-bottom:28px;background:linear-gradient(120deg,#edf5ff,#f2edff);border-radius:16px;border:1px solid #d5e1f3}
.service-reading-map>.eyebrow{width:100%;margin:0 0 5px}
.service-reading-map>a{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border:1px solid #d3dff0;border-radius:10px;font-size:.78rem;font-weight:700;color:#28568f;text-decoration:none;min-height:44px}
.service-reading-map>a>span{color:#6c55b2;font-size:.65rem}.service-reading .service-reading-heading{scroll-margin-top:120px;border-left:4px solid #9270d0;padding-left:15px;margin-top:2.5rem}
@media(max-width:600px){.service-reading-map{padding:12px}.service-reading-map>a{width:100%;font-size:.8rem}}

.service-reassurance{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;padding-top:3rem;padding-bottom:2rem}.service-reassurance h2{font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.15;letter-spacing:-.04em}.service-reassurance h2 em{font-style:normal;color:#6c49b6}.service-reassurance p{font-size:.95rem;line-height:1.9;color:#405675}.service-reassurance .service-tuesday{padding:18px 20px;border-left:4px solid #d49745;background:linear-gradient(100deg,#fff4e5,#f3eeff);border-radius:0 15px 15px 0}.resource-creed{max-width:850px;line-height:1.9;margin:2rem auto 0;text-align:center;font-weight:600}.resource-introduction{max-width:850px;margin-bottom:2rem}.resource-introduction h2{font-size:clamp(1.6rem,3vw,2.6rem)}.resource-introduction p{line-height:1.9;color:#405675}@media(max-width:700px){.service-reassurance{grid-template-columns:1fr;gap:1rem;padding-top:2rem}.service-reassurance p{font-size:.9rem}}

.service-availability{margin:1.5rem 0;padding:1rem 1.25rem;border-left:4px solid #2878ca;border-radius:0 14px 14px 0;background:#edf5fc;color:#193751}.service-availability p{margin:0}.service-availability a{font-weight:800;text-decoration:underline}
/* Fixed title/subtitle/bullet tracks keep price, update date and action aligned. */
.inventory-fixed-card{height:940px;display:grid;grid-template-rows:220px 1fr}
.inventory-fixed-card .product-image{height:220px;aspect-ratio:auto}
.inventory-fixed-card .product-copy{height:720px;min-height:0;display:grid;grid-template-rows:22px 66px 42px minmax(0,1fr) 46px 22px 46px;gap:8px;padding:20px}
.inventory-fixed-card .product-copy h2{margin:0;min-height:0;font-size:1.05rem;line-height:22px;overflow:hidden;overflow-wrap:anywhere}
.inventory-fixed-card .product-subtitle{min-height:0;margin:0;font-size:.8rem;line-height:21px;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap}
.inventory-fixed-card .product-price{margin:0;white-space:nowrap}
.inventory-fixed-card .product-price span{display:inline;font-size:.6rem;white-space:normal}
.inventory-bullets{min-width:0;min-height:0;list-style:none;padding:0;margin:0;display:grid;grid-template-rows:repeat(7,minmax(0,1fr));overflow:hidden}
.inventory-bullets>li{min-width:0;min-height:0;display:flex;align-items:center;padding:0;gap:7px;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap;font-size:.78rem;line-height:17px;border-bottom:1px solid #e7ecf4}
.inventory-bullets>li.has-text::before{content:'•';flex-shrink:0;align-self:center;color:#3867a6}
.inventory-bullets>li>span{min-width:0;max-height:100%;overflow:hidden;overflow-wrap:anywhere}
.inventory-bullets>.empty-line{border-color:transparent}
.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}
.inventory-bullets.align-center>li{justify-content:center}.inventory-bullets.align-right>li{justify-content:flex-end}
.inventory-fixed-card .product-availability{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inventory-fixed-card .product-updated{font-size:.7rem;font-weight:700;margin:0;line-height:22px;color:#52657f}
.inventory-fixed-card .product-inquiry{margin:0;align-self:end;min-height:44px}
.inventory-empty{padding:30px}
@media(max-width:540px){.inventory-fixed-card{height:920px;grid-template-rows:200px 1fr}.inventory-fixed-card .product-image{height:200px}.inventory-fixed-card .product-copy{padding:18px}}
.catalog-sort{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:28px 0 -16px}.catalog-sort label{font-weight:800;color:#2b456b}.catalog-sort select{padding:12px 16px;border:1px solid #b9cce5;border-radius:12px;background:#fff;color:#294a78;font:600 .85rem Montserrat,sans-serif;max-width:100%}.catalog-sort [role=status]{font-size:.8rem;color:#536985}

/* New blog artwork: one supplied 1200 × 630 asset across article, card and sharing. */
.article-hero-image:not(.legacy-blog-image),
.blog-card:has(.blog-card-copy) > img:not(.legacy-blog-image) { height:auto; aspect-ratio:40 / 21; object-fit:contain; }

/* Inset photos: transparent frame over the existing top gradient, fixed geometry. */
.inventory-fixed-card { --product-image-height:220px; background:linear-gradient(135deg,#e8f6ff,#f1eaff 65%,#ffe9ed) top / 100% var(--product-image-height) no-repeat,#fff; }
.inventory-fixed-card .product-image { background:transparent; border-radius:23px 23px 0 0; }
.inventory-fixed-card .product-image img { width:auto; height:auto; max-width:100%; max-height:100%; min-width:0; object-fit:contain; object-position:center; transform:none; transition:none; }
.inventory-fixed-card:hover .product-image img { transform:none; }
@media(max-width:540px) { .inventory-fixed-card { --product-image-height:200px; } }
