@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Inter:wght@400;500;600&display=swap');

:root {
  --smb-forest: #273e2c;
  --smb-olive: #657332;
  --smb-gold: #a7814a;
  --smb-cream: #f6f2ea;
  --smb-ink: #332a26;
  --smb-line: #e5e0d8;
  --smb-white: #fff;
  --smb-serif: "Cormorant Garamond", Georgia, serif;
  --smb-sans: "Inter", system-ui, sans-serif;
}

html { scroll-behavior: smooth; }
body { color: var(--smb-ink); font-family: var(--smb-sans); font-size: 17px; line-height: 1.65; }
.site-header, .site-footer, .entry-header { display: none !important; }
.site-content > .ast-container { max-width: none; padding: 0; }
#primary { margin: 0; width: 100%; }
.entry-content, .entry-content > * { margin-block-start: 0; }
.entry-content > .alignfull { margin-inline: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
.entry-content h1, .entry-content h2, .entry-content h3, .smb-site-footer h2 { font-family: var(--smb-serif); font-weight: 500; }

.smb-site-header {
  background: linear-gradient(180deg, rgba(16, 22, 16, .64), transparent);
  color: white;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  transition: background .3s ease, box-shadow .3s ease, color .3s ease;
  z-index: 9999;
}
.admin-bar .smb-site-header { top: 32px; }
.smb-site-header.is-scrolled { background: rgba(255, 255, 255, .97); box-shadow: 0 8px 35px rgba(30, 37, 28, .09); color: var(--smb-forest); }
.smb-header-inner { align-items: center; display: flex; gap: 28px; height: 92px; margin: 0 auto; max-width: 1320px; padding: 0 40px; }
.smb-brand { color: inherit; display: flex; flex: 0 0 auto; flex-direction: column; line-height: 1; max-width: 230px; text-decoration: none; }
.smb-brand .custom-logo-link { display: block; }
.smb-brand .custom-logo { filter: brightness(0) invert(1); height: auto; max-height: 66px; transition: filter .3s ease; width: auto; }
.smb-site-header.is-scrolled .smb-brand .custom-logo { filter: none; }
.smb-brand__name { font-family: var(--smb-serif); font-size: 27px; font-weight: 600; white-space: nowrap; }
.smb-brand__sub { font-size: 9px; letter-spacing: .24em; margin-top: 6px; text-align: center; text-transform: uppercase; }
.smb-primary-nav { align-items: center; display: flex; flex: 1; gap: 24px; justify-content: flex-end; }
.smb-primary-nav ul { align-items: center; display: flex; gap: clamp(14px, 1.45vw, 26px); list-style: none; margin: 0; padding: 0; }
.smb-primary-nav a { color: inherit; font-size: 13px; font-weight: 500; letter-spacing: .035em; text-decoration: none; }
.smb-primary-nav a:hover { color: #d7b66a; }
.smb-header-actions { align-items: center; display: flex; gap: 18px; }
.smb-language-selector { flex-shrink: 0; font-size: 13px; line-height: 1.4; }
.smb-language-selector select { max-width: 170px; padding: 8px; color: var(--smb-forest); background: white; border: 1px solid var(--smb-line); }
.smb-language-selector .gt_option a { color: var(--smb-forest); }
.smb-lang { border-left: 1px solid currentColor; padding-left: 18px; }
.smb-header-cta { background: var(--smb-gold); color: white !important; letter-spacing: .08em !important; padding: 13px 18px; text-transform: uppercase; }
.smb-header-cta:hover { background: var(--smb-forest); }
.smb-menu-toggle { display: none; }
.smb-has-submenu { position: relative; }
.smb-event-nav-row { display: flex; align-items: center; gap: 5px; }
.smb-submenu-toggle { background: transparent !important; border: 0; color: inherit !important; min-width: 36px; min-height: 40px; padding: 4px 8px; font-size: 20px; }
.smb-primary-nav .smb-events-submenu { display: block; position: absolute; top: 100%; left: -20px; width: 230px; background: var(--smb-cream); color: var(--smb-forest); padding: 12px 20px; box-shadow: 0 12px 30px #0002; }
.smb-primary-nav .smb-events-submenu[hidden] { display: none !important; }
.smb-primary-nav .smb-events-submenu a { display: block; padding: 10px 0; }
.smb-event-types .smb-explore-grid > .smb-explore-card { grid-column: span 2; }
@media (max-width: 1120px) {
  .smb-event-nav-row { justify-content: space-between; }
  .smb-submenu-toggle { min-width: 44px; min-height: 44px; }
  .smb-primary-nav .smb-events-submenu { position: static; width: 100%; padding: 0 0 12px 18px; box-shadow: none; }
  .smb-primary-nav .smb-events-submenu a { font-size: 23px; }
}
@media (max-width: 767px) {
  .smb-event-types .smb-explore-grid > .smb-explore-card { grid-column: auto; }
}

.smb-hero { min-height: 720px; padding: 120px 28px 80px; }
.smb-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(18, 24, 18, .78) 0%, rgba(18, 24, 18, .45) 50%, rgba(18, 24, 18, .14) 100%) !important; opacity: 1 !important; }
.smb-shell { width: 100%; }
.smb-hero__copy { margin-left: 0 !important; }
.smb-eyebrow { color: #ead9af; font-size: 12px; font-weight: 600; letter-spacing: .24em; margin-bottom: 20px; text-transform: uppercase; }
.smb-eyebrow--dark { color: var(--smb-gold); }
.smb-hero__title { color: white; font-size: clamp(58px, 6vw, 84px); line-height: .98; margin: 0 0 24px; max-width: 820px; text-wrap: balance; }
.smb-hero__text { color: rgba(255,255,255,.92); font-size: 19px; line-height: 1.6; margin: 0 0 32px; max-width: 660px; }
.entry-content .smb-hero .smb-eyebrow { color: #ead9af !important; }
.entry-content .smb-hero .smb-hero__title { color: #fff !important; }
.entry-content .smb-hero .smb-hero__text { color: rgba(255,255,255,.94) !important; }
.smb-buttons { gap: 14px; }
.smb-button .wp-block-button__link, .smb-contact-options .wp-element-button { background: var(--smb-gold); border: 1px solid var(--smb-gold); border-radius: 1px !important; color: white; font-size: 12px; font-weight: 600; letter-spacing: .13em; padding: 16px 24px; text-transform: uppercase; }
.smb-button .wp-block-button__link:hover, .smb-contact-options .wp-element-button:hover { background: var(--smb-forest); border-color: var(--smb-forest); }
.entry-content .smb-button--outline .wp-block-button__link { background: transparent !important; border: 1px solid rgba(255,255,255,.86) !important; border-radius: 1px !important; color: white !important; }
.entry-content .smb-button--outline .wp-block-button__link:hover { background: white !important; border-color: white !important; color: var(--smb-forest) !important; }

.smb-section { padding: clamp(76px, 8vw, 128px) 28px; }
.smb-section--cream { background: var(--smb-cream); }
.smb-intro { position: relative; }
.smb-intro::after { background: url('../images/ramo-decorativo.png') center/contain no-repeat; content: ""; height: 360px; opacity: .075; pointer-events: none; position: absolute; right: -30px; top: 10px; width: 160px; }
.smb-display { font-size: clamp(44px, 5vw, 64px); line-height: 1.05; margin: 0 auto 24px; text-wrap: balance; }
.smb-section-title { font-size: clamp(42px, 4.5vw, 58px); line-height: 1.04; margin: 0 0 26px; text-wrap: balance; }
.smb-lead { font-size: 20px; line-height: 1.7; margin-inline: auto; max-width: 820px; }
.smb-split__columns { gap: clamp(48px, 7vw, 100px); }
.smb-split__copy { flex-basis: 44% !important; }
.smb-split__copy p:not(.smb-eyebrow) { color: #554b46; }
.smb-split__media { flex-basis: 56% !important; }
.smb-editorial-image { margin: 0; overflow: hidden; }
.smb-editorial-image img { aspect-ratio: 4 / 5; display: block; object-fit: cover; transition: transform .8s ease; width: 100%; }
.smb-editorial-image:hover img { transform: scale(1.025); }
.smb-card-grid { gap: 0; margin-top: 58px; }
.smb-card { border-left: 1px solid #d8d0c3; padding: 0 clamp(24px, 3vw, 46px); }
.smb-card:last-child { border-right: 1px solid #d8d0c3; }
.smb-card__number { color: var(--smb-gold); font-family: var(--smb-serif); font-size: 28px; margin-bottom: 34px; }
.smb-card h3 { color: var(--smb-forest); font-size: 32px; line-height: 1.1; margin-bottom: 16px; }
.smb-card p:last-child { color: #625953; font-size: 15px; }
.smb-gallery__grid { display: grid !important; gap: 16px !important; grid-template-columns: 1.35fr .65fr; margin-top: 52px; }
.smb-gallery__grid figure { margin: 0 !important; width: auto !important; }
.smb-gallery__grid figure:first-child { grid-row: span 2; }
.smb-gallery__grid img { height: 100% !important; min-height: 280px; object-fit: cover !important; width: 100% !important; }
.smb-cta { padding: 80px 28px; }
.smb-cta .wp-block-cover__background { background: rgba(25, 40, 29, .78) !important; opacity: 1 !important; }
.entry-content .smb-cta h2,
.entry-content .smb-cta p,
.entry-content .smb-cta .smb-lead { color: #fff !important; }
.smb-contact-options { background: var(--smb-cream); border-top: 3px solid var(--smb-gold); padding: 42px; text-align: center; }
.smb-contact-options__actions { display: flex; gap: 12px; justify-content: center; margin-top: 26px; }

.smb-contact-details { background: #fff; }
.smb-contact-heading { gap: 64px; margin-bottom: 50px; }
.smb-contact-intro { color: #625953; font-size: 18px; }
.smb-contact-grid { gap: 20px; }
.smb-contact-card { background: var(--smb-cream); border-top: 2px solid var(--smb-gold); padding: 36px 28px; min-width: 0; }
.smb-contact-card h3 { color: var(--smb-forest); font-size: 30px; margin: 22px 0 16px; }
.smb-contact-card p { font-size: 15px; overflow-wrap: anywhere; }
.smb-contact-card a { color: var(--smb-forest); text-decoration: none; }
.smb-contact-link { margin-top: 28px; }
.smb-contact-link a { border-bottom: 1px solid var(--smb-gold); padding-bottom: 5px; }
.smb-contact-card::before { content: ""; display: block; width: 34px; height: 34px; background: var(--smb-olive); mask: var(--smb-icon) center/contain no-repeat; -webkit-mask: var(--smb-icon) center/contain no-repeat; }
.smb-contact-card--location { --smb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.smb-contact-card--phone { --smb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4'%3E%3Cpath d='M4 3h4l2 5-3 2c2 4 3 5 7 7l2-3 5 2v4c-9 3-20-8-17-17Z'/%3E%3C/svg%3E"); }
.smb-contact-card--email { --smb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4'%3E%3Crect x='2' y='4' width='20' height='16' rx='1'/%3E%3Cpath d='m2 5 10 8L22 5'/%3E%3C/svg%3E"); }
.smb-map-section { background: var(--smb-cream); padding: 0 28px 80px; }
.smb-map { position: relative; }
.smb-map iframe { border: 0; display: block; width: 100%; height: 560px; }
.smb-map-card { position: absolute; left: 32px; bottom: 32px; padding: 28px 32px; background: white; box-shadow: 0 12px 40px #0002; }
.smb-map-card span { display: block; color: var(--smb-gold); font-size: 11px; letter-spacing: .2em; }
.smb-map-card strong { display: block; font-family: var(--smb-serif); font-weight: 500; font-size: 32px; margin: 10px 0; }
.smb-map-card a { color: var(--smb-forest); font-size: 14px; }
.smb-gallery__grid { grid-auto-rows: 300px; }
.smb-gallery__grid figure { overflow: hidden; }
@media (max-width: 767px) {
  .smb-contact-heading { gap: 20px; }
  .smb-contact-grid { display: grid !important; grid-template-columns: 1fr; }
  .smb-map-section { padding: 0 20px 60px; }
  .smb-map iframe { height: 380px; }
  .smb-map-card { position: static; padding: 24px; }
  .smb-gallery__grid { grid-auto-rows: 280px; }
}

.smb-site-footer { background: #1e3022; color: rgba(255,255,255,.72); font-size: 14px; padding: 80px 32px 24px; }
.smb-footer-grid { display: grid; gap: 54px; grid-template-columns: 1.45fr .8fr 1.1fr .7fr; margin: 0 auto; max-width: 1240px; }
.smb-site-footer h2 { color: white; font-size: 24px; margin: 0 0 22px; }
.smb-site-footer a { color: rgba(255,255,255,.78); display: block; margin-bottom: 10px; text-decoration: none; }
.smb-site-footer a:hover { color: #d7b66a; }
.smb-footer-brand { color: white; font-family: var(--smb-serif); font-size: 32px; line-height: 1; margin: 0; }
.smb-footer-sub { color: #d7b66a; font-size: 10px; letter-spacing: .22em; margin: 10px 0 24px; text-transform: uppercase; }
.smb-footer-bottom { border-top: 1px solid rgba(255,255,255,.13); display: flex; justify-content: space-between; margin: 60px auto 0; max-width: 1240px; padding-top: 22px; }
.smb-footer-bottom a { display: inline; }

@media (max-width: 1120px) {
  .smb-header-inner { height: 78px; padding: 0 22px; }
  .smb-brand { max-width: 185px; }
  .smb-brand__name { font-size: 23px; }
  .smb-menu-toggle { appearance: none; background: transparent; border: 0; color: inherit; display: flex; flex-direction: column; gap: 5px; margin-left: auto; padding: 10px; }
  .smb-menu-toggle span:not(.screen-reader-text) { background: currentColor; display: block; height: 1px; transition: transform .2s ease; width: 28px; }
  .smb-primary-nav { background: var(--smb-cream); color: var(--smb-forest); display: block; inset: 78px 0 auto; max-height: 0; overflow: hidden; padding: 0 24px; position: fixed; transition: max-height .35s ease, padding .35s ease; }
  .admin-bar .smb-primary-nav { top: 110px; }
  .smb-primary-nav.is-open { max-height: calc(100vh - 78px); overflow-y: auto; padding-bottom: 28px; padding-top: 22px; }
  .smb-primary-nav ul { align-items: stretch; display: block; }
  .smb-primary-nav li { border-bottom: 1px solid var(--smb-line); }
  .smb-primary-nav li a { display: block; font-family: var(--smb-serif); font-size: 28px; padding: 9px 0; }
  .smb-header-actions { margin-top: 22px; }
  .smb-lang { border: 0; padding-left: 0; }
}

@media (max-width: 782px) { .admin-bar .smb-site-header { top: 46px; } .admin-bar .smb-primary-nav { top: 124px; } }

@media (max-width: 767px) {
  body { font-size: 16px; }
  .smb-header-inner { height: 72px; }
  .smb-brand { max-width: 165px; }
  .smb-brand .custom-logo { max-height: 52px; }
  .smb-primary-nav { inset: 72px 0 auto; }
  .admin-bar .smb-primary-nav { top: 118px; }
  .smb-hero { align-items: flex-end !important; min-height: 82svh !important; padding: 116px 20px 54px; }
  .smb-hero .wp-block-cover__background { background: linear-gradient(0deg, rgba(16,23,17,.92) 0%, rgba(16,23,17,.58) 48%, rgba(16,23,17,.17) 100%) !important; }
  .smb-hero__title { font-size: clamp(44px, 13vw, 57px); }
  .smb-hero__text { font-size: 16px; }
  .smb-buttons { align-items: stretch; flex-direction: column; width: 100%; }
  .smb-buttons .wp-block-button, .smb-buttons .wp-block-button__link { text-align: center; width: 100%; }
  .smb-section { padding: 72px 20px; }
  .smb-display, .smb-section-title { font-size: 42px; }
  .smb-lead { font-size: 18px; }
  .smb-split__columns { gap: 40px; }
  .smb-split__copy, .smb-split__media { flex-basis: 100% !important; }
  .smb-split__media { order: -1; }
  .smb-editorial-image img { aspect-ratio: 4 / 3; }
  .smb-card-grid { display: grid !important; gap: 0; grid-template-columns: 1fr; margin-top: 40px; }
  .smb-card, .smb-card:last-child { border: 0; border-top: 1px solid #d8d0c3; padding: 28px 0; }
  .smb-card__number { margin-bottom: 12px; }
  .smb-gallery__grid { grid-template-columns: 1fr; }
  .smb-gallery__grid figure:first-child { grid-row: auto; }
  .smb-gallery__grid img { min-height: 240px; }
  .smb-contact-options { padding: 30px 20px; }
  .smb-contact-options__actions { flex-direction: column; }
  .smb-footer-grid { grid-template-columns: 1fr; }
  .smb-footer-bottom { align-items: flex-start; flex-direction: column; gap: 14px; }
}

.smb-explore { background: #fff; }
.smb-explore-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 30px 24px; margin-top: 36px; }
.smb-explore-grid > .smb-explore-card { grid-column: span 2; margin: 0 !important; min-width: 0; }
.smb-explore-grid > .smb-explore-card:nth-child(-n+2) { grid-column: span 3; }
.smb-explore-card figure { margin: 0 !important; overflow: hidden; }
.smb-explore-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; transition: transform .4s ease; }
.smb-explore-card:hover img { transform: scale(1.025); }
.entry-content .smb-explore-card h3 { font-size: 32px; margin: 14px 0 0 !important; }
.smb-explore-card h3 a { display: flex; justify-content: space-between; align-items: center; color: var(--smb-forest); text-decoration: none; }
.smb-explore-card h3 span { color: var(--smb-gold); font-family: var(--smb-sans); font-size: 22px; }
.smb-explore-card a:focus-visible { outline: 2px solid var(--smb-gold); outline-offset: 4px; }
@media (max-width: 767px) {
  .entry-content .smb-card-grid { margin-block: 24px 0 !important; row-gap: 0 !important; }
  .entry-content .smb-card-grid > .smb-card { padding: 22px 0 !important; margin: 0 !important; min-height: 0; }
  .entry-content .smb-card-grid .smb-card > * { margin-block: 0 !important; }
  .entry-content .smb-card-grid .smb-card > .smb-card__number { font-size: 24px; line-height: 1; margin-bottom: 10px !important; }
  .entry-content .smb-card-grid .smb-card > h3 { font-size: 29px; line-height: 1.12; margin-bottom: 10px !important; }
  .entry-content .smb-card-grid .smb-card > p:last-child { font-size: 15px; line-height: 1.6; }
  .smb-explore-grid { grid-template-columns: 1fr; gap: 24px; margin-top: 26px; }
  .smb-explore-grid > .smb-explore-card,
  .smb-explore-grid > .smb-explore-card:nth-child(-n+2) { grid-column: auto; }
  .smb-explore-card img { aspect-ratio: 16 / 9; }
  .entry-content .smb-explore-card h3 { font-size: 28px; margin-top: 10px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
