/* Shared interaction and accessibility rules. Brand styling stays in each page. */
html { scroll-padding-top: 7rem; }
*, *::before, *::after { box-sizing: border-box; }
:focus-visible { outline: 3px solid #2086e8 !important; outline-offset: 5px; }
button, a, input, select, textarea { touch-action: manipulation; }
button { cursor: pointer; }
img, video { max-width: 100%; }
img[data-sf-image] { display: block; width: 100%; height: 100%; object-fit: cover; }
.sf-skip { position: fixed; left: 16px; top: -100px; z-index: 100002; padding: 12px 20px; background: #fff; color: #111; border-radius: 6px; }
.sf-skip:focus { top: 12px; }
#sf-bar { min-height: 48px; }
#sf-bar .sf-mid { min-width: 0; }
#sf-bar .sf-mid b { overflow: hidden; text-overflow: ellipsis; }
.sf-demo-back { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 24px; background: #11151b; color: #e8ecf2; font: 12px/1.5 system-ui,sans-serif; }
.sf-demo-back a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.sf-demo-back span { color: #b8c1cd; text-align: right; }
.sf-dialog { margin:auto; width: min(540px,calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; border: 1px solid #d6dce4; border-radius: 18px; background: #fff; color: #17202c; padding: 32px; font: 16px/1.6 system-ui,sans-serif; box-shadow: 0 24px 100px #0005; }
.sf-dialog::backdrop { background: #07101bcc; backdrop-filter: blur(6px); }
.sf-dialog h2 { font: 600 26px/1.2 system-ui,sans-serif; letter-spacing: -.025em; margin: 10px 0 16px; color: #17202c; }
.sf-dialog p { margin: 12px 0; }
.sf-dialog .sf-dialog-close { display: block; margin-left: auto; width: 44px; height: 44px; background: #edf1f5; color: #17202c; border: 0; border-radius: 50%; font-size: 24px; }
.sf-dialog .sf-dialog-contact { display: inline-flex; justify-content: center; padding: 12px 20px; margin-top: 12px; border-radius: 8px; background: #153f32; color: #fff; text-decoration: none; font-weight: 600; }
.sf-dialog img { display: block; width: 100%; max-height: 260px; object-fit: cover; border-radius: 10px; margin-bottom: 20px; }
.sf-form-status { margin-top: 14px; font-size: 14px; line-height: 1.5; }
.sf-field-label { display: block; font: 500 12px/1.5 system-ui,sans-serif; margin: 0 0 6px; }
.sf-menu { display: none; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 14px; border: 1px solid currentColor; color: inherit; background: transparent; border-radius: 6px; font: 600 13px/1 system-ui,sans-serif; }
.sf-compact-menu { display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;min-width:44px;padding:8px 12px;border:1px solid currentColor;background:transparent;color:inherit;font:500 13px/1 system-ui,sans-serif; }
.sf-compact-panel { position:fixed;left:0;right:0;z-index:100000;background:#101114;color:#fff;padding:8px 24px 16px;max-height:70dvh;overflow-y:auto;border-bottom:1px solid rgba(255,255,255,.14); }
.sf-compact-panel a { display:block;padding:16px 0;font:500 16px/1.3 system-ui,sans-serif;color:#fff;text-decoration:none; }
@media (min-width:768px) {
 header nav.hidden.md\:flex + .sf-compact-menu { display:none; }
}
@media (min-width:900px) {
 header nav.nav-links + .sf-compact-menu { display:none; }
}
@media (min-width:1024px) {
 header nav.hidden.lg\:flex + .sf-compact-menu { display:none; }
}
@media(max-width:767px){
 [data-project="nexus"] #hero h1 { font-size:clamp(46px,12vw,76px);overflow-wrap:normal; }
}
.sf-dc #dc-root, .sf-dc .sc-host, .sf-dc .sf-page { min-width: 0 !important; width: 100%; }
.sf-dc .sf-layout > * { min-width: 0; }
.sf-dc h1, .sf-dc h2 { text-wrap: balance; }
.sf-dc .sf-main-nav { top: 48px !important; }
.sf-dc section, .sf-dc header, .sf-dc footer { min-width: 0; }
.sf-dc .sf-main-nav a { white-space: normal; }
.sf-dc [data-sf-image] { min-width: 0; }
.sf-dc .sf-action-row { flex-wrap: wrap; }
.sf-dc .sf-faq-answer { max-height: none !important; }
.drawer[aria-hidden="true"] { visibility: hidden; }
.drawer[aria-hidden="false"] { visibility: visible; }
/* Content is readable before animation code or observers finish loading. */
.reveal, .reveal-up, .gs-reveal, .gs-hero-up { opacity: 1 !important; }
#loader, #preloader { display: none !important; }
/* Decorative cursors cannot replace the platform cursor or keyboard focus. */
html body, html body * { cursor: auto !important; }
html body a, html body button, html body summary, html body [role="button"] { cursor: pointer !important; }
.cursor-dot,.cursor-outline,.cursor-crosshair,.cursor-ring,.custom-cursor,.cursor-follower { display:none !important; }
.sf-law-brand { font: 600 clamp(17px,2vw,24px)/1.1 Georgia,serif; letter-spacing:-.03em; color:#fff; display:block; min-width:150px; }
[data-project="catalogo"] .prod[hidden] { display:none; }
[data-property-card][hidden] { display:none!important; }
[data-property-card] { max-width:100%;height:auto!important;min-height:360px;padding-bottom:60px; }
.sf-property-filter { display:grid;gap:8px;font-size:12px; }
.sf-property-filter select { width:100%;min-height:44px;color:#161a17;background:#fff; }
[data-project] header.tw-top-0 { top:48px!important; }
[data-project="lex"] .sf-law-brand { min-width:190px; }
[data-project="lex"] header .tw-w-\[50px\] { width:auto; }
@media(max-width:1023px){
 .sf-collapse-panel { width:min(360px,90vw)!important;max-height:calc(100dvh - 120px);overflow-y:auto; }
 .sf-collapse-panel[data-open="false"] { visibility:hidden!important;pointer-events:none!important;opacity:0!important; }
 .sf-collapse-panel[data-open="true"] { visibility:visible!important;pointer-events:auto!important;opacity:1!important; }
}
[data-project="catalogo"] .chips button { font:inherit; cursor:pointer; }
[data-project="apex"] #mobileMenu { max-width:100%; }
[data-project="apex"] #toast { max-width:calc(100vw - 32px);right:16px; }
[data-project="apex"] #planos { overflow:clip; }
@media(max-width:900px){
 [data-project="agrovision"] #topo .sf-layout-4 { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 [data-project="alma"] #topo > .sf-layout-split { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)!important;gap:12px!important; }
 [data-project="alma"] #topo > .sf-layout-split > div:first-child { height:400px!important; }
 [data-project="alma"] #topo > .sf-layout-split > div:last-child { gap:12px!important; }
 [data-project="alma"] #topo > .sf-layout-split > div:last-child > div { height:194px!important; }
 [data-project="alma"] #colecao > .sf-layout-4 { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important; }
 [data-project="altamar"] #topo { height:auto!important;min-height:0!important; }
 [data-project="altamar"] #topo > div:last-child { position:relative!important;padding:56px 24px!important; }
 [data-project="altamar"] .sf-page > section:nth-of-type(1) .sf-layout-4 { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important; }
}
@media (max-width:1100px) {
 .sf-dc .sf-layout-split { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; gap: 32px !important; }
 .sf-dc .sf-layout-4 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:900px) {
 .sf-dc .sf-main-nav { padding: 14px 24px !important; gap: 16px !important; flex-wrap: wrap; }
 .sf-dc .sf-main-nav > .sf-nav-group { display: none !important; width: 100%; margin: 0 !important; }
 .sf-dc .sf-main-nav[data-open="true"] > .sf-nav-group { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 0 !important; }
 .sf-dc .sf-nav-group > a { padding: 12px 0 !important; }
 .sf-dc .sf-main-nav .sf-menu { display: inline-flex; margin-left: auto; }
 .sf-dc .sf-nested-nav > .sf-layout { display:flex!important;flex-wrap:wrap;padding:0!important;width:100% }
 .sf-dc .sf-nested-nav .sf-nav-group { display:none!important;width:100% }
 .sf-dc .sf-nested-nav[data-open="true"] .sf-nav-group { display:flex!important;flex-direction:column;order:3;gap:12px!important }
 .sf-dc .sf-layout-split, .sf-dc .sf-layout-2 { grid-template-columns: minmax(0,1fr) !important; gap: 32px !important; }
 .sf-dc .sf-layout-3 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
 .sf-dc h1 { font-size: clamp(36px,6vw,54px) !important; }
 .sf-dc h2 { font-size: clamp(28px,4.5vw,40px) !important; }
 .sf-dc .sf-section { padding-top: 60px !important; padding-bottom: 60px !important; }
 .sf-dc .sf-footer-row { flex-wrap: wrap; gap: 20px !important; }
 .sf-dc .sf-hero-media { height: 380px !important; }
}
@media (max-width:600px) {
 #sf-bar { gap: 8px !important; padding: 8px 12px !important; }
 #sf-bar .sf-seg { display: none !important; }
 #sf-bar .sf-mid { font-size: 11px; }
 #sf-bar .sf-cta { font-size: 11px !important; padding: 8px 10px !important; }
 #sf-bar .sf-back { font-size: 11px; }
 .sf-dc .sf-layout-3, .sf-dc .sf-layout-4 { grid-template-columns: minmax(0,1fr) !important; }
 .sf-dc .sf-products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 16px !important; }
 .sf-dc .sf-products h3 { font-size: 17px !important; }
 .sf-dc .sf-stats { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px !important; }
 .sf-dc .sf-section { padding-top: 48px !important; padding-bottom: 48px !important; }
 .sf-dc .sf-hero-media { height: 300px !important; }
 .sf-dc .sf-action-row { gap: 14px !important; }
 .sf-dc .sf-action-row > a { text-align: center; }
 .sf-dc footer { padding: 40px 24px !important; }
 .sf-dialog { padding: 22px; }
 .sf-demo-back { padding: 10px 16px; font-size: 11px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior: auto !important; }
 *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
 .reveal, .reveal-up, .gs-hero-up, .split-char { opacity: 1 !important; transform: none !important; }
}

/* Allow twelve-column editorial layouts to shrink between breakpoints. */
[data-project="aura"] #methodology > .grid { column-gap: clamp(24px,4vw,64px); }
[data-project="aura"] .grid > *, [data-project="aureole"] .grid > * { min-width:0; }
[data-project="harmonia"] .reveal-left, [data-project="harmonia"] .reveal-right { opacity:1;transform:none; }
@media(min-width:768px) and (max-width:1100px){[data-project="aura"] #methodology > .grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}[data-project="aura"] #methodology > .grid > *{grid-column:auto}}
@media(min-width:1024px) and (max-width:1250px){[data-project="aureole"] #reservations .grid{column-gap:24px}}

[data-project="lex"] .tw-bg-primary { background-color:#10283f!important; }
[data-project="lex"] .tw-text-primary { color:#10283f!important; }
[data-project="colecao"] h3 { white-space:normal!important;overflow:visible!important;text-overflow:clip!important; }
@media(max-width:680px){
 [data-project="vertice"] .hero-line { white-space:normal;overflow:visible; }
 [data-project="vertice"] .hero h1 { font-size:clamp(42px,11.5vw,66px); }
}

[data-project="nova"] .hero-bg-text { color:#e5e7df;-webkit-text-stroke:1px #e5e7df; }
[data-project="nutrio"] header.tw-top-0 { position:relative;top:auto!important; }

/* Pinned sections retain viewport bounds while ScrollTrigger recalculates on resize. */
[data-project="braseiro"] .pin-spacer,[data-project="nova"] .pin-spacer { max-width:100%; }
[data-project="braseiro"] #craft,[data-project="nova"] #showcase { max-width:100vw!important; }

.sf-property-brand{display:grid;font:600 24px/1 Georgia,serif;color:inherit}.sf-property-brand>span{font:500 8px/1.7 system-ui;letter-spacing:.25em}.sf-property-brand{min-width:85px}
[data-project="brick"] header { background:#19201de8;color:#fff;backdrop-filter:blur(14px); }
[data-project="brick"] #expanding-header-bg { display:none; }
[data-project="brick"] header .header-links,[data-project="brick"] #collapse-btn { color:#fff!important; }
[data-project="brick"] #hero-section .tw-text-justify { text-align:left!important; }

@keyframes sf-settle { from { transform: translateY(12px); } to { transform: none; } }
@keyframes sf-menu-in { from { transform: translateY(-8px); } to { transform: none; } }
@media (max-width:760px) {
  html.sf-motion [data-project="alma"] .sf-page h1,
  html.sf-motion [data-project="altamar"] .sf-page h1,
  html.sf-motion [data-project="heliosol"] .sf-page h1 { animation: sf-settle .55s ease; }
  html.sf-motion [data-project="alma"] section.sf-section,
  html.sf-motion [data-project="altamar"] section.sf-section,
  html.sf-motion [data-project="heliosol"] section.sf-section { transition: transform .5s ease; }
  html.sf-motion [data-project="alma"] section.sf-section.sf-wait,
  html.sf-motion [data-project="altamar"] section.sf-section.sf-wait,
  html.sf-motion [data-project="heliosol"] section.sf-section.sf-wait { transform: translateY(18px); }
  [data-project="alma"] .sf-main-nav[data-open="true"] .sf-nav-group,
  [data-project="altamar"] .sf-main-nav[data-open="true"] .sf-nav-group,
  [data-project="heliosol"] .sf-main-nav[data-open="true"] .sf-nav-group { animation: sf-menu-in .28s ease; }
  [data-project="alma"] .sf-action-row > a,
  [data-project="altamar"] .sf-action-row > a,
  [data-project="heliosol"] .sf-action-row > a,
  [data-project="alma"] #colecao .sf-layout-4 div,
  [data-project="altamar"] #destaques .sf-layout-3 div,
  [data-project="heliosol"] #como .sf-layout-4 div { transition: transform .2s ease; }
  [data-project="alma"] .sf-action-row > a:active,
  [data-project="altamar"] .sf-action-row > a:active,
  [data-project="heliosol"] .sf-action-row > a:active,
  [data-project="alma"] #colecao .sf-layout-4 div:active,
  [data-project="altamar"] #destaques .sf-layout-3 div:active,
  [data-project="heliosol"] #como .sf-layout-4 div:active { transform: scale(.98); }
}
