/* A shared, self-contained closing space for Modern Soft. */
/* Shared social cards: CMS-owned links and copy, native vector brand marks. */
.social-showcase { padding-block:32px; }
.social-showcase-footer { border-bottom:1px solid #b5cce44d; }
.social-showcase-contact { margin-block:22px 44px; }
.social-heading { display:flex;align-items:center;gap:14px;margin-bottom:22px; }
.social-heading-mark { display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:15px;background:#e1ecff;color:#386aba;font:24px Arial,sans-serif; }
.social-heading h2 { margin:0;color:#254b7d;font-size:clamp(22px,2.2vw,29px);font-weight:800;line-height:1.6;letter-spacing:-.5px; }
.social-heading p { margin:5px 0 0;color:#4f698b;font-size:13px;line-height:1.9; }
.social-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.social-card { --social-accent:#2464c9;--social-edge:#ccddfa;--social-wash:#e9f1ff;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:17px;min-width:0;padding:25px 27px 19px;border:1px solid var(--social-edge);border-radius:23px;background:linear-gradient(125deg,#fff 8%,var(--social-wash) 100%);box-shadow:0 6px 18px #41649906;color:#254b7d;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s; }
.social-youtube { --social-accent:#c63549;--social-edge:#f0d7df;--social-wash:#fff0ef; }
.social-card-top { display:flex;align-items:center;gap:14px;position:relative;z-index:1; }
.social-platform-icon { display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid #fff;border-radius:17px;background:#fff;color:var(--social-accent);box-shadow:0 5px 14px #40587c0b; }
.social-platform-icon svg { width:29px;height:29px; }
.social-account { display:grid;gap:4px;min-width:0; }
.social-account strong { color:#203e65;font-size:19px;font-weight:800;line-height:1.5; }
.social-account small { color:#526985;font:12px/1.4 Arial,sans-serif;overflow-wrap:anywhere;text-align:start; }
.social-link-arrow { display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;margin-inline-start:auto;border-radius:50%;border:1px solid var(--social-edge);background:#ffffffa6;color:var(--social-accent);font:20px Arial,sans-serif;transition:transform .25s,background .25s; }
.social-card-description { max-width:85%;min-height:2em;position:relative;z-index:1;color:#415d7d;font-size:14px;line-height:1.9; }
.social-card-bottom { display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;z-index:1;margin-top:auto;padding-top:13px;border-top:1px solid var(--social-edge);color:var(--social-accent);font-size:12px;font-weight:700; }
.social-visit-mark { font:21px Arial,sans-serif;transition:transform .25s; }
.social-watermark { position:absolute;z-index:0;inset-inline-end:-5px;bottom:34px;width:135px;height:135px;color:var(--social-accent);opacity:.055;transform:rotate(-12deg);transition:transform .35s,opacity .35s;pointer-events:none; }
.social-watermark svg { width:100%;height:100%; }
.social-card:hover { transform:translateY(-4px);border-color:var(--social-accent);box-shadow:0 13px 30px #506b9912; }
.social-card:hover .social-watermark { transform:rotate(-4deg) scale(1.04);opacity:.085; }
.social-card:hover .social-link-arrow { transform:translate(2px,-2px);background:#fff; }
.social-card:hover .social-visit-mark { transform:translateX(-4px); }
.social-card:focus-visible { outline:3px solid var(--social-accent);outline-offset:4px;border-radius:23px; }
@media(max-width:640px) {
 .social-showcase { padding-block:26px; }
 .social-showcase-contact { margin-block:10px 28px; }
 .social-cards { grid-template-columns:minmax(0,1fr);gap:14px; }
 .social-card { padding:21px 20px 17px;gap:14px;border-radius:20px; }
 .social-card-description { max-width:92%;font-size:13px; }
 .social-heading { align-items:flex-start;gap:12px; }
 .social-heading-mark { flex-basis:36px;width:36px;height:36px;border-radius:12px;font-size:21px; }
 .social-heading h2 { font-size:22px; }
 .social-heading p { font-size:12px; }
}
.motion-off .social-card,.motion-off .social-card * { transition:none!important; }
.motion-off .social-card:hover,.motion-off .social-card:hover .social-link-arrow,.motion-off .social-card:hover .social-visit-mark { transform:none; }
@media(prefers-reduced-motion:reduce) {
 .social-card,.social-card * { transition:none!important; }
 .social-card:hover,.social-card:hover .social-link-arrow,.social-card:hover .social-visit-mark { transform:none; }
}
.site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-top: 30px;
  border-top: 1px solid #dbe8f8;
  border-radius: 44px 44px 0 0;
  background: radial-gradient(ellipse at 100% 0, #e1eaff 0, transparent 48%), linear-gradient(110deg, #eef8fa, #edf4ff 52%, #f4f7ff);
  color: #25476e;
}
.inner-page .site-footer { margin-top: 35px; }
.footer-shell { position: relative; z-index: 1; }
.footer-masthead { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 47px 0 32px; border-bottom: 1px solid #b5cce44d; }
.footer-logo { display: inline-block; width: 215px; flex-shrink: 0; }
.footer-logo img { width: 100%; height: auto; }
.footer-return { display: inline-flex; align-items: center; gap: 16px; color: #617da0; font-size: 12px; }
.footer-return i { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #c4d7ef; border-radius: 50%; background: #ffffff80; transition: background .2s, transform .2s; }
.footer-return svg { width: 20px; height: 20px; }
.footer-return:hover { color: #2864cc; }
.footer-return:hover i { background: #fff; transform: translateY(-3px); }
.footer-layout { display: grid; grid-template-columns: 1.18fr .8fr .85fr 1.25fr; gap: 35px; padding: 45px 0 48px; align-items: start; }
.footer-intro { padding-top: 6px; }
.footer-kicker { display: flex; gap: 8px; align-items: center; font-size: 11px; font-weight: 600; color: #6c84a5; }
.footer-kicker i { width: 5px; height: 5px; background: #5a8ee2; border-radius: 50%; box-shadow: 0 0 0 4px #dae6fc; }
.footer-intro h2 { margin: 19px 0 15px; font-size: clamp(31px,3vw,43px); line-height: 1.5; letter-spacing: -1.2px; font-weight: 800; color: #254b7d; }
.footer-intro p { font-size: 13px; line-height: 2; color: #607b9b; }
.footer-demo { display: inline-flex; align-items: center; gap: 15px; margin-top: 25px; padding-bottom: 6px; border-bottom: 1px solid #8daedb; font-size: 12px; font-weight: 600; color: #2d65bf; }
.footer-demo span { font: 21px Arial,sans-serif; transition: transform .2s; }
.footer-demo:hover span { transform: translate(-2px,-2px); }
.footer-links { padding-top: 9px; }
.footer-links h3 { display: flex; flex-direction: column; gap: 12px; margin: 0 0 20px; font-size: 14px; font-weight: 700; color: #2d4e76; }
.footer-links h3 > span { font: 10px Arial,sans-serif; letter-spacing: 1px; color: #7c98bc; }
.footer-links ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.footer-links a { position: relative; display: inline-block; padding: 8px 0; color: #5c7494; font-size: 13px; line-height: 1.8; transition: color .2s, transform .2s; }
.footer-links a::after { content: ''; position: absolute; bottom: 5px; right: 0; height: 1px; width: 100%; background: #6994d6; transform: scaleX(0); transform-origin: right; transition: transform .2s; }
.footer-links a:hover { color: #235cc0; transform: translateX(-3px); }
.footer-links a:hover::after { transform: scaleX(1); }
.footer-connect { background: #ffffffc9; border: 1px solid #fff; border-radius: 22px; padding: 24px; box-shadow: 0 8px 28px #6285b50c; }
.footer-connect-title { display: flex; gap: 12px; align-items: center; }
.footer-contact-icon { width: 39px; height: 39px; display: grid; place-items: center; flex-shrink: 0; color: #477bc4; background: #eaf2ff; border-radius: 12px; }
.footer-contact-icon svg { width: 22px; height: 22px; }
.footer-connect-title > div { display: grid; gap: 3px; }
.footer-connect-title > div > span { font-size: 13px; font-weight: 700; color: #34567f; }
.footer-connect-title small { font-size: 10px; color: #7890ac; }
.footer-phone { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 23px; padding: 5px 0; color: #315b91; }
.footer-phone > span { font: 600 clamp(19px,1.7vw,24px)/1.5 Arial,sans-serif; letter-spacing: -.5px; white-space: nowrap; }
.footer-phone svg { width: 19px; height: 19px; flex-shrink: 0; color: #8aabc9; }
.footer-email { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-block: 7px; color: #6b85a7; font: 12px/1.5 Arial,sans-serif; }
.footer-email > span:first-child { overflow-wrap: anywhere; }
.footer-phone:hover, .footer-email:hover { color: #245fbe; }
.footer-connect-actions { margin-top: 18px; }
.footer-whatsapp { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 43px; padding: 9px 14px; border: 1px solid #cde6e3; border-radius: 11px; background: #eaf6f3; color: #357c72; font-size: 11px; font-weight: 600; transition: background .2s, border-color .2s; }
.footer-whatsapp span { font: 18px Arial,sans-serif; }
.footer-whatsapp:hover { background: #dff0eb; border-color: #a6d5cd; }
.footer-location { display: flex; align-items: center; gap: 10px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #e3ebf4; font-size: 11px; color: #5c789c; }
.footer-location > svg { width: 18px; height: 18px; flex-shrink: 0; color: #83a1c4; }
.footer-location small { display: block; font-size: 9px; color: #8096b2; margin-top: 3px; }
.footer-location > b { margin-inline-start: auto; font-weight: 400; }
.footer-location:hover { color: #2864c7; }
.footer-base { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 23px 0 26px; border-top: 1px solid #b5cce44d; }
.footer-base > p { display: flex; flex-wrap: wrap; align-items: center; column-gap: 4px; row-gap: 6px; font-size: 10px; line-height: 1.8; color: #6c85a5; }
.footer-base > p > span:last-child { margin-inline-start: 13px; color: #8b9eb7; }
.footer-preference { display: flex; align-items: center; gap: 9px; flex-shrink: 0; }
.footer-preference button { padding: 8px 0; font-size: 11px; color: #6480a4; }
.footer-preference button:hover { color: #2b64be; }
.footer-motion-mark { display: flex; align-items: center; gap: 3px; height: 17px; }
.footer-motion-mark i { display: block; width: 2px; height: 8px; border-radius: 2px; background: #97afd1; }
.footer-motion-mark i:nth-child(2) { height: 15px; }
.motion-off .footer-motion-mark i { height: 3px; }
.site-footer a:focus-visible, .site-footer button:focus-visible { outline: 2px solid #2967ca; outline-offset: 4px; border-radius: 4px; }
.footer-orbits { position: absolute; pointer-events: none; z-index: 0; width: 550px; height: 550px; right: -220px; top: -160px; opacity: .65; }
.footer-orbits i { position: absolute; inset: 0; border: 1px solid #8eafdd27; border-radius: 50%; }
.footer-orbits i:nth-child(2) { inset: 45px; }
.footer-orbits i:nth-child(3) { inset: 90px; }
.footer-orbits > span { position: absolute; left: 77px; top: 120px; width: 8px; height: 8px; border-radius: 50%; background: #a9c4ec; box-shadow: 0 0 0 7px #b9cdee18; }
@media (min-width:1001px) and (max-width:1200px) {
  .footer-layout { gap: 22px; grid-template-columns: 1.05fr .8fr .8fr 1.25fr; }
  .footer-connect { padding: 18px; }
  .footer-phone > span { font-size: 20px; }
  .footer-intro h2 { font-size: 33px; }
  .footer-links a { font-size: 12px; }
}
@media (max-width:1000px) {
  .footer-layout { grid-template-columns: 1fr 1fr; gap: 36px 40px; }
  .footer-intro { grid-column: 1/-1; padding-bottom: 5px; }
  .footer-intro h2 { font-size: 38px; }
  .footer-intro h2 br { display: none; }
  .footer-intro p br { display: none; }
  .footer-links { padding-top: 0; }
  .footer-links h3 { gap: 8px; margin-bottom: 14px; }
  .footer-connect { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; padding: 25px; align-items: center; }
  .footer-connect-title { grid-column: 1; grid-row: 1/3; }
  .footer-phone { grid-column: 2; margin-top: 0; }
  .footer-email { grid-column: 2; }
  .footer-connect-actions { grid-column: 2; grid-row: 3; }
  .footer-location { grid-column: 1; grid-row: 3; border-top: 0; padding-top: 0; }
  .footer-phone > span { font-size: 23px; }
}
@media (max-width:640px) {
  .site-footer { border-radius: 28px 28px 0 0; margin-top: 16px; }
  .footer-masthead { padding: 30px 0 25px; gap: 12px; }
  .footer-logo { width: 178px; }
  .footer-return { gap: 0; }
  .footer-return > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .footer-return i { width: 37px; height: 37px; }
  .footer-layout { padding: 31px 0 30px; gap: 30px 24px; }
  .footer-intro h2 { font-size: 35px; margin: 15px 0 11px; letter-spacing: -.8px; }
  .footer-intro h2 br { display: block; }
  .footer-intro p { font-size: 12px; line-height: 2; max-width: 260px; }
  .footer-demo { margin-top: 19px; font-size: 12px; }
  .footer-links h3 { font-size: 13px; gap: 8px; margin-bottom: 10px; }
  .footer-links a { font-size: 12px; padding-block: 8px; }
  .footer-connect { display: block; padding: 22px; border-radius: 19px; }
  .footer-connect-title > div > span { font-size: 14px; }
  .footer-connect-title small { font-size: 11px; }
  .footer-phone { margin-top: 19px; }
  .footer-phone > span { font-size: 25px; }
  .footer-email { font-size: 13px; }
  .footer-whatsapp { font-size: 12px; min-height: 45px; }
  .footer-location { border-top: 1px solid #e3ebf4; padding-top: 16px; }
  .footer-base { align-items: flex-start; gap: 14px; padding: 19px 0 23px; flex-direction: column; }
  .footer-base > p { font-size: 10px; }
  .footer-base > p > span:last-child { width: 100%; margin: 0; }
  .footer-preference { gap: 8px; }
  .footer-orbits { right: -310px; opacity: .5; }
}
@media (prefers-reduced-motion:reduce) {
  .site-footer *, .site-footer *::after { transition: none !important; }
}
