
:root{--ink:#11141a;--muted:#626873;--paper:#f7f5f0;--white:#fff;--red:#e4372f;--red-dark:#be241e;--navy:#17243b;--line:rgba(17,20,26,.12)}
html{scroll-behavior:smooth}body{margin:0;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.site-main{flex:1 0 auto}
#ufsc-site-nav{position:sticky;top:0;z-index:9999;width:100%;background:rgba(247,245,240,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(17,20,26,.09);color:var(--ink);font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
#ufsc-site-nav *{box-sizing:border-box}
.ufsc-nav-inner{width:min(1180px,calc(100% - 40px));min-height:76px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:22px}
.ufsc-logo{display:inline-flex;align-items:center;gap:1px;flex:0 0 auto;text-decoration:none;color:var(--ink);font:800 19px/1 "Manrope","DM Sans",sans-serif;letter-spacing:-.035em;white-space:nowrap}
.ufsc-logo .at{font-weight:600;color:var(--muted);font-size:15px;letter-spacing:-.01em;margin:0}
.ufsc-logo img{display:block;width:92px;height:32px;object-fit:contain;object-position:left center}
.ufsc-menu{display:flex;align-items:center;gap:5px;margin:0;padding:0;list-style:none}
.ufsc-menu a{display:inline-flex;align-items:center;min-height:42px;padding:0 13px;border-radius:999px;text-decoration:none;color:#454b55;font-size:14px;font-weight:700;transition:.2s ease}
.ufsc-menu a:hover,.ufsc-menu a.active{background:#fff;color:var(--ink)}
.ufsc-menu .contact-link{background:var(--red);color:#fff}.ufsc-menu .contact-link:hover{background:var(--red-dark);color:#fff}
.ufsc-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px;cursor:pointer}
.ufsc-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0;border-radius:3px}
#ufsc-global-footer{flex:0 0 auto;width:100%;border-top:1px solid rgba(17,20,26,.09);background:var(--paper);font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--muted)}
.ufsc-footer-inner{width:min(1180px,calc(100% - 40px));min-height:68px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}
.ufsc-footer-inner a{color:inherit;text-decoration:none;font-weight:700}.ufsc-footer-inner a:hover{color:var(--red-dark)}
.home-profile{width:72px;height:72px;border-radius:50%;object-fit:cover;display:block;margin:0 0 20px;border:4px solid #fff;box-shadow:0 12px 30px rgba(25,28,36,.15)}
@media(max-width:900px){.ufsc-toggle{display:block}.ufsc-menu{position:absolute;left:20px;right:20px;top:68px;display:none;flex-direction:column;align-items:stretch;padding:12px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px rgba(25,28,36,.16)}.ufsc-menu.open{display:flex}.ufsc-menu a{justify-content:center}.ufsc-nav-inner{min-height:68px}.ufsc-logo img{width:82px;height:29px}}
@media(max-width:620px){.ufsc-nav-inner,.ufsc-footer-inner{width:min(100% - 28px,1180px)}.ufsc-footer-inner{min-height:76px;flex-direction:column;justify-content:center;text-align:center;gap:5px}.home-profile{width:62px;height:62px;margin-bottom:16px}}


/* Homepage: one viewport including navigation and footer */
body.home-page{height:100dvh;min-height:100dvh;overflow:hidden}
body.home-page .site-main{flex:1 1 auto;min-height:0;display:flex}
body.home-page .page{flex:1 1 auto;min-height:0!important;height:auto!important;display:flex!important;overflow:hidden!important}
body.home-page .page>main{flex:1 1 auto;min-height:0!important;height:auto!important;padding:10px 0 12px!important}
body.home-page #ufsc-global-footer{margin:0!important}
body.home-page .ufsc-footer-inner{min-height:60px}

@media(max-width:1000px), (max-height:720px){
  body.home-page{height:auto;min-height:100dvh;overflow-x:hidden;overflow-y:auto}
  body.home-page .site-main{display:block}
  body.home-page .page{display:block!important;overflow:visible!important}
  body.home-page .page>main{padding:36px 0 22px!important}
}


/* Unified content grid and page-specific corrections */
body.home-page .page > main.shell{
  width:min(1180px,calc(100% - 40px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.home-page .page > main.shell > section:first-child{min-width:0;}
body.home-page .page > main.shell > .visual{min-width:0;}
@media(min-width:1001px){
  body.home-page .page > main.shell{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;gap:48px!important;}
}
@media(max-width:1000px){
  body.home-page .page > main.shell{width:min(100% - 40px,1180px)!important;}
}
@media(max-width:620px){
  body.home-page .page > main.shell{width:min(100% - 28px,1180px)!important;}
}

/* Definitive homepage centering fix */
body.home-page .site-main,body.home-page .page{width:100%!important;}
body.home-page .page>main.shell{flex:0 1 1180px!important;width:calc(100% - 80px)!important;max-width:1180px!important;margin:0 auto!important;align-self:center!important;}
@media(max-width:1000px){body.home-page .page>main.shell{width:calc(100% - 40px)!important;}}
@media(max-width:620px){body.home-page .page>main.shell{width:calc(100% - 28px)!important;}}
