/* SATC shared frontend refinement layer — intentionally loaded after page styles. */
:root{
  --site-content-width:1380px;
  --site-gutter:clamp(18px,5vw,72px);
  --site-section-gap:clamp(64px,7vw,96px);
  --site-focus:0 0 0 3px rgb(157 122 77 / 25%);
}

html{scroll-padding-top:24px}body{overflow-x:clip}.shared-layout main{min-height:45vh}
.shared-layout :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--satc-gold);outline-offset:3px}
.shared-layout :is(img,video,svg){max-width:100%}

/* Header rhythm, readable targets and a calmer active state. */
.shared-layout .shared-site-header{height:96px;gap:clamp(20px,2vw,34px)}
.shared-layout .shared-site-header .main-nav{gap:clamp(20px,2vw,36px)}
.shared-layout .shared-site-header .nav-link{min-height:44px;font-size:15px;line-height:1.2;transition:color .18s ease}
.shared-layout .shared-site-header .nav-link:after{transition:width .2s ease,background-color .2s ease}
.shared-layout .shared-site-header .main-nav>.nav-link:not(.active):after,.shared-layout .shared-site-header .satc-dropdown>.nav-link:not(.active):after{content:"";position:absolute;inset-inline-start:50%;bottom:17px;width:0;height:2px;background:var(--satc-gold);transform:translateX(50%)}
[dir=ltr] .shared-layout .shared-site-header .main-nav>.nav-link:not(.active):after,[dir=ltr] .shared-layout .shared-site-header .satc-dropdown>.nav-link:not(.active):after{transform:translateX(-50%)}
.shared-layout .shared-site-header .main-nav>.nav-link:hover:after,.shared-layout .shared-site-header .satc-dropdown:hover>.nav-link:after,.shared-layout .shared-site-header .satc-dropdown:focus-within>.nav-link:after{width:30px}
.shared-layout .satc-dropdown .dropdown-menu{min-width:215px;padding:10px;border-top-color:var(--satc-gold);box-shadow:0 22px 52px rgb(35 31 32 / 14%)}
.shared-layout .satc-dropdown .dropdown-item{min-height:46px;padding-inline:15px;font-size:14px}
.shared-layout .satc-dropdown .has-menu i{transition:transform .18s ease}
.shared-layout .shared-site-header .satc-dropdown>.has-menu:after{content:none!important;display:none!important}
.shared-layout .satc-dropdown:hover>.has-menu i,.shared-layout .satc-dropdown:focus-within>.has-menu i{transform:rotate(-90deg)}
.shared-layout .shared-site-header .outline{min-height:46px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.shared-layout .shared-site-header .outline:hover{border-color:var(--satc-burgundy);background:var(--satc-burgundy);color:#fff;transform:translateY(-1px)}

/* Shared image hero system: same geometry, readable measure, locale-aware contrast. */
.shared-layout :is(.partners-page-hero,.archive-hero,.projects-hero){height:var(--inner-hero-height);min-height:var(--inner-hero-min-height)}
.shared-layout :is(.partners-hero-content,.archive-hero-content,.projects-hero-content){width:min(90%,var(--site-content-width));margin-inline:auto}
.shared-layout :is(.partners-page-hero,.archive-hero,.projects-hero) h1{max-width:850px;text-wrap:balance}
.shared-layout :is(.partners-page-hero,.archive-hero,.projects-hero) p{max-width:700px;text-wrap:pretty}
.shared-layout :is(.partners-hero-shade,.archive-hero-shade){background:var(--inner-hero-overlay-rtl)}
[dir=ltr] .shared-layout :is(.partners-hero-shade,.archive-hero-shade){background:var(--inner-hero-overlay-ltr)}

/* Consistent content rhythm and quieter card interaction. */
.shared-layout :is(.partners-list,.articles-main,.projects-catalog,.legal-main,.contact-main,.faq-main){padding-block:var(--site-section-gap)}
.shared-layout :is(.partner-logos-grid article,.archive-project-card,.article-card,.payment-card){transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.shared-layout :is(.partner-logos-grid article,.archive-project-card,.article-card,.payment-card):hover{border-color:color-mix(in srgb,var(--satc-gold) 55%,#ddd);box-shadow:0 18px 45px rgb(35 31 32 / 9%)}
.shared-layout :is(.projects-primary-btn,.contact-form button,.faq-layout aside a,.btn){min-height:48px;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
.shared-layout :is(.projects-primary-btn,.contact-form button,.faq-layout aside a,.btn):hover{box-shadow:0 10px 24px rgb(45 5 15 / 14%)}
.shared-layout :is(input,select,textarea){transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.shared-layout :is(input,select,textarea):focus{border-color:var(--satc-gold)!important;box-shadow:var(--site-focus);background:#fff}

/* Project and editorial cards share a stable media ratio and aligned actions. */
.shared-layout :is(.archive-project-card,.article-card,.project-card,.news-card){height:100%;display:flex;flex-direction:column;overflow:hidden}
.shared-layout :is(.archive-project-card,.article-card,.project-card,.news-card) :is(.card-media,.article-card-media,.project-media,.news-media){position:relative;overflow:hidden;background:#eeeae5}
.shared-layout :is(.archive-project-card,.article-card,.project-card,.news-card) :is(.card-media,.article-card-media,.project-media,.news-media)>img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.2,.65,.3,1)}
.shared-layout :is(.archive-project-card,.article-card,.project-card,.news-card):hover :is(.card-media,.article-card-media,.project-media,.news-media)>img{transform:scale(1.035)}
.shared-layout :is(.archive-project-card,.article-card,.project-card,.news-card):focus-within{border-color:var(--satc-gold);box-shadow:0 18px 45px rgb(35 31 32 / 10%)}
.shared-layout :is(.archive-project-card .card-copy,.article-card-content,.news-content){display:flex;flex:1;flex-direction:column;height:auto}
.shared-layout :is(.archive-project-card .card-copy,.article-card-content,.news-content)>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.shared-layout :is(.archive-project-card .card-link,.article-card .read-more,.news-card .news-read){margin-top:auto}

/* Action arrows follow the reading direction without affecting breadcrumbs. */
.shared-layout :is(.card-link,.read-more,.news-read,.news-all,.projects-all,.projects-primary-btn,.faq-layout aside a,.portal-login-btn) .fa-arrow-left{transition:transform .2s ease}
[dir=ltr] .shared-layout :is(.card-link,.read-more,.news-read,.news-all,.projects-all,.projects-primary-btn,.faq-layout aside a,.portal-login-btn) .fa-arrow-left{transform:rotate(180deg)}
.shared-layout :is(.card-link,.read-more,.news-read,.news-all,.projects-all,.projects-primary-btn,.faq-layout aside a,.portal-login-btn):hover .fa-arrow-left{transform:translateX(-4px)}
[dir=ltr] .shared-layout :is(.card-link,.read-more,.news-read,.news-all,.projects-all,.projects-primary-btn,.faq-layout aside a,.portal-login-btn):hover .fa-arrow-left{transform:rotate(180deg) translateX(-4px)}

/* Forms and feedback remain visible and readable in both locales. */
.shared-layout .alert{border:0;border-inline-start:3px solid currentColor;border-radius:0;padding:15px 18px;font-size:13px;line-height:1.8}
.shared-layout .alert-danger{background:#fff2f2;color:#831d26}.shared-layout .alert-success{background:#eff9f2;color:#176b36}
.shared-layout .alert ul{padding-inline-start:20px}
.shared-layout :is(input,select,textarea)::placeholder{color:#9a918b;opacity:1}
.shared-layout select{cursor:pointer}

/* Footer and horizontally scrollable controls remain usable on narrow screens. */
.shared-layout .shared-site-footer .footer-column a{width:max-content;min-height:34px;display:flex!important;align-items:center}
.shared-layout .shared-site-footer .footer-contact>:is(a,span){min-height:34px}
.shared-layout :is(.article-tabs,.projects-tabs,.faq-tabs){scrollbar-width:thin;scrollbar-color:var(--satc-gold) transparent;overscroll-behavior-inline:contain}
.shared-layout :is(.article-tabs,.projects-tabs,.faq-tabs)::-webkit-scrollbar{height:4px}.shared-layout :is(.article-tabs,.projects-tabs,.faq-tabs)::-webkit-scrollbar-thumb{background:var(--satc-gold);border-radius:10px}
.shared-layout .site-whatsapp,.shared-layout .site-back-to-top{width:56px;height:56px;min-width:56px;box-shadow:0 10px 28px rgb(17 20 24 / 20%)}
.shared-layout .mobile-nav-close{border-radius:50%;transition:background-color .2s,color .2s,transform .2s}.shared-layout .mobile-nav-close:hover{background:var(--satc-burgundy);color:#fff;transform:rotate(4deg)}
.shared-layout .mobile-nav-account{align-self:center;flex:0 0 auto;display:inline-flex;align-items:center;height:44px;gap:8px;min-width:150px;max-width:210px;padding:0 16px;border:1px solid rgb(157 122 77 / 45%);border-radius:999px;background:#f8f5f1;color:var(--satc-burgundy);font-size:13px;font-weight:800;text-decoration:none;overflow:hidden}
.shared-layout .mobile-nav-account .fa-circle-user{flex:0 0 auto;font-size:18px}
.shared-layout .mobile-nav-account span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shared-layout .mobile-nav-account .fa-arrow-left{flex:0 0 auto;color:var(--satc-gold);font-size:11px}

@media(min-width:801px) and (max-width:1240px){
  .shared-layout .shared-site-header{width:96%;gap:14px}
  .shared-layout .shared-site-header .main-nav{gap:clamp(12px,1.25vw,20px)}
  .shared-layout .shared-site-header .nav-link,[dir=ltr] .shared-layout .shared-site-header .nav-link{font-size:13px}
  .shared-layout .shared-site-header .outline{padding-inline:14px;min-width:120px}
  .shared-layout .shared-site-header .logo-mark{width:46px}.shared-layout .shared-site-header .logo-wordmark{width:108px}
}

@media(max-width:800px){
  .shared-layout .shared-site-header{height:76px}
  .shared-layout .shared-site-header>.main-nav{padding-top:88px!important}
  .shared-layout .shared-site-header .main-nav .nav-link{min-height:54px!important;padding-block:11px!important}
  .shared-layout :is(.partners-page-hero,.archive-hero,.projects-hero){height:var(--inner-hero-mobile-height);min-height:520px;align-items:flex-end}
  .shared-layout :is(.partners-hero-shade,.archive-hero-shade){background:var(--inner-hero-overlay-mobile)!important}
  .shared-layout :is(.partners-hero-content,.archive-hero-content,.projects-hero-content){padding-bottom:clamp(48px,10vw,72px)}
  .shared-layout :is(.partners-page-hero,.archive-hero,.projects-hero) h1{font-size:clamp(34px,9vw,42px);line-height:1.25}
  .shared-layout :is(.partners-list,.articles-main,.projects-catalog,.legal-main,.contact-main,.faq-main){padding-block:clamp(52px,10vw,72px)}
  .shared-layout :is(.archive-project-card .card-copy,.article-card-content,.news-content){height:auto}
  .shared-layout :is(.card-link,.read-more,.news-read,.news-all,.projects-all,.projects-primary-btn){min-height:46px}
  .shared-layout .shared-site-footer .footer-column a{margin-inline:auto}
  .shared-layout :is(.archive-toolbar,.catalog-head){min-width:0}
  .shared-layout :is(.article-tabs,.projects-tabs){width:100%;padding-bottom:8px;overflow-x:auto;scroll-snap-type:x proximity}
  .shared-layout :is(.article-tab,.projects-tabs button){scroll-snap-align:start}
  .shared-layout .site-whatsapp,.shared-layout .site-back-to-top{width:52px;height:52px;min-width:52px;bottom:max(16px,env(safe-area-inset-bottom))}
  .shared-layout .mobile-nav-account{align-self:stretch;flex:none;height:auto;min-height:58px;width:auto;min-width:0;max-width:none;display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:11px;margin-top:22px;padding:10px 14px;border:1px solid rgb(157 122 77 / 45%);background:#f8f5f1;color:var(--satc-burgundy);font-size:14px;font-weight:800;text-decoration:none}
  .shared-layout .mobile-nav-account .fa-circle-user{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--satc-burgundy);color:#fff;font-size:18px}
  .shared-layout .mobile-nav-account span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .shared-layout .mobile-nav-account .fa-arrow-left{color:var(--satc-gold);font-size:11px}
  [dir=ltr] .shared-layout .mobile-nav-account .fa-arrow-left{transform:rotate(180deg)}
}

@media(prefers-reduced-motion:reduce){
  .shared-layout *, .shared-layout *:before, .shared-layout *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
