/* Aribilola Ventures — native block layout refinements. Tokens live in theme.json. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 2rem; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: .2em; }
a, button, input, textarea, select, summary { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid #896b00; outline-offset: 5px; }
.has-ink-background-color :where(a, button):focus-visible, .wp-block-cover :where(a, button):focus-visible { outline-color: #ffd900; }
::selection { background: #ffd900; color: #171714; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks { padding-block: 0; }
.aribilola-main, .aribilola-main > .wp-block-post-content { margin-block: 0; }
.aribilola-main > .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
.wp-block-template-part { margin-block: 0; }
.aribilola-section { padding-block: var(--wp--preset--spacing--60); }
.aribilola-section .wp-block-columns { gap: var(--wp--preset--spacing--50); margin-bottom: 0; }
.aribilola-section-heading { margin-bottom: 3.5rem; }
.aribilola-eyebrow { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; margin-bottom: 1.5rem; line-height: 1.5; }
.aribilola-eyebrow::before { content: ""; display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: #b39a00; margin-right: .65rem; vertical-align: .04em; }
.aribilola-header { background: #706e69; color: #fff; padding-block: .65rem; }
.aribilola-header-row { min-height: 76px; gap: 2rem; }
.aribilola-brand { gap: .1rem; flex-shrink: 0; }
.aribilola-brand .wp-block-site-logo { line-height: 0; }
.aribilola-brand-name { font-size: .95rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; line-height: 1.25; max-width: 140px; }
.aribilola-brand-name a { text-decoration: none; }
.aribilola-navigation a { padding-block: .65rem; text-underline-offset: .5rem; }
.aribilola-navigation .current-menu-item > a { text-decoration: underline; }
.aribilola-navigation .wp-block-navigation-item:last-child > a { border-bottom: 2px solid #c2a400; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1rem; align-items: flex-start; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.75rem; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-height: 44px; min-width: 44px; align-items: center; justify-content: center; }
.aribilola-hero { padding: clamp(3rem, 6vw, 6rem) clamp(1.25rem, 4.2vw, 4rem); text-align: left; min-height: 900px !important; }
.aribilola-hero .wp-block-cover__inner-container { max-width: 1320px; margin-inline: auto; }
.aribilola-hero .wp-block-cover__background { opacity: .42; }
.aribilola-hero .aribilola-eyebrow::before { background: #ffd900; }
.is-style-display-serif { font-family: var(--wp--preset--font-family--mogina); font-weight: 400; letter-spacing: -.025em; line-height: 1.04; }
.aribilola-hero h1 { max-width: 1220px; margin-block: 0; }
.aribilola-hero-description { max-width: 260px; line-height: 1.25; font-size: 1.5rem; font-weight: 700; }
.aribilola-hero-bottom { margin-top: 9rem; gap: 3rem; }
.aribilola-hero-copy { padding-bottom: 1rem; }
.aribilola-hero-montage { width: 52%; padding: .75rem; background: #fff; border-radius: .75rem; gap: .75rem; }
.aribilola-hero-montage .aribilola-hero-detail { flex: 1; min-width: 0; margin: 0; }
.aribilola-hero-detail img { width: 100%; height: 300px; object-fit: cover; display: block; border-radius: .25rem; }
.aribilola-hero .wp-block-buttons { margin-top: 2rem; }
.aribilola-hero-footnote { margin-top: 4.5rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; }
.wp-block-button__link { transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid currentColor; background: transparent; color: inherit; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #171714; color: #fef8f0; border-color: #171714; }
.wp-block-cover .wp-block-button__link:hover, .aribilola-footer .wp-block-button__link:hover { background: #fef8f0; color: #171714; }
.aribilola-intro > .wp-block-column:last-child { padding-top: 2.25rem; }
.aribilola-stats { margin-top: 4.5rem; padding-top: 2.5rem; border-top: 1px solid #d8cdbd; }
.aribilola-stat-number { font-size: clamp(3rem, 5.5vw, 5.5rem); font-weight: 500; letter-spacing: -.065em; line-height: 1.1; margin: 0; }
.aribilola-stats .wp-block-column > p + p { font-size: .875rem; margin-top: .75rem; }
.aribilola-project-section { padding-top: var(--wp--preset--spacing--60); background: #fff; }
.aribilola-projects .wp-block-post-template { gap: 4rem 3rem; }
.aribilola-projects .wp-block-post-template > li:nth-child(even) { padding-top: 7rem; }
.aribilola-project-card { position: relative; display: grid; grid-template-columns: 72px minmax(0,1fr); border-radius: .75rem; overflow: hidden; }
.aribilola-project-card .wp-block-post-featured-image { margin: 0; overflow: hidden; grid-column: 2; grid-row: 1; }
.aribilola-project-card .wp-block-post-featured-image img { transition: transform .5s ease; }
.aribilola-project-card:hover .wp-block-post-featured-image img { transform: scale(1.025); }
.aribilola-project-caption { margin-top: 0; padding: 2rem 1.25rem; background: #fae9ce; grid-column: 1; grid-row: 1; display: flex; flex-direction: column; justify-content: space-between; align-items: center; }
.aribilola-project-caption h3 { font-size: 1.35rem; writing-mode: vertical-rl; margin: 0; letter-spacing: 0; }
.aribilola-project-caption .aribilola-card-meta { writing-mode: vertical-rl; font-size: 1.25rem; color: #171714; }
.aribilola-card-meta { font-size: .85rem; color: #615c54; margin-top: .6rem; }
.wp-block-post-title a { text-decoration: none; }
.wp-block-post-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.aribilola-services .wp-block-post-template, .aribilola-journal .wp-block-post-template, .aribilola-listing .wp-block-post-template { gap: 3.5rem 2rem; }
.aribilola-services .wp-block-post-featured-image { border-radius: 1rem; overflow: hidden; }
.aribilola-services .wp-block-post-title { margin-top: 1.5rem; }
.aribilola-services .wp-block-post-excerpt__more-link, .aribilola-journal .wp-block-post-excerpt__more-link, .aribilola-listing .wp-block-post-excerpt__more-link { font-size: .875rem; font-weight: 700; }
.aribilola-services .wp-block-post-excerpt__more-text { margin-top: 1.5rem; }
.aribilola-consultation { padding: 4rem 1.25rem; text-align: center; }
.aribilola-consultation h2 { font-size: clamp(2rem, 5.5vw, 5rem); }
.aribilola-consultation .wp-block-buttons { justify-content: center; margin-top: 2rem; }
.aribilola-consultation .aribilola-eyebrow::before { background: #ffd900; }
.aribilola-benefits { margin-top: 3.5rem; }
.aribilola-benefit-image { border-radius: 1rem; overflow: hidden; }
.aribilola-benefit-image img { width: 100%; aspect-ratio: 1.2; object-fit: cover; display: block; }
.aribilola-benefits h3 { margin-top: 1.5rem; }
.aribilola-faq { background: #fae9ce; }
.aribilola-faq .wp-block-details { padding-block: 1.4rem; border-bottom: 1px solid #c9bba8; margin-top: 0; }
.aribilola-faq .wp-block-details:first-child { border-top: 1px solid #c9bba8; }
.aribilola-faq summary { cursor: pointer; font-weight: 600; font-size: 1.05rem; padding-right: .5rem; }
.aribilola-faq summary::marker { color: #716200; }
.aribilola-faq .wp-block-details p { padding-left: 1.1rem; color: #4d4942; font-size: .95rem; }
.aribilola-faq .wp-block-column:first-child > p { max-width: 340px; }
.aribilola-journal .wp-block-post-title { text-transform: none; line-height: 1.25; }
.aribilola-journal .wp-block-post-date { margin-top: 1.5rem; }
.aribilola-journal .wp-block-post-featured-image, .aribilola-listing .wp-block-post-featured-image { overflow: hidden; border-radius: .5rem; }
.aribilola-footer { padding-block: var(--wp--preset--spacing--60) 2rem; }
.aribilola-footer > .wp-block-group { padding: 0; }
.aribilola-footer-title { font-size: clamp(2rem, 6.5vw, 6rem); max-width: 1100px; margin-block: 1.5rem 2rem; }
.aribilola-footer .aribilola-eyebrow::before { background: #ffd900; }
.aribilola-footer-columns { margin-top: 5rem; gap: 3rem; padding-top: 3rem; border-top: 1px solid #55534c; }
.aribilola-footer-columns p { font-size: .9rem; color: #ded7cd; }
.aribilola-footer .wp-block-site-title { font-size: 1.5rem; font-weight: 700; }
.aribilola-footer .wp-block-site-title a { text-decoration: none; }
.aribilola-footer a { overflow-wrap: anywhere; }
.aribilola-footer nav { gap: .4rem; }
.aribilola-footer nav a { padding-block: .35rem; }
.aribilola-footer-bottom { border-top: 1px solid #55534c; padding-top: 2rem; margin-top: 3rem; color: #ded7cd; }
.aribilola-footer-bottom nav { column-gap: 1.5rem; }
.aribilola-page-hero { padding-bottom: 4rem; border-bottom: 1px solid #d8cdbd; }
.aribilola-page-hero h1 { max-width: 1100px; }
.aribilola-page-intro { max-width: 650px; margin-top: 2rem; }
.is-style-editorial-frame img { width: 100%; height: 640px; object-fit: cover; border-radius: 1rem; }
.aribilola-story h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
.aribilola-timeline .wp-block-columns { margin-top: 3rem; gap: 2.5rem; }
.aribilola-timeline .wp-block-column { border-top: 1px solid #bfb09c; padding-top: 2rem; }
.aribilola-timeline h3 { font-size: 1.25rem; margin-top: 1.25rem; }
.aribilola-timeline p:not(.aribilola-stat-number) { font-size: .95rem; }
.aribilola-contact-section a { overflow-wrap: anywhere; }
.aribilola-contact-section h3 { margin-top: 2rem; }
.aribilola-contact-image img { width: 100%; max-height: 220px; object-fit: cover; border-radius: .5rem; margin-top: 1.5rem; }
.aribilola-reading { min-height: 50vh; }
.aribilola-reading .wp-block-post-content { padding-top: 2rem; }
.aribilola-reading .wp-block-post-content h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); margin-top: 3rem; }
.aribilola-reading .wp-block-post-content h3 { font-size: 1.5rem; margin-top: 2rem; }
.aribilola-reading .wp-block-post-content li { margin-block: .6rem; }
.aribilola-article-header { padding-block: var(--wp--preset--spacing--60) 3rem; }
.aribilola-article-header h1 { max-width: 1100px; font-size: clamp(2.3rem, 5.2vw, 5rem); }
.aribilola-article-header .wp-block-post-excerpt { max-width: 760px; font-size: var(--wp--preset--font-size--lead); }
.aribilola-article-image { margin-top: 0; }
.aribilola-article-image img { max-height: 680px; object-fit: cover; }
.aribilola-article-meta { font-size: .875rem; gap: 1rem 2rem; }
.aribilola-article-meta p, .aribilola-article-meta time { margin-block: 0; }
.aribilola-listing { margin-top: 3rem; }
.aribilola-listing .wp-block-post-title { text-transform: none; line-height: 1.2; }
.aribilola-listing .wp-block-post-date { margin-top: 1.2rem; }
.aribilola-listing .wp-block-query-pagination a, .aribilola-listing .wp-block-query-pagination .page-numbers { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; }
.aribilola-listing .wp-block-query-pagination .current { border-radius: 50%; background: #ffd900; }
.aribilola-empty-state { min-height: 60vh; padding-block: var(--wp--preset--spacing--60); }
.wp-block-search__input { padding: .9rem 1rem; border: 1px solid #8b8276; border-radius: 4px; background: #fff; font: inherit; min-width: 0; }
.wp-block-search__button { border: 0; padding-inline: 1.5rem; }
.is-style-soft-card { background: #fae9ce; border-radius: 1rem; padding: 2rem; }
.aribilola-contact-block { padding: clamp(1.25rem, 3vw, 3rem); border-radius: 1rem; background: #fae9ce; }
.aribilola-contact-block h2 { font-size: clamp(1.6rem, 3vw, 2.5rem); margin-top: 0; }
.aribilola-contact-block__copy > p { margin-bottom: 2rem; }
.aribilola-contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.aribilola-contact-form .aribilola-field { margin: 0 0 1.25rem; }
.aribilola-contact-form label { display: block; font-size: .85rem; font-weight: 700; margin-bottom: .5rem; }
.aribilola-contact-form input:not([type=hidden]), .aribilola-contact-form textarea { display: block; width: 100%; min-height: 48px; background: #fffdf8; border: 1px solid #938774; border-radius: .25rem; padding: .8rem 1rem; color: #171714; font: inherit; }
.aribilola-contact-form textarea { resize: vertical; min-height: 160px; }
.aribilola-contact-form__required-note { font-size: .75rem; }
.aribilola-contact-form__submit { cursor: pointer; }
.aribilola-form-notice { border: 1px solid currentColor; border-left-width: 4px; padding: 1rem; }
.aribilola-form-notice.is-success { color: #245325; background: #f0fff0; }
.aribilola-form-notice.is-error { color: #812d1e; background: #fff5f2; }
.aribilola-contact-form__honeypot[hidden] { display: none !important; }
.screen-reader-text:focus { top: 8px; left: 8px; z-index: 100000; padding: 1rem; color: #171714; background: #ffd900; }
@media (max-width: 1000px) {
  .aribilola-navigation { --wp--style--block-gap: 1rem; font-size: .85rem; }
  .aribilola-header-row { gap: 1rem; }
  .aribilola-brand-name { max-width: 120px; font-size: .8rem; }
  .aribilola-projects .wp-block-post-template { gap: 2rem; }
  .aribilola-projects .wp-block-post-template > li:nth-child(even) { padding-top: 4rem; }
  .aribilola-hero { min-height: 650px !important; }
}
@media (max-width: 781px) {
  .aribilola-section-heading { margin-bottom: 2.5rem; }
  .aribilola-section .wp-block-columns, .aribilola-footer-columns { gap: 2.5rem; }
  .aribilola-intro > .wp-block-column:last-child { padding-top: 0; }
  .aribilola-stats { display: grid; grid-template-columns: 1fr 1fr; }
  .aribilola-hero h1 { font-size: clamp(2.65rem, 7.5vw, 4.5rem); }
  .aribilola-hero-description { font-size: 1.05rem; max-width: 410px; }
  .aribilola-hero-footnote { margin-top: 3rem; }
  .aribilola-footer-columns { margin-top: 3rem; }
  .aribilola-footer-bottom { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .is-style-editorial-frame img { height: 480px; }
  .aribilola-faq .wp-block-column:first-child > p { max-width: none; }
  .aribilola-timeline .wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; }
  .aribilola-page-hero { padding-bottom: 3rem; }
}
@media (max-width: 680px) {
  .aribilola-hero-bottom { margin-top: 3rem; gap: 2rem; }
  .aribilola-hero-montage { width: 100%; }
  .aribilola-hero-detail img { height: 220px; }
  .aribilola-project-card { display: flex; flex-direction: column; }
  .aribilola-project-caption { flex-direction: row; gap: 1rem; }
  .aribilola-project-caption h3 { writing-mode: horizontal-tb; }
  .aribilola-project-caption .aribilola-card-meta { writing-mode: horizontal-tb; margin: 0; }
  .aribilola-contact-form__grid { grid-template-columns: 1fr; gap: 0; }
  .aribilola-header-row { min-height: 60px; }
  .aribilola-brand .wp-block-site-logo { width: 56px; }
  .aribilola-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .aribilola-header .wp-block-navigation__responsive-container-open { display: flex; }
  .aribilola-hero { min-height: 650px !important; }
  .aribilola-hero h1 { font-size: clamp(2.7rem, 9.4vw, 4rem); line-height: 1.06; }
  .aribilola-hero .aribilola-eyebrow { max-width: 220px; font-size: .65rem; }
  .aribilola-projects .wp-block-post-template, .aribilola-services .wp-block-post-template, .aribilola-journal .wp-block-post-template, .aribilola-listing .wp-block-post-template { grid-template-columns: 1fr; gap: 2.75rem; }
  .aribilola-projects .wp-block-post-template > li:nth-child(even) { padding-top: 0; }
  .aribilola-project-card .wp-block-post-featured-image img { aspect-ratio: 4/4.5; }
  .aribilola-project-caption { padding-block: 1.25rem; }
  .aribilola-consultation { min-height: 440px !important; }
  .aribilola-stats { gap: 2rem 1rem !important; margin-top: 3rem; }
  .aribilola-benefit-image img { aspect-ratio: 4/3; }
  .aribilola-article-header h1 { font-size: clamp(2.2rem, 8vw, 3rem); overflow-wrap: break-word; }
  .aribilola-article-image img { aspect-ratio: 4/3; }
  .aribilola-timeline .wp-block-columns { grid-template-columns: 1fr; }
  .is-style-editorial-frame img { height: 420px; }
  .wp-block-search__inside-wrapper { flex-wrap: wrap; gap: .75rem; }
  .wp-block-search__button { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
