/*
Theme Name: Bartarin Studio
Theme URI: https://bartarinwebsite.com/
Author: وحید فرد
Author URI: https://bartarinwebsite.com/
Description: پوسته اختصاصی چندصفحه‌ای Bartarin Studio با تجربه سینمایی، محتوای قابل مدیریت و ساختار بهینه برای رشد.
Version: 3.2.2
Text Domain: bartarin
*/

:root {
  color-scheme: light;
  --bartarin-bg: #edf4fb;
  --bartarin-bg-deep: #dbe9f8;
  --bartarin-surface: rgba(252, 254, 255, .78);
  --bartarin-surface-strong: rgba(252, 254, 255, .94);
  --bartarin-ink: #0c1c33;
  --bartarin-text: #526276;
  --bartarin-muted: #8290a3;
  --bartarin-line: rgba(117, 159, 207, .28);
  --bartarin-blue-50: #f2f6fc;
  --bartarin-blue-100: #e3ecf9;
  --bartarin-blue-200: #c5d9f2;
  --bartarin-blue-300: #93bce8;
  --bartarin-blue-500: #2f7bd0;
  --bartarin-blue-600: #1e60b4;
  --bartarin-blue-700: #1a4d92;
  --bartarin-blue-900: #102c50;
  --bartarin-radius: 1.6rem;
  --bartarin-radius-small: 1rem;
  --bartarin-shadow: 0 32px 90px -56px rgba(20, 63, 118, .68);
  --bartarin-ease: cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body {
  margin: 0;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 84% 6%, rgba(147, 188, 232, .28), transparent 31rem),
    radial-gradient(circle at 8% 32%, rgba(197, 217, 242, .36), transparent 28rem),
    linear-gradient(180deg, #f8fbff 0%, var(--bartarin-bg) 58%, var(--bartarin-bg-deep) 100%);
  color: var(--bartarin-ink);
  font-family: Vazirmatn Variable, Tahoma, Arial, sans-serif;
  line-height: 1.8;
  direction: rtl;
  -webkit-tap-highlight-color: rgba(47, 123, 208, .14);
}
body.admin-bar .bartarin-site-header,
body.admin-bar .bartarin-fallback-header { top: 32px; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
button, a { touch-action: manipulation; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: var(--bartarin-blue-200); color: var(--bartarin-ink); }
.bartarin-shell,
.container { width: min(1180px, calc(100% - 2.5rem)); margin-inline: auto; }
.site-main { min-height: 60vh; overflow: clip; }
#services-list, #team-grid, #work-grid, #blog-grid, #bartarin-contact-root, #bartarin-footer-root { scroll-margin-top: 7rem; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: .75rem; right: .75rem; width: auto; height: auto; margin: 0; padding: .75rem 1rem; clip: auto; border-radius: .75rem; background: #fdfefe; color: var(--bartarin-blue-700); font-weight: 800; }
:where(a, button, input, textarea, select):focus-visible { outline: 3px solid rgba(47, 123, 208, .48); outline-offset: 3px; }

/* Shared React shell needs unlayered color rules on classic theme pages. */
.bartarin-site-header .bartarin-header-cta,
.bartarin-site-header .bartarin-header-cta:hover,
.bartarin-react-footer .bartarin-footer-cta,
.bartarin-react-footer .bartarin-footer-cta:hover { color: #fdfefe; }
.bartarin-react-footer .bartarin-footer-link { color: #64748b; }
.bartarin-react-footer .bartarin-footer-link:hover { color: var(--bartarin-blue-700); }
.bartarin-react-footer .bartarin-footer-social { color: var(--bartarin-blue-700); }
.bartarin-react-footer .bartarin-footer-social:hover { color: #fdfefe; }
.bartarin-react-footer .bartarin-footer-contact-item { color: #475569; }
.bartarin-react-footer .bartarin-footer-contact-item:hover { color: var(--bartarin-blue-700); }
.bartarin-react-footer { padding-bottom: env(safe-area-inset-bottom); }
.bartarin-site-header img { width: auto; max-width: 190px; height: 36px; object-fit: contain; }

/* No-script shell. React replaces these nodes when the shared app is ready. */
.bartarin-fallback-header {
  position: fixed;
  z-index: 50;
  top: 0;
  right: 0;
  left: 0;
  padding: 1rem 0;
}
.bartarin-fallback-header__inner {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: .65rem 1rem;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 1.15rem;
  background: rgba(252,254,255,.8);
  box-shadow: 0 18px 50px -34px rgba(26,77,146,.65);
  backdrop-filter: blur(18px);
}
.bartarin-fallback-brand { display: inline-flex; flex: 0 0 auto; align-items: center; }
.bartarin-brand-logo { width: auto; max-width: 190px; height: 36px; object-fit: contain; }
.bartarin-brand-text { color: var(--bartarin-blue-700); font-size: 1.05rem; font-weight: 950; }
.bartarin-fallback-menu,
.bartarin-fallback-footer__menu { display: flex; align-items: center; gap: .2rem; margin: 0; padding: 0; list-style: none; }
.bartarin-fallback-menu a { display: block; padding: .55rem .8rem; border-radius: 999px; color: #5b6778; font-size: .82rem; font-weight: 720; }
.bartarin-fallback-menu .current-menu-item > a,
.bartarin-fallback-menu a:hover { background: var(--bartarin-blue-100); color: var(--bartarin-blue-700); }
.bartarin-fallback-menu .menu-item-has-children { position: relative; }
.bartarin-fallback-menu .sub-menu { position: absolute; top: 100%; right: 0; display: none; min-width: 12rem; margin: .4rem 0 0; padding: .5rem; border: 1px solid var(--bartarin-line); border-radius: 1rem; background: #fdfefe; list-style: none; box-shadow: var(--bartarin-shadow); }
.bartarin-fallback-menu .menu-item-has-children:hover > .sub-menu,
.bartarin-fallback-menu .menu-item-has-children:focus-within > .sub-menu { display: block; }
.bartarin-fallback-actions { display: flex; flex: 0 0 auto; align-items: center; gap: .55rem; }
.bartarin-owner-chip { padding: .45rem .75rem; border-radius: 999px; background: var(--bartarin-blue-100); color: var(--bartarin-blue-700); font-size: .72rem; font-weight: 850; }
.bartarin-fallback-cta,
.bartarin-primary-link { display: inline-flex; align-items: center; justify-content: center; padding: .72rem 1.05rem; border-radius: 999px; background: linear-gradient(110deg, var(--bartarin-blue-500), var(--bartarin-blue-700)); color: #fdfefe; font-size: .8rem; font-weight: 850; box-shadow: 0 15px 30px -18px rgba(30,96,180,.85); }

/* Cinematic internal page hero. */
.bartarin-page-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: min(720px, 84dvh);
  align-items: center;
  padding: clamp(8.5rem, 12vw, 10.5rem) 0 clamp(3.5rem, 6vw, 5.5rem);
}
.bartarin-page-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 4.5rem 0 0;
  background:
    radial-gradient(circle at 78% 36%, rgba(147,188,232,.35), transparent 25rem),
    radial-gradient(circle at 18% 55%, rgba(255,255,255,.95), transparent 22rem);
  pointer-events: none;
}
.bartarin-page-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--bartarin-blue-300), transparent);
  opacity: .65;
}
.bartarin-page-hero__inner { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); align-items: center; gap: clamp(2.5rem, 7vw, 8rem); }
.bartarin-page-hero__copy { max-width: 820px; animation: bartarin-copy-in .9s var(--bartarin-ease) both; }
.bartarin-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-bottom: 1.35rem; color: var(--bartarin-muted); font-size: .75rem; font-weight: 760; }
.bartarin-breadcrumbs a { transition: color .22s ease; }
.bartarin-breadcrumbs a:hover { color: var(--bartarin-blue-600); }
.bartarin-page-code,
.section-overline { margin: 0 0 .85rem; color: var(--bartarin-blue-600); font-size: .72rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.bartarin-page-hero h1,
.blog-archive-hero h1 { max-width: 880px; margin: 0; font-size: clamp(2.8rem, 6.6vw, 5.7rem); font-weight: 950; line-height: 1.12; letter-spacing: -.05em; }
.bartarin-page-lead,
.blog-archive-hero > p,
.archive-description { max-width: 690px; margin: 1.35rem 0 0; color: var(--bartarin-text); font-size: clamp(1rem, 1.55vw, 1.15rem); line-height: 2; }
.bartarin-page-hero__visual {
  --orbit-size: min(26vw, 285px);
  position: relative;
  width: var(--orbit-size);
  aspect-ratio: 1;
  margin-inline: auto;
  border: 1px solid rgba(147,188,232,.42);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(252,254,255,.97) 0 18%, rgba(197,217,242,.52) 19% 34%, rgba(255,255,255,.16) 35% 68%, transparent 69%);
  box-shadow: inset 0 0 0 1.15rem rgba(255,255,255,.17), 0 42px 90px -45px rgba(26,77,146,.78);
  animation: bartarin-visual-in 1.1s .08s var(--bartarin-ease) both;
}
.bartarin-page-hero__visual::before,
.bartarin-page-hero__visual::after { content: ""; position: absolute; border: 1px solid var(--bartarin-blue-300); border-radius: 50%; inset: 13%; opacity: .58; }
.bartarin-page-hero__visual::after { inset: 29%; border-style: dashed; animation: bartarin-spin 18s linear infinite; }
.bartarin-page-hero__core { position: absolute; z-index: 2; inset: 35%; display: grid; place-content: center; border: 1px solid rgba(255,255,255,.92); border-radius: 50%; background: linear-gradient(145deg, #fdfefe, var(--bartarin-blue-100)); box-shadow: 0 18px 45px -24px rgba(26,77,146,.62); text-align: center; }
.bartarin-page-hero__core b { color: var(--bartarin-blue-700); font-size: clamp(1.15rem, 2.2vw, 1.65rem); line-height: 1; letter-spacing: -.08em; }
.bartarin-page-hero__core small { margin-top: .25rem; color: var(--bartarin-blue-500); font-size: .46rem; font-weight: 950; letter-spacing: .18em; }
.bartarin-page-hero__visual > span { --start: 0deg; --radius: calc(var(--orbit-size) * .43); position: absolute; z-index: 3; top: calc(50% - .38rem); left: calc(50% - .38rem); width: .76rem; height: .76rem; border: 3px solid #fdfefe; border-radius: 50%; background: var(--bartarin-blue-500); box-shadow: 0 5px 15px rgba(30,96,180,.35); animation: bartarin-orbit 9s linear infinite; }
.bartarin-page-hero__visual > span:nth-of-type(2) { --start: 122deg; --radius: calc(var(--orbit-size) * .35); width: .6rem; height: .6rem; animation-duration: 6.5s; animation-direction: reverse; }
.bartarin-page-hero__visual > span:nth-of-type(3) { --start: 246deg; --radius: calc(var(--orbit-size) * .47); width: .55rem; height: .55rem; animation-duration: 12s; }

@keyframes bartarin-copy-in { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bartarin-visual-in { from { opacity: 0; transform: translateX(-24px) scale(.93); } to { opacity: 1; transform: translateX(0) scale(1); } }
@keyframes bartarin-spin { to { transform: rotate(360deg); } }
@keyframes bartarin-orbit { from { transform: rotate(var(--start)) translateX(var(--radius)); } to { transform: rotate(calc(var(--start) + 360deg)) translateX(var(--radius)); } }

/* Content foundations. */
.bartarin-content-section { position: relative; padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(6rem, 11vw, 10rem); }
.bartarin-reading-shell { max-width: 1040px; }
.bartarin-featured-media { overflow: hidden; margin: 0 0 1.4rem; border: 1px solid rgba(255,255,255,.9); border-radius: var(--bartarin-radius); background: var(--bartarin-blue-100); box-shadow: var(--bartarin-shadow); }
.bartarin-featured-media img { width: 100%; aspect-ratio: 16 / 8.4; object-fit: cover; }
.bartarin-prose-surface,
.bartarin-intro-copy { position: relative; padding: clamp(1.5rem, 5vw, 4.2rem); border: 1px solid rgba(255,255,255,.94); border-radius: var(--bartarin-radius); background: var(--bartarin-surface); box-shadow: var(--bartarin-shadow); backdrop-filter: blur(14px); }
.bartarin-prose-surface::before { content: ""; position: absolute; top: clamp(1.5rem, 5vw, 4.2rem); right: 0; width: 3px; height: clamp(3rem, 8vw, 6rem); border-radius: 999px; background: linear-gradient(var(--bartarin-blue-300), var(--bartarin-blue-700)); }
.bartarin-intro-copy { max-width: 900px; margin: 0 0 3rem auto; }
.bartarin-prose { color: var(--bartarin-text); font-size: 1rem; line-height: 2.08; }
.bartarin-prose > :first-child { margin-top: 0; }
.bartarin-prose > :last-child { margin-bottom: 0; }
.bartarin-prose h2,
.bartarin-prose h3,
.bartarin-prose h4 { scroll-margin-top: 7rem; margin: 2em 0 .65em; color: var(--bartarin-ink); line-height: 1.55; }
.bartarin-prose h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.bartarin-prose h3 { font-size: 1.38rem; }
.bartarin-prose a { color: var(--bartarin-blue-700); text-decoration: underline; text-decoration-color: var(--bartarin-blue-300); text-underline-offset: .22em; }
.bartarin-prose blockquote { margin: 2rem 0; padding: 1.3rem 1.5rem; border-right: 4px solid var(--bartarin-blue-500); border-radius: 1rem; background: var(--bartarin-blue-50); }
.bartarin-prose table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; }
.bartarin-prose th, .bartarin-prose td { padding: .75rem; border-bottom: 1px solid var(--bartarin-line); }
.bartarin-edit-link { margin-top: 2rem; font-size: .8rem; font-weight: 800; }
.bartarin-empty-state { padding: clamp(2rem, 6vw, 4rem); border: 1px dashed var(--bartarin-blue-300); border-radius: var(--bartarin-radius); background: rgba(255,255,255,.56); text-align: center; }

/* Services. */
.bartarin-service-list { display: grid; gap: 1rem; counter-reset: service; }
.bartarin-service-row { position: relative; display: grid; grid-template-columns: 100px minmax(0,1fr) 58px; align-items: center; gap: clamp(1rem, 4vw, 3.3rem); overflow: hidden; padding: clamp(1.6rem, 4vw, 2.8rem); border: 1px solid rgba(255,255,255,.9); border-radius: var(--bartarin-radius); background: rgba(252,254,255,.6); box-shadow: 0 24px 65px -55px rgba(26,77,146,.65); transition: transform .42s var(--bartarin-ease), background-color .42s ease, border-color .42s ease, box-shadow .42s ease; }
.bartarin-service-row::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 28%; background: linear-gradient(90deg, rgba(197,217,242,.3), transparent); opacity: 0; transition: opacity .4s ease; pointer-events: none; }
.bartarin-service-row:hover { transform: translateY(-4px); border-color: rgba(147,188,232,.58); background: rgba(252,254,255,.9); box-shadow: 0 32px 80px -50px rgba(26,77,146,.58); }
.bartarin-service-row:hover::before { opacity: 1; }
.bartarin-service-row__index { color: var(--bartarin-blue-500); font-size: clamp(1rem, 2vw, 1.35rem); font-weight: 950; letter-spacing: .12em; white-space: nowrap; }
.bartarin-service-row h2 { margin: 0; font-size: clamp(1.5rem, 3.1vw, 2.7rem); line-height: 1.35; }
.bartarin-service-row h2 a { transition: color .22s ease; }
.bartarin-service-row h2 a:hover { color: var(--bartarin-blue-600); }
.bartarin-service-row p { max-width: 700px; margin: .7rem 0 0; color: var(--bartarin-text); }
.bartarin-round-link { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid var(--bartarin-blue-200); border-radius: 50%; color: var(--bartarin-blue-700); font-size: 1.3rem; transition: color .25s ease, background-color .25s ease, transform .25s ease; }
.bartarin-round-link:hover { transform: translateX(-4px); background: var(--bartarin-blue-600); color: #fdfefe; }

/* Team. */
.bartarin-team-grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 1.25rem; align-items: start; }
.bartarin-team-card { grid-column: span 4; overflow: hidden; border: 1px solid rgba(255,255,255,.9); border-radius: var(--bartarin-radius); background: rgba(252,254,255,.7); box-shadow: var(--bartarin-shadow); transition: transform .45s var(--bartarin-ease), box-shadow .45s ease; }
.bartarin-team-card:nth-child(1), .bartarin-team-card:nth-child(5) { grid-column: span 6; }
.bartarin-team-card:nth-child(3n) { margin-top: 2rem; }
.bartarin-team-card:hover { transform: translateY(-6px); box-shadow: 0 36px 90px -54px rgba(26,77,146,.72); }
.bartarin-team-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 4.5; background: linear-gradient(150deg, var(--bartarin-blue-100), var(--bartarin-blue-300)); }
.bartarin-team-card__media::after { content: ""; position: absolute; inset: auto 0 0; height: 38%; background: linear-gradient(transparent, rgba(10,32,60,.18)); pointer-events: none; }
.bartarin-team-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .78s var(--bartarin-ease); }
.bartarin-team-card:hover img { transform: scale(1.045); }
.bartarin-team-card__signal { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; width: .8rem; height: .8rem; border: 3px solid #fdfefe; border-radius: 50%; background: var(--bartarin-blue-500); box-shadow: 0 0 0 .35rem rgba(47,123,208,.17); }
.bartarin-team-card__body { position: relative; padding: 1.3rem 1.4rem 1.55rem; }
.bartarin-team-card__body p { margin: 0 0 .25rem; color: var(--bartarin-blue-600); font-size: .74rem; font-weight: 850; }
.bartarin-team-card__body h2 { margin: 0; font-size: 1.3rem; }
.bartarin-team-card__body > span { display: block; margin-top: .35rem; color: var(--bartarin-text); font-size: .86rem; }
.bartarin-team-card__body small { display: block; margin-top: .8rem; color: var(--bartarin-muted); }

/* Portfolio. */
.bartarin-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.4rem; }
.bartarin-work-card { overflow: hidden; border: 1px solid rgba(255,255,255,.92); border-radius: 2rem; background: rgba(252,254,255,.74); box-shadow: var(--bartarin-shadow); transition: transform .48s var(--bartarin-ease), box-shadow .48s ease; }
.bartarin-work-card:hover { transform: translateY(-6px); box-shadow: 0 42px 100px -58px rgba(26,77,146,.8); }
.bartarin-work-card--wide { grid-column: span 2; }
.bartarin-work-card__media { display: block; overflow: hidden; aspect-ratio: 16 / 10; background: linear-gradient(135deg, #143b6c, var(--bartarin-blue-500)); }
.bartarin-work-card--wide .bartarin-work-card__media { aspect-ratio: 16 / 7; }
.bartarin-work-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .85s var(--bartarin-ease), filter .55s ease; }
.bartarin-work-card:hover img { transform: scale(1.045); filter: saturate(1.08); }
.bartarin-work-card__lab { position: relative; display: block; width: 100%; height: 100%; background: radial-gradient(circle at 72% 30%, rgba(255,255,255,.28), transparent 22%), linear-gradient(135deg, #102d52, #2f7bd0); }
.bartarin-work-card__lab::before { content: ""; position: absolute; inset: 14%; border: 1px solid rgba(255,255,255,.35); border-radius: 1.25rem; transform: perspective(700px) rotateY(-8deg); }
.bartarin-work-card__lab i { position: absolute; z-index: 1; top: 22%; right: 22%; width: 10%; aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.85); }
.bartarin-work-card__lab i:nth-child(2) { top: 48%; right: 48%; width: 17%; opacity: .7; }
.bartarin-work-card__lab i:nth-child(3) { top: 68%; right: 28%; width: 7%; opacity: .55; }
.bartarin-work-card__body { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 1.35rem 1.55rem 1.65rem; }
.bartarin-work-card__body p { margin: 0 0 .3rem; color: var(--bartarin-blue-600); font-size: .75rem; font-weight: 800; }
.bartarin-work-card__body h2 { margin: 0; font-size: clamp(1.2rem, 2vw, 1.62rem); }
.bartarin-work-card__body strong { flex: 0 0 auto; color: var(--bartarin-blue-700); font-size: .84rem; }

/* About and contact. */
.bartarin-about-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,.5fr); align-items: start; gap: 1.5rem; }
.bartarin-metric-panel { position: sticky; top: 7.5rem; display: grid; grid-template-columns: 1fr; gap: 1rem; }
.bartarin-metric-panel > div { position: relative; overflow: hidden; padding: 1.55rem; border: 1px solid rgba(255,255,255,.9); border-radius: 1.4rem; background: linear-gradient(145deg, rgba(252,254,255,.92), rgba(227,236,249,.7)); box-shadow: var(--bartarin-shadow); }
.bartarin-metric-panel > div::after { content: ""; position: absolute; left: -1.4rem; bottom: -1.4rem; width: 5rem; height: 5rem; border: 1px solid var(--bartarin-blue-200); border-radius: 50%; }
.bartarin-metric-panel strong { display: block; color: var(--bartarin-blue-700); font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.15; }
.bartarin-metric-panel span { color: var(--bartarin-text); font-size: .86rem; }
.bartarin-contact-layout { display: grid; grid-template-columns: minmax(320px,.78fr) minmax(0,1.22fr); align-items: start; gap: clamp(1.5rem, 5vw, 4.5rem); }
.bartarin-contact-info { min-width: 0; }
.bartarin-contact-editor-copy { margin-bottom: 1.75rem; color: var(--bartarin-text); }
.bartarin-contact-channels__heading > p { margin: 0 0 .65rem; color: var(--bartarin-blue-600); font-size: .74rem; font-weight: 900; letter-spacing: .12em; }
.bartarin-contact-channels__heading h2 { margin: 0; font-size: clamp(1.75rem, 3.6vw, 2.85rem); line-height: 1.45; }
.bartarin-contact-channels__heading > span { display: block; margin-top: .8rem; color: var(--bartarin-text); line-height: 2; }
.bartarin-contact-channel-grid { display: grid; gap: .7rem; margin-top: 2rem; }
.bartarin-contact-channel { display: grid; grid-template-columns: 48px minmax(0,1fr) 24px; align-items: center; gap: .85rem; min-width: 0; padding: .85rem; border: 1px solid rgba(255,255,255,.9); border-radius: 1.2rem; background: rgba(252,254,255,.66); box-shadow: 0 20px 55px -48px rgba(26,77,146,.7); transition: transform .32s var(--bartarin-ease), border-color .32s ease, background-color .32s ease; }
.bartarin-contact-channel:hover { transform: translateX(-4px); border-color: var(--bartarin-blue-200); background: rgba(252,254,255,.94); }
.bartarin-contact-channel__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 1rem; background: var(--bartarin-blue-100); color: var(--bartarin-blue-700); }
.bartarin-contact-channel__copy { min-width: 0; }
.bartarin-contact-channel__copy small { display: block; overflow: hidden; color: var(--bartarin-muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.bartarin-contact-channel__copy strong { display: block; overflow: hidden; margin-top: .14rem; color: var(--bartarin-ink); font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.bartarin-contact-channel__arrow { color: var(--bartarin-blue-500); font-size: 1.05rem; }
.bartarin-contact-form-shell { min-height: 520px; overflow: hidden; border: 1px solid rgba(255,255,255,.94); border-radius: 2rem; background: rgba(252,254,255,.75); box-shadow: 0 38px 100px -58px rgba(26,77,146,.72); }
.bartarin-contact-form-shell > div { min-height: 100%; }
.bartarin-contact-form-shell form { margin-top: 0; padding: clamp(1rem, 4vw, 2.6rem); }
.bartarin-contact-fallback-list { display: grid; gap: .6rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }

/* Blog, archives and search. */
.blog-archive { padding-top: clamp(2rem, 4vw, 4rem); }
.blog-grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 1.35rem; }
.blog-card { grid-column: span 4; min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.92); border-radius: 1.65rem; background: rgba(252,254,255,.74); box-shadow: var(--bartarin-shadow); transition: transform .4s var(--bartarin-ease), border-color .35s ease, box-shadow .4s ease; }
.blog-card:first-child { grid-column: span 8; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(240px,.75fr); }
.blog-card:nth-child(5n) { grid-column: span 8; }
.blog-card:hover { transform: translateY(-5px); border-color: var(--bartarin-blue-200); box-shadow: 0 36px 90px -55px rgba(26,77,146,.7); }
.blog-card-media { display: block; overflow: hidden; min-height: 230px; aspect-ratio: 16 / 10; background: linear-gradient(135deg, var(--bartarin-blue-100), var(--bartarin-blue-300)); }
.blog-card:first-child .blog-card-media { min-height: 100%; aspect-ratio: auto; }
.blog-card-image { width: 100%; height: 100%; object-fit: cover; transition: transform .72s var(--bartarin-ease); }
.blog-card:hover .blog-card-image { transform: scale(1.045); }
.blog-card-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: rgba(26,77,146,.45); font-size: 4.5rem; font-weight: 900; }
.blog-card-body { padding: 1.45rem; }
.blog-card-meta { display: flex; flex-wrap: wrap; gap: .6rem; color: var(--bartarin-blue-600); font-size: .75rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.blog-card-meta > * + *::before { content: "/"; margin-left: .6rem; color: var(--bartarin-blue-300); }
.blog-card-title { margin: .8rem 0 .65rem; font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.65; font-weight: 900; }
.blog-card:first-child .blog-card-title { font-size: clamp(1.45rem, 3vw, 2.25rem); }
.blog-card-excerpt { margin: 0; color: var(--bartarin-text); font-size: .92rem; line-height: 2; }
.blog-card-link { display: inline-flex; margin-top: 1.05rem; color: var(--bartarin-blue-700); font-size: .84rem; font-weight: 900; }
.bartarin-result-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.bartarin-result-card { min-width: 0; padding: 1.6rem; border: 1px solid rgba(255,255,255,.92); border-radius: 1.5rem; background: rgba(252,254,255,.72); box-shadow: var(--bartarin-shadow); transition: transform .35s var(--bartarin-ease), border-color .35s ease; }
.bartarin-result-card:hover { transform: translateY(-5px); border-color: var(--bartarin-blue-200); }
.bartarin-result-card h2 { margin: .7rem 0 .65rem; font-size: 1.25rem; line-height: 1.7; font-weight: 900; }
.bartarin-result-card > div { margin: 0; color: var(--bartarin-text); font-size: .92rem; line-height: 2; }
.bartarin-result-card > a { display: inline-flex; margin-top: 1.05rem; color: var(--bartarin-blue-700); font-size: .84rem; font-weight: 900; }
.bartarin-result-card > p { margin: 0; color: var(--bartarin-blue-600); font-size: .72rem; font-weight: 850; }
.blog-pagination { margin-top: 3rem; }
.blog-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.blog-pagination .page-numbers { min-width: 2.7rem; padding: .65rem .85rem; border: 1px solid var(--bartarin-blue-200); border-radius: .9rem; background: rgba(252,254,255,.76); color: var(--bartarin-blue-700); text-align: center; font-weight: 850; }
.blog-pagination .page-numbers.current { border-color: var(--bartarin-blue-600); background: var(--bartarin-blue-600); color: #fdfefe; }
.blog-empty { padding: 3rem; border: 1px dashed var(--bartarin-blue-300); border-radius: 1.5rem; background: rgba(255,255,255,.55); text-align: center; }
.bartarin-search-form { max-width: 720px; margin: 0 0 2rem auto; }
.search-form { display: flex; gap: .6rem; }
.search-form label { flex: 1; }
.search-field { width: 100%; min-height: 52px; padding: .75rem 1rem; border: 1px solid var(--bartarin-blue-200); border-radius: .9rem; background: rgba(252,254,255,.88); color: var(--bartarin-ink); }
.search-submit { min-height: 52px; padding: .75rem 1.2rem; border: 0; border-radius: .9rem; background: var(--bartarin-blue-600); color: #fdfefe; font-weight: 850; cursor: pointer; transition: background-color .25s ease, transform .25s ease; }
.search-submit:hover { background: var(--bartarin-blue-700); }
.search-submit:active { transform: translateY(1px); }

/* Single content. */
.single-article { padding: clamp(9rem, 14vw, 11rem) 0 clamp(6rem, 11vw, 10rem); }
.single-article-container { max-width: 1080px; }
.single-article-card { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.93); border-radius: 2rem; background: rgba(252,254,255,.77); box-shadow: 0 40px 105px -62px rgba(26,77,146,.68); }
.single-article-header { position: relative; padding: clamp(2rem,5vw,4.5rem); background: radial-gradient(circle at 15% 20%, rgba(197,217,242,.48), transparent 22rem); }
.single-article-header::after { content: ""; position: absolute; right: clamp(2rem,5vw,4.5rem); bottom: 0; left: clamp(2rem,5vw,4.5rem); height: 1px; background: var(--bartarin-line); }
.single-article-back { display: inline-flex; margin-bottom: 2rem; color: var(--bartarin-blue-600); font-size: .84rem; font-weight: 900; }
.single-article-meta { display: flex; flex-wrap: wrap; gap: .8rem; color: var(--bartarin-blue-600); font-size: .8rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.single-article-meta > * + *::before { content: "/"; margin-left: .8rem; color: var(--bartarin-blue-300); }
.single-article-header h1 { max-width: 850px; margin: 1rem 0 0; font-size: 3rem; line-height: 1.34; font-weight: 950; letter-spacing: -.035em; }
.single-article-lead { max-width: 760px; margin: 1.2rem 0 0; color: var(--bartarin-text); font-size: 1.05rem; line-height: 2; }
.single-article-specialty { display: inline-flex; margin: 1rem 0 0; padding: .45rem .75rem; border-radius: 999px; background: var(--bartarin-blue-100); color: var(--bartarin-blue-700); font-size: .8rem; font-weight: 800; }
.single-article-media { margin: clamp(1.3rem,4vw,3rem) clamp(1.3rem,4vw,3rem) 0; overflow: hidden; border-radius: 1.5rem; aspect-ratio: 16 / 8.5; background: var(--bartarin-blue-100); }
.single-article-image { width: 100%; height: 100%; object-fit: cover; }
.single-article-content { max-width: 790px; margin-inline: auto; padding: clamp(2rem,5vw,4.5rem); color: var(--bartarin-text); font-size: 1.04rem; line-height: 2.08; }
.single-article-content h2, .single-article-content h3 { scroll-margin-top: 7rem; margin-top: 2.2em; color: var(--bartarin-ink); line-height: 1.55; }
.single-article-content a { color: var(--bartarin-blue-700); text-decoration: underline; text-decoration-color: var(--bartarin-blue-300); text-underline-offset: .22em; }
.single-article-content blockquote { margin: 2rem 0; padding: 1.3rem 1.5rem; border-right: 4px solid var(--bartarin-blue-500); border-radius: 1rem; background: var(--bartarin-blue-50); }
.single-article-footer { padding: 0 clamp(2rem,5vw,4.5rem) clamp(2rem,5vw,4.5rem); }
.single-article-tags { display: flex; flex-wrap: wrap; gap: .55rem; max-width: 790px; margin: 0 auto 2rem; }
.single-article-tags a { padding: .45rem .75rem; border-radius: 999px; background: var(--bartarin-blue-100); color: var(--bartarin-blue-700); font-size: .78rem; font-weight: 800; }
.single-article-layout { display: grid; direction: ltr; align-items: start; gap: clamp(1.2rem,2.4vw,2rem); }
.single-article-layout > * { direction: rtl; }
.single-article-layout--none { grid-template-columns: minmax(0,1fr); }
.single-article-layout--right { max-width: 1400px; grid-template-columns: minmax(0,1fr) minmax(230px,280px); grid-template-areas: "main right"; }
.single-article-layout--left { max-width: 1400px; grid-template-columns: minmax(230px,280px) minmax(0,1fr); grid-template-areas: "left main"; }
.single-article-layout--both { max-width: 1540px; grid-template-columns: minmax(210px,250px) minmax(0,1fr) minmax(210px,250px); grid-template-areas: "left main right"; }
.single-article-layout .single-article-card { grid-area: main; min-width: 0; }
.single-article-sidebar--right { grid-area: right; }
.single-article-sidebar--left { grid-area: left; }
.single-article-sidebar { position: sticky; top: 7.5rem; display: grid; gap: 1rem; }
.bartarin-article-widget { overflow: hidden; padding: 1.25rem; border: 1px solid rgba(255,255,255,.92); border-radius: 1.25rem; background: rgba(252,254,255,.76); box-shadow: 0 24px 65px -48px rgba(26,77,146,.72); color: var(--bartarin-text); font-size: .88rem; line-height: 1.85; }
.bartarin-article-widget__title { margin: 0 0 1rem; color: var(--bartarin-ink); font-size: 1rem; line-height: 1.55; }
.bartarin-article-widget :is(ul,ol) { margin: 0; padding: 0; list-style: none; }
.bartarin-article-widget li + li { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--bartarin-line); }
.bartarin-article-widget a { color: var(--bartarin-blue-700); transition: color .22s ease; }
.bartarin-article-widget a:hover { color: var(--bartarin-ink); }
.bartarin-article-widget :is(input,select) { max-width: 100%; }
.bartarin-comments { margin: 0 clamp(1.25rem,5vw,4.5rem) clamp(2rem,5vw,4.5rem); padding-top: clamp(2rem,4vw,3.5rem); border-top: 1px solid var(--bartarin-line); }
.bartarin-comments__header > span { color: var(--bartarin-blue-600); font-size: .72rem; font-weight: 900; }
.bartarin-comments__header h2, .comment-reply-title { margin: .5rem 0 1.5rem; color: var(--bartarin-ink); font-size: clamp(1.35rem,2.3vw,2rem); }
.bartarin-comment-list { display: grid; gap: 1rem; margin: 0 0 2.5rem; padding: 0; list-style: none; }
.bartarin-comment-list .comment-body { padding: 1.25rem; border: 1px solid var(--bartarin-line); border-radius: 1.15rem; background: rgba(242,246,252,.72); }
.bartarin-comment-list .comment-meta { margin-bottom: .8rem; }
.bartarin-comment-list .comment-author { display: flex; align-items: center; gap: .7rem; color: var(--bartarin-ink); }
.bartarin-comment-list .avatar { border-radius: 50%; }
.bartarin-comment-list .comment-metadata { margin: .35rem 4rem 0 0; font-size: .72rem; }
.bartarin-comment-list .comment-content { color: var(--bartarin-text); line-height: 1.95; }
.bartarin-comment-list .reply { margin-top: .75rem; font-size: .8rem; font-weight: 850; }
.bartarin-comment-list .children { display: grid; gap: 1rem; margin: 1rem clamp(.75rem,4vw,2.5rem) 0 0; padding: 0; list-style: none; }
.comment-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.comment-form > :is(.comment-notes,.logged-in-as,.comment-form-comment,.form-submit,.comment-form-cookies-consent,.aiowps-captcha) { grid-column: 1 / -1; }
.comment-form p { margin: 0; }
.comment-form label { display: block; margin-bottom: .45rem; color: var(--bartarin-ink); font-size: .78rem; font-weight: 850; }
.comment-form :is(input[type="text"],input[type="email"],input[type="url"],input[type="number"],textarea) { width: 100%; border: 1px solid rgba(70,125,185,.28); border-radius: .9rem; outline: 0; background: rgba(255,255,255,.86); color: var(--bartarin-ink); font: inherit; transition: border-color .22s ease, box-shadow .22s ease; }
.comment-form :is(input[type="text"],input[type="email"],input[type="url"],input[type="number"]) { min-height: 48px; padding: .7rem .9rem; }
.comment-form textarea { min-height: 150px; padding: .9rem; resize: vertical; }
.comment-form :is(input,textarea):focus { border-color: var(--bartarin-blue-500); box-shadow: 0 0 0 4px rgba(47,123,208,.1); }
.comment-form .submit { min-height: 48px; padding: .75rem 1.4rem; border: 0; border-radius: 999px; background: var(--bartarin-blue-600); color: #fff; font: inherit; font-weight: 900; cursor: pointer; transition: background-color .25s ease, transform .25s ease; }
.comment-form .submit:hover { background: var(--bartarin-blue-900); transform: translateY(-2px); }
.comment-notes, .logged-in-as, .bartarin-comments__closed { color: var(--bartarin-muted); font-size: .82rem; line-height: 1.8; }
.post-navigation .nav-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.post-navigation a { display: flex; min-height: 6.5rem; flex-direction: column; justify-content: center; padding: 1.15rem; border: 1px solid var(--bartarin-blue-200); border-radius: 1rem; background: var(--bartarin-blue-50); transition: transform .28s var(--bartarin-ease), background-color .28s ease; }
.post-navigation a:hover { transform: translateY(-3px); background: rgba(227,236,249,.8); }
.post-navigation span { color: var(--bartarin-text); font-size: .75rem; }
.post-navigation strong { margin-top: .3rem; color: var(--bartarin-blue-700); }

/* Error page. */
.bartarin-error-page { display: grid; min-height: 86dvh; align-items: center; padding: clamp(9rem,15vw,11rem) 0 7rem; }
.bartarin-error-page__inner { text-align: center; }
.bartarin-error-page__inner > strong { display: block; color: rgba(47,123,208,.13); font-size: clamp(8rem,28vw,22rem); font-weight: 950; line-height: .68; letter-spacing: -.09em; }
.bartarin-error-page h1 { margin: -1rem 0 .5rem; font-size: clamp(2rem,5vw,4rem); }
.bartarin-error-page p { color: var(--bartarin-text); }
.bartarin-error-actions { display: flex; max-width: 720px; align-items: center; justify-content: center; gap: 1rem; margin: 2rem auto 0; }
.bartarin-error-actions .search-form { flex: 1; }

/* Footer fallback. */
.bartarin-fallback-footer { position: relative; border-top: 1px solid var(--bartarin-line); background: rgba(252,254,255,.72); }
.bartarin-fallback-footer::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 3px; background: linear-gradient(90deg, var(--bartarin-blue-300), var(--bartarin-blue-600), var(--bartarin-blue-300)); }
.bartarin-fallback-footer__grid { display: grid; grid-template-columns: 1.25fr .75fr .75fr; gap: 3rem; padding-block: 3.5rem; }
.bartarin-fallback-footer h2 { margin: 0 0 1rem; font-size: 1rem; }
.bartarin-fallback-footer p { max-width: 560px; margin: 1rem 0 0; color: var(--bartarin-text); font-size: .88rem; }
.bartarin-fallback-footer__menu { display: grid; gap: .45rem; }
.bartarin-fallback-footer__menu a { color: var(--bartarin-text); font-size: .84rem; }
.bartarin-footer-contact { display: inline-flex; margin-top: 1rem; color: var(--bartarin-blue-700); font-size: .82rem; font-weight: 850; }
.bartarin-fallback-footer__bottom { padding: 1rem; border-top: 1px solid var(--bartarin-line); color: #8b98a9; text-align: center; font-size: .72rem; }

@media (max-width: 1100px) {
  .bartarin-fallback-nav { display: none; }
  .bartarin-team-card, .bartarin-team-card:nth-child(1), .bartarin-team-card:nth-child(5) { grid-column: span 6; }
  .bartarin-team-card:nth-child(3n) { margin-top: 0; }
  .blog-card { grid-column: span 6; }
  .blog-card:first-child, .blog-card:nth-child(5n) { grid-column: span 12; }
  .single-article-layout:is(.single-article-layout--right,.single-article-layout--left,.single-article-layout--both) { max-width: 1080px; grid-template-columns: minmax(0,1fr); grid-template-areas: "main" "right" "left"; }
  .single-article-sidebar { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 782px) {
  body.admin-bar .bartarin-site-header,
  body.admin-bar .bartarin-fallback-header { top: 46px; }
  .bartarin-page-hero { min-height: auto; padding-top: 9rem; }
  .bartarin-page-hero__inner { grid-template-columns: 1fr; }
  .bartarin-page-hero__visual { --orbit-size: 180px; position: absolute; z-index: -1; top: 8.3rem; left: -3rem; opacity: .5; }
  .bartarin-about-layout, .bartarin-contact-layout { grid-template-columns: 1fr; }
  .bartarin-service-row__index { letter-spacing: .04em; }
  .bartarin-metric-panel { position: static; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .bartarin-contact-info { max-width: 680px; }
  .bartarin-work-card--wide { grid-column: auto; }
  .bartarin-work-card--wide .bartarin-work-card__media { aspect-ratio: 16 / 10; }
  .blog-card:first-child { display: block; }
  .bartarin-fallback-footer__grid { grid-template-columns: 1fr 1fr; }
  .bartarin-fallback-footer__brand { grid-column: span 2; }
}

@media (max-width: 640px) {
  .bartarin-shell, .container { width: min(100% - 1.25rem, 1180px); }
  .bartarin-owner-chip { display: none; }
  .bartarin-brand-logo { max-width: 150px; height: 32px; }
  .bartarin-site-header img { max-width: 155px; height: 32px; }
  .bartarin-fallback-header { padding: .65rem 0; }
  .bartarin-fallback-header__inner { min-height: 58px; padding: .5rem .65rem; }
  .bartarin-fallback-cta { padding: .6rem .8rem; font-size: .72rem; }
  .bartarin-page-hero { padding-top: 8.5rem; padding-bottom: 3.25rem; }
  .bartarin-page-hero h1, .blog-archive-hero h1 { font-size: clamp(2.35rem,13vw,4rem); }
  .bartarin-page-lead { font-size: .96rem; }
  .bartarin-content-section { padding-top: 2.6rem; }
  .bartarin-prose-surface, .bartarin-intro-copy { padding: 1.35rem; }
  .bartarin-service-row { grid-template-columns: 48px minmax(0,1fr); padding: 1.25rem; }
  .bartarin-service-row__index { align-self: start; }
  .bartarin-round-link { display: none; }
  .bartarin-team-card, .bartarin-team-card:nth-child(1), .bartarin-team-card:nth-child(5) { grid-column: span 12; }
  .bartarin-work-grid, .bartarin-result-grid { grid-template-columns: 1fr; }
  .bartarin-work-card__body { align-items: start; flex-direction: column; }
  .blog-card, .blog-card:first-child, .blog-card:nth-child(5n) { grid-column: span 12; }
  .bartarin-metric-panel { grid-template-columns: 1fr; }
  .bartarin-contact-channel { grid-template-columns: 44px minmax(0,1fr) 20px; padding: .75rem; }
  .bartarin-contact-channel__icon { width: 44px; height: 44px; }
  .bartarin-contact-form-shell { min-height: 480px; border-radius: 1.4rem; }
  .post-navigation .nav-links { grid-template-columns: 1fr; }
  .bartarin-fallback-footer__grid { grid-template-columns: 1fr; }
  .bartarin-fallback-footer__brand { grid-column: auto; }
  .bartarin-error-actions { align-items: stretch; flex-direction: column; }
  .search-form { width: 100%; }
  .single-article-card { border-radius: 1.35rem; }
  .single-article-header h1 { font-size: clamp(2rem,10vw,3rem); }
  .single-article-header, .single-article-content, .single-article-footer { padding-right: 1.25rem; padding-left: 1.25rem; }
  .single-article-sidebar, .comment-form { grid-template-columns: 1fr; }
  .bartarin-comments { margin-right: 1.25rem; margin-left: 1.25rem; }
}

@media (max-width: 420px) {
  .bartarin-fallback-cta { display: none; }
  .bartarin-page-hero__visual { left: -5rem; opacity: .38; }
  .bartarin-page-hero h1 { font-size: clamp(2.25rem, 14vw, 3.4rem); }
  .bartarin-service-row { grid-template-columns: 1fr; gap: .5rem; }
  .bartarin-service-row__index { font-size: .78rem; }
  .search-form { flex-direction: column; }
  .search-submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
