/* BAL design system: tokens, base, shared pieces, page layouts.
   Values come from the BAL design handoff (bal-design/README.md). */

/* ---------- Fonts ---------- */
@font-face{font-family:"Abar";src:url("../fonts/AbarFaNum-VF.woff2") format("woff2");font-weight:100 950;font-style:normal;font-display:swap}
@font-face{font-family:"Abar Latin";src:url("../fonts/Abar-VF.woff2") format("woff2");font-weight:100 950;font-style:normal;font-display:swap}
@font-face{font-family:"IREntezar";src:url("../fonts/IREntezar.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

/* ---------- Tokens ---------- */
:root{
	--bal-ground:#FFF6F1;
	--bal-surface:#FFFFFF;
	--bal-field:#FFFBF9;
	--bal-ink:#1D1525;
	--bal-body:#2A2033;
	--bal-ink-2:#3A2E45;
	--bal-secondary:#4A3D55;
	--bal-muted:#5E5266;
	--bal-accent:#A01F6B;
	--bal-hover:#C2267A;
	--bal-chip:#FBE4EC;
	--bal-chip-ink:#8E1A5E;
	--bal-line:#EBD6DC;
	--bal-line-input:#D9BFC9;
	--bal-line-card:#F3E1E4;
	--bal-footer:#21172B;
	--bal-footer-ink:#F4EAF2;
	--bal-footer-muted:#D9CBDD;

	--bal-grad-text:linear-gradient(90deg,#7A3FB8 0%,#D62B80 55%,#E8502F 100%);
	--bal-grad-btn:linear-gradient(90deg,#7A3FB8,#C2267A);
	--bal-grad-cta:linear-gradient(270deg,#5B2E9E 0%,#A8257F 55%,#CF3F2E 100%);
	--bal-grad-cover:linear-gradient(150deg,#FFF1EA 0%,#FDE1E3 55%,#F3CDE8 100%);
	--bal-grad-photo:linear-gradient(165deg,#FFE7DD 0%,#FBD0DC 55%,#EBC6F2 100%);
	--bal-grad-diamond:linear-gradient(135deg,#F36E3D,#8F40B5);

	--bal-shadow:0 1px 0 rgba(29,21,37,.06),0 18px 40px -24px rgba(122,63,184,.35);
	--bal-shadow-lg:0 1px 0 rgba(29,21,37,.06),0 22px 48px -28px rgba(122,63,184,.4);
	--bal-shadow-xl:0 1px 0 rgba(29,21,37,.06),0 26px 56px -30px rgba(122,63,184,.45);

	--bal-font:"Abar",Tahoma,sans-serif;
	--bal-display:"IREntezar","Abar",serif;
	--bal-latin:"Cormorant Garamond",Georgia,serif;
	--bal-wing:url("../img/wing.svg");
}

/* ---------- Base ---------- */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bal-ground);color:var(--bal-ink);font-family:var(--bal-font);font-size:17px;line-height:1.9;overflow-x:clip}
body,button,input,select,textarea{font-family:var(--bal-font)}
a{color:var(--bal-ink);text-decoration:none;transition:color .15s}
a:hover,a:focus{color:var(--bal-hover)}
img{max-width:100%;height:auto}
h1,h2,h3,h4,h5,h6{margin:0;color:inherit}
[dir="ltr"],input[type="email"],input[type="password"],input[type="tel"],input[type="url"],.bal-ltr{font-family:"Abar Latin",var(--bal-font)}
::selection{background:#F3CDE8;color:var(--bal-ink)}
:focus-visible{outline:2px solid var(--bal-accent);outline-offset:3px}
.screen-reader-text,.bal-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.bal-site{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow-x:clip}
.bal-main{flex:1 1 auto;display:flex;flex-direction:column}

/* Elementor: let our wrapper classes drive typography */
.elementor-heading-title{font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-text-editor p{margin:0 0 .8em}
.bal-reset-p p{margin:0}
.e-con.bal-rel{position:relative}
.e-con.bal-clip{overflow:hidden}

/* ---------- Layout ---------- */
.bal-wrap{max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}
.bal-section{position:relative;padding:0 24px;box-sizing:border-box}

/* Soft glows behind heroes */
.bal-glow::before,.bal-glow::after{content:"";position:absolute;pointer-events:none;border-radius:50%;z-index:0}
.bal-glow > *{position:relative;z-index:1}
.bal-glow--l::before{left:-180px;top:-160px;width:760px;height:760px;background:radial-gradient(closest-side,rgba(224,53,119,.20),rgba(224,53,119,0))}
.bal-glow--r::before{right:-200px;top:-180px;width:760px;height:760px;background:radial-gradient(closest-side,rgba(224,53,119,.18),rgba(224,53,119,0))}
.bal-glow--home::after{right:-260px;bottom:-340px;width:720px;height:720px;background:radial-gradient(closest-side,rgba(143,64,181,.14),rgba(143,64,181,0))}

/* ---------- Type ---------- */
.bal-display,.bal-h1,.bal-h2,.bal-h3d,.bal-quote,.bal-logo__word{font-family:var(--bal-display);font-weight:400;font-synthesis:none;color:var(--bal-ink)}
.bal-h1{font-size:clamp(46px,5.9vw,84px);line-height:1.2}
.bal-h1--md{font-size:clamp(44px,5vw,72px)}
.bal-h1--form{font-size:60px}
.bal-h2{font-size:52px;line-height:1.22}
.bal-h2--sm{font-size:42px}
.bal-h3d{font-size:30px;line-height:1.25}
.bal-white,.bal-white .elementor-heading-title{color:#fff}
.bal-grad{background:var(--bal-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.bal-grad--pp{background-image:linear-gradient(90deg,#7A3FB8 0%,#D62B80 100%)}
.bal-grad--po{background-image:linear-gradient(90deg,#D62B80 0%,#E8502F 100%)}
.bal-lead{font-size:19px;color:var(--bal-secondary);max-width:540px;text-wrap:pretty}
.bal-lead--wide{font-size:18px;max-width:620px}
.elementor-widget.bal-lead{max-width:540px}
.elementor-widget.bal-lead--wide{max-width:620px}
.bal-text{color:var(--bal-secondary);text-wrap:pretty}
.bal-text-white{color:#fff;font-size:17px;text-wrap:pretty}
.bal-muted{color:var(--bal-muted)}

/* Eyebrow: hairline, gradient diamond, Latin tagline */
.bal-eyebrow,.bal-eyebrow .elementor-heading-title{display:flex;align-items:center;gap:12px;font-family:var(--bal-latin);font-size:17px;font-weight:600;letter-spacing:.2em;line-height:1.6;color:var(--bal-secondary)}
.bal-eyebrow.elementor-widget .elementor-heading-title{gap:12px}
.bal-eyebrow:not(.elementor-widget)::before,.bal-eyebrow .elementor-heading-title::before{content:"";order:-2;flex:0 0 44px;height:1px;background:var(--bal-ink);opacity:.4}
.bal-eyebrow:not(.elementor-widget)::after,.bal-eyebrow .elementor-heading-title::after{content:"";order:-1;flex:0 0 7px;height:7px;transform:rotate(45deg);background:var(--bal-grad-diamond)}
.bal-eyebrow.elementor-widget{display:block}
.bal-eyebrow--plain::before,.bal-eyebrow--plain::after,.bal-eyebrow--plain .elementor-heading-title::before,.bal-eyebrow--plain .elementor-heading-title::after{display:none!important}
.bal-eyebrow--white,.bal-eyebrow--white .elementor-heading-title{color:#fff}
.bal-eyebrow--center{justify-content:center}
.bal-eyebrow--center::before,.bal-eyebrow--center::after{flex-basis:56px!important;width:56px;height:1px!important;transform:none!important;background:var(--bal-ink)!important;opacity:.4;order:0!important}
.bal-latin{font-family:var(--bal-latin);font-weight:600;letter-spacing:.2em;direction:ltr;unicode-bidi:isolate}

/* ---------- Buttons ---------- */
.bal-button,.elementor-widget.bal-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;border-radius:999px;border:0;box-sizing:border-box;font-family:var(--bal-font);font-size:17px;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;transition:filter .15s,background-color .15s,color .15s,transform .15s;white-space:nowrap}
.elementor-widget.bal-btn .elementor-button{width:auto}
.elementor-widget.bal-btn .elementor-button-content-wrapper{display:inline-flex;align-items:center}
.bal-button--primary,.elementor-widget.bal-btn--primary .elementor-button{background:var(--bal-grad-btn);color:#fff}
.bal-button--primary:hover,.elementor-widget.bal-btn--primary .elementor-button:hover{color:#fff;filter:brightness(1.08)}
.bal-button--outline,.elementor-widget.bal-btn--outline .elementor-button{background:transparent;border:1.5px solid var(--bal-ink);color:var(--bal-ink)}
.bal-button--outline:hover,.elementor-widget.bal-btn--outline .elementor-button:hover{background:var(--bal-ink);color:#fff}
.bal-button--white,.elementor-widget.bal-btn--white .elementor-button{background:#fff;color:var(--bal-ink)}
.bal-button--white:hover,.elementor-widget.bal-btn--white .elementor-button:hover{color:var(--bal-accent)}
.bal-button--ghost,.elementor-widget.bal-btn--ghost .elementor-button{background:transparent;border:1.5px solid #fff;color:#fff}
.bal-button--ghost:hover,.elementor-widget.bal-btn--ghost .elementor-button:hover{background:#fff;color:var(--bal-ink)}
.bal-button--sm,.elementor-widget.bal-btn--sm .elementor-button{min-height:50px;padding:0 26px;font-size:16px}
.bal-button--xs{min-height:46px;padding:0 20px;font-size:15px}
.bal-button--block{width:100%}
.bal-link{display:inline-flex;align-items:center;min-height:44px;font-size:16px;font-weight:700;color:var(--bal-accent)}
.bal-link .elementor-heading-title{color:var(--bal-accent)}
.bal-link a{color:inherit}
.bal-link:hover,.bal-link a:hover{color:var(--bal-hover)}
.bal-link--sm{min-height:32px;font-size:15px}
.bal-btn-row{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Chips ---------- */
.bal-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 14px;border-radius:999px;background:var(--bal-chip);color:var(--bal-chip-ink);font-size:13px;font-weight:700;line-height:1.4;text-decoration:none}
a.bal-chip:hover{color:var(--bal-chip-ink);background:#F7D3E1}
.bal-chip--ink{background:var(--bal-ink);color:#fff}
.bal-pill{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;background:#fff;border:1px solid var(--bal-line);box-sizing:border-box;color:var(--bal-ink);font-size:15px;font-weight:500;text-decoration:none}
.bal-pill:hover{border-color:var(--bal-hover);color:var(--bal-hover)}
.bal-pill.is-active{background:var(--bal-ink);border-color:var(--bal-ink);color:#fff;font-weight:700}

/* ---------- Wing mark ---------- */
.bal-wing{display:block;width:auto}
.bal-wing--white{filter:brightness(0) invert(1)}
.bal-watermark{position:absolute;pointer-events:none;filter:brightness(0) invert(1);opacity:.22;z-index:0}
.bal-watermark img{height:100%;width:auto;display:block}

/* ---------- Header ---------- */
.bal-header{width:100%;box-sizing:border-box;padding:0 24px;background:var(--bal-ground);color:var(--bal-ink);font-size:16px;line-height:1.6;position:relative;z-index:20}
.bal-header__in{max-width:1200px;margin:0 auto;min-height:92px;box-sizing:border-box;padding:12px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px}
.bal-logo{display:flex;align-items:center;gap:12px;color:var(--bal-ink)}
.bal-logo:hover{color:var(--bal-ink)}
.bal-logo img{height:48px;width:auto}
.bal-logo__text{display:flex;flex-direction:column;gap:2px}
.bal-logo__word{font-size:34px;line-height:1}
.bal-logo__tag{font-family:var(--bal-latin);font-size:11px;font-weight:600;letter-spacing:.22em;color:var(--bal-secondary);direction:ltr;text-align:right}
.bal-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 36px;font-weight:500}
.bal-nav ul{list-style:none;margin:0;padding:0;display:contents}
.bal-nav li{display:contents}
.bal-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--bal-ink)}
.bal-nav a:hover,.bal-nav .current-menu-item>a,.bal-nav a[aria-current="page"]{color:var(--bal-hover)}
.bal-header__actions{display:flex;align-items:center;gap:8px}
.bal-header__login{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;color:var(--bal-ink);font-weight:700}
.bal-header__cta{min-height:46px;padding:0 24px;font-size:16px}
.bal-search-toggle{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;border:0;background:transparent;color:var(--bal-ink);cursor:pointer;padding:0}
.bal-search-toggle:hover{color:var(--bal-hover);background:rgba(29,21,37,.05)}
.bal-search-toggle svg{width:20px;height:20px}
.bal-header-search{max-width:1200px;margin:0 auto;padding:0 0 18px}
.bal-header-search[hidden]{display:none}

/* ---------- Search field ---------- */
.bal-search{position:relative;display:flex;flex:0 1 300px}
.bal-search input[type="search"]{width:100%;min-height:48px;box-sizing:border-box;padding:0 20px 0 52px;border-radius:999px;border:1px solid var(--bal-line-input);background:#fff;color:var(--bal-ink);font-size:15px;font-family:var(--bal-font)}
.bal-search input[type="search"]:focus{outline:none;border-color:var(--bal-accent);box-shadow:0 0 0 3px rgba(160,31,107,.12)}
.bal-search button{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:999px;border:0;background:var(--bal-grad-btn);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.bal-search button svg{width:17px;height:17px}
.bal-search--lg{flex-basis:auto;max-width:620px}
.bal-search--lg input[type="search"]{min-height:56px;font-size:16px}

/* ---------- Footer ---------- */
.bal-footer{width:100%;box-sizing:border-box;padding:56px 24px 0;background:var(--bal-footer);color:var(--bal-footer-ink);font-size:15px;line-height:1.9}
.bal-footer__in{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
.bal-footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px 64px}
.bal-footer__brand{flex:1 1 320px;max-width:420px;display:flex;flex-direction:column;gap:14px}
.bal-footer .bal-logo,.bal-footer .bal-logo__word{color:#fff}
.bal-footer .bal-logo__tag{color:var(--bal-footer-muted)}
.bal-footer p{margin:0;color:var(--bal-footer-muted);text-wrap:pretty}
.bal-footer__col{display:flex;flex-direction:column;gap:4px}
.bal-footer__col ul{list-style:none;margin:0;padding:0;display:contents}
.bal-footer__col li{display:contents}
.bal-footer__title{font-weight:700;font-size:16px;color:#fff;margin-bottom:6px}
.bal-footer__col a{display:inline-flex;align-items:center;gap:8px;min-height:34px;color:var(--bal-footer-muted)}
.bal-footer__col a:hover{color:#fff}
.bal-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:20px 0 24px;border-top:1px solid rgba(244,234,242,.18);font-size:14px;color:var(--bal-footer-muted)}
.bal-footer__bottom .bal-latin{font-size:15px;letter-spacing:.16em}

/* ---------- Cards ---------- */
.bal-card{display:flex;flex-direction:column;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--bal-shadow)}
.bal-card__body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 24px 24px}
.bal-card__title{margin:0;font-size:21px;font-weight:700;line-height:1.6}
.bal-card__title a{color:var(--bal-ink)}
.bal-card__title a:hover{color:var(--bal-hover)}
.bal-card__excerpt{margin:0;font-size:15px;color:var(--bal-muted);text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bal-card--flat{box-shadow:none;align-items:flex-start;gap:12px;padding:28px}
.bal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:28px}
.bal-grid--blog{gap:32px 28px}
.bal-grid--related{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:24px}

/* Cover tile (featured image or generated) */
.bal-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;aspect-ratio:5/4;padding:28px;box-sizing:border-box;background:var(--bal-grad-cover);color:var(--bal-ink);text-align:center;overflow:hidden;position:relative}
.bal-cover:hover{color:var(--bal-ink)}
.bal-cover--img{padding:0;background:#F3CDE8}
.bal-cover.bal-cover--img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.bal-card:hover .bal-cover.bal-cover--img img{transform:scale(1.03)}
.bal-cover img.bal-cover__wing{height:34px;width:auto;flex:0 0 auto}
.bal-cover__title{font-family:var(--bal-display);font-weight:400;font-size:42px;line-height:1.3;font-synthesis:none}
.bal-cover__title--poster{font-family:var(--bal-font);font-weight:900;font-size:24px;line-height:1.65}
.bal-cover__tag{font-family:var(--bal-latin);font-size:13px;font-weight:600;letter-spacing:.2em;color:var(--bal-secondary);direction:ltr}
.bal-cover__note{font-size:14px;color:var(--bal-secondary)}

/* Featured post */
.bal-featured{display:flex;flex-wrap:wrap;background:#fff;border-radius:32px;overflow:hidden;box-shadow:var(--bal-shadow-lg)}
.bal-featured .bal-cover{flex:1 1 420px;min-height:360px;aspect-ratio:auto;padding:32px}
.bal-featured .bal-cover--img{padding:0}
.bal-featured .bal-cover__title{font-size:46px}
.bal-featured__body{flex:1 1 420px;box-sizing:border-box;padding:40px 44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}
.bal-featured__title{font-family:var(--bal-display);font-weight:400;font-size:44px;line-height:1.3;margin:0;font-synthesis:none}
.bal-featured__title a{color:var(--bal-ink)}
.bal-featured__meta{font-size:14px;color:var(--bal-muted)}
.bal-chips{display:flex;flex-wrap:wrap;align-items:center;gap:10px}

/* Pagination */
.bal-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}
.bal-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 4px;border-radius:999px;background:#fff;border:1px solid var(--bal-line);box-sizing:border-box;color:var(--bal-ink);font-weight:500}
.bal-pagination .page-numbers.current{background:var(--bal-ink);border-color:var(--bal-ink);color:#fff;font-weight:700}
.bal-pagination .page-numbers.next,.bal-pagination .page-numbers.prev{padding:0 22px;font-weight:700}
.bal-pagination .page-numbers.dots{background:transparent;border:0}
.bal-pagination a.page-numbers:hover{border-color:var(--bal-hover);color:var(--bal-hover)}

/* ---------- CTA banner ---------- */
.bal-cta{position:relative;overflow:hidden;border-radius:40px;background:var(--bal-grad-cta);color:#fff;box-sizing:border-box}
.bal-cta__wing{position:absolute;left:72px;top:-40px;height:440px;opacity:.22;filter:brightness(0) invert(1);pointer-events:none;z-index:0}
.bal-cta > *:not(.bal-cta__wing){position:relative;z-index:1}

/* Elementor-specific: wing watermark as image widget */
.elementor-widget.bal-wm{position:absolute!important;pointer-events:none;z-index:0;width:auto!important;max-width:none!important}
.elementor-widget.bal-wm img{height:100%;width:auto;max-width:none;filter:brightness(0) invert(1)}
.elementor-widget.bal-wm--cta{left:72px;top:-40px;height:440px;opacity:.22}
.elementor-widget.bal-wm--portrait{top:44px;left:50%;transform:translateX(-50%);height:420px;opacity:.6}
.elementor-widget.bal-wm--panel{top:40px;left:50%;transform:translateX(-50%);height:420px;opacity:.24}
.elementor-widget.bal-wm--hours{left:20px;top:12px;height:150px;opacity:.6}
.elementor-widget.bal-wm img{height:100%!important}
.e-con.bal-cta-box > .elementor-element:not(.bal-wm),.e-con.bal-panel > .elementor-element:not(.bal-wm),.e-con.bal-portrait > .elementor-element:not(.bal-wm),.e-con.bal-hours > .elementor-element:not(.bal-wm){position:relative;z-index:1}

/* ---------- Home ---------- */
.e-con.bal-cta-box{border-radius:40px;background:var(--bal-grad-cta);color:#fff;overflow:hidden;position:relative}
.e-con.bal-portrait{border-radius:40px;background:var(--bal-grad-photo);overflow:hidden;position:relative}
.bal-photo-label,.bal-photo-label .elementor-heading-title{display:inline-flex;padding:6px 18px;border-radius:999px;background:rgba(255,255,255,.88);color:var(--bal-ink);font-size:14px;font-weight:500;line-height:1.6}
.bal-photo-label{padding:0;background:none}
.elementor-widget.bal-photo-img img{width:100%;height:100%;object-fit:cover;border-radius:40px}

/* ---------- About ---------- */
.e-con.bal-belief{background:#fff;border-radius:28px}
.bal-num,.bal-num .elementor-heading-title{font-family:var(--bal-font);font-size:64px;font-weight:900;line-height:1.1;background:var(--bal-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.bal-num{background:none}
.bal-h3,.bal-h3 .elementor-heading-title{font-family:var(--bal-display);font-weight:400;font-size:34px;line-height:1.3;font-synthesis:none}
.bal-small,.bal-small p{font-size:16px;color:var(--bal-secondary)}
.e-con.bal-tl-row{border-top:1px solid var(--bal-line)}
.e-con.bal-tl-row--last{border-bottom:1px solid var(--bal-line)}
.bal-tl-year,.bal-tl-year .elementor-heading-title{font-size:26px;font-weight:900;color:var(--bal-accent);line-height:1.5}
.bal-tl-title,.bal-tl-title .elementor-heading-title{font-size:22px;font-weight:700;line-height:1.6}
.bal-tl-desc,.bal-tl-desc p{color:var(--bal-secondary)}

/* ---------- Panels (contact aside, sign-in/up side) ---------- */
.e-con.bal-box{background:#fff;border-radius:28px}
.e-con.bal-hours{background:var(--bal-grad-photo);border-radius:28px;overflow:hidden;position:relative}
.bal-contact-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;min-height:48px;border-top:1px solid var(--bal-line-card);color:var(--bal-ink)}
.bal-contact-row b{font-weight:700}
.bal-contact-row span{color:var(--bal-accent);font-weight:500}
.bal-contact-row--plain span{color:var(--bal-secondary);font-weight:400}
.e-con.bal-auth{background:#fff;border-radius:40px;overflow:hidden;box-shadow:var(--bal-shadow-xl)}
.e-con.bal-panel{position:relative;overflow:hidden;color:#fff;background:linear-gradient(200deg,#5B2E9E 0%,#A8257F 55%,#CF3F2E 100%)}
.e-con.bal-panel--up{background:linear-gradient(160deg,#5B2E9E 0%,#A8257F 55%,#CF3F2E 100%)}
.bal-panel-title,.bal-panel-title .elementor-heading-title{font-family:var(--bal-display);font-weight:400;font-size:56px;line-height:1.25;color:#fff;font-synthesis:none}
.bal-diamonds ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:16px;color:#fff}
.bal-diamonds li{display:flex;align-items:center;gap:12px}
.bal-diamonds li::before{content:"";flex:0 0 auto;width:7px;height:7px;transform:rotate(45deg);background:#fff}

/* ---------- Forms ---------- */
.bal-form{display:flex;flex-direction:column;gap:20px;font-size:16px}
.bal-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px}
.bal-form__grid--tight{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
.bal-field{display:flex;flex-direction:column;gap:6px}
.bal-field label,.bal-label{font-size:15px;font-weight:700;color:var(--bal-ink)}
.bal-field label small,.bal-label small{font-weight:400;color:var(--bal-muted);font-size:inherit}
.bal-input,.bal-form input[type="text"],.bal-form input[type="email"],.bal-form input[type="tel"],.bal-form input[type="password"],.bal-form select,.bal-form textarea,
.wpcf7 .bal-form input[type="text"],.wpcf7 .bal-form input[type="email"],.wpcf7 .bal-form select,.wpcf7 .bal-form textarea{width:100%;min-height:52px;box-sizing:border-box;padding:0 18px;border-radius:16px;border:1px solid var(--bal-line-input);background:var(--bal-field);color:var(--bal-ink);font-size:16px;line-height:1.6;transition:border-color .15s,box-shadow .15s}
.bal-form textarea{min-height:160px;padding:14px 18px;line-height:1.9;resize:vertical}
.bal-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231D1525' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 18px center;padding-left:44px}
.bal-form input:focus,.bal-form select:focus,.bal-form textarea:focus{outline:none;border-color:var(--bal-accent);box-shadow:0 0 0 3px rgba(160,31,107,.12)}
.bal-form--white input,.bal-form--white textarea{background:#fff!important}
.bal-check{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15px;cursor:pointer}
.bal-check input{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:var(--bal-accent)}
.bal-form__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;font-size:15px}
.bal-form__row a{display:inline-flex;align-items:center;min-height:44px;color:var(--bal-accent);font-weight:700}
.bal-form__alt{margin:0;text-align:center;color:var(--bal-secondary)}
.bal-form__alt a{color:var(--bal-accent);font-weight:700}
.bal-form .bal-button{align-self:flex-start}
.bal-form .bal-button--block{align-self:stretch}
.bal-form .bal-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.bal-notice{padding:14px 18px;border-radius:16px;font-size:15px;line-height:1.8}
.bal-notice--error{background:#FDE8EC;color:#8E1A3A;border:1px solid #F5C2CF}
.bal-notice--ok{background:#EEF7EE;color:#235C2B;border:1px solid #C7E3C9}
.bal-notice ul{margin:0;padding:0 18px 0 0}

/* Contact Form 7 inside our design */
.wpcf7 .bal-form p{margin:0}
.wpcf7 .bal-form br{display:none}
.wpcf7-form-control-wrap{display:block}
.wpcf7 .bal-form .wpcf7-submit{align-self:flex-start}
.wpcf7 .wpcf7-not-valid-tip{font-size:13px;color:#B0244F;margin-top:6px}
.wpcf7 form .wpcf7-response-output{margin:12px 0 0;padding:12px 16px;border-radius:16px;font-size:15px}
.wpcf7 .wpcf7-spinner{margin:0 12px}

/* ---------- Page heroes (PHP templates) ---------- */
.bal-hero{padding:56px 24px 40px}
.bal-hero__in{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.bal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:20px}

/* ---------- Single article ---------- */
.bal-art-hero{position:relative;overflow:hidden;max-width:1200px;margin:0 auto;box-sizing:border-box;padding:48px 32px 60px;border-radius:40px;background:var(--bal-grad-cover);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.bal-art-hero > *{position:relative}
.bal-art-hero__wing{position:absolute!important;top:30px;height:460px;opacity:.55;filter:brightness(0) invert(1);pointer-events:none}
.bal-art-hero__wing--l{left:64px}
.bal-art-hero__wing--r{right:64px;transform:scaleX(-1)}
.bal-crumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;font-size:14px;color:var(--bal-secondary)}
.bal-crumbs a{color:var(--bal-secondary)}
.bal-crumbs a:last-child{color:var(--bal-chip-ink);font-weight:700}
.bal-art-hero__lead{margin:0;max-width:620px;font-size:19px;color:var(--bal-ink-2);text-wrap:pretty}
.bal-art-hero__thumb{width:min(100%,760px);border-radius:28px;overflow:hidden;margin-top:8px}
.bal-art-hero__thumb img{display:block;width:100%;height:auto}
.bal-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;font-size:14px;color:var(--bal-secondary)}
.bal-meta__avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:#fff;overflow:hidden}
.bal-meta__avatar img{height:26px;width:auto}
.bal-meta__avatar img.avatar{height:44px;width:44px;object-fit:cover}
.bal-meta__author{font-weight:700;color:var(--bal-ink)}
.bal-art{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:48px 56px}
.bal-art__body{flex:999 1 560px;min-width:0;max-width:760px;display:flex;flex-direction:column;gap:20px}
.bal-prose{font-size:18px;line-height:2;color:var(--bal-body)}
.bal-prose > *{margin:0}
.bal-prose > * + *{margin-top:20px}
.bal-prose h2{margin-top:40px;font-family:var(--bal-display);font-weight:400;font-size:38px;line-height:1.3;color:var(--bal-ink);scroll-margin-top:24px;font-synthesis:none}
.bal-prose h3{margin-top:32px;font-size:24px;font-weight:800;line-height:1.6;color:var(--bal-ink);scroll-margin-top:24px}
.bal-prose a{color:var(--bal-accent);font-weight:700}
.bal-prose a:hover{color:var(--bal-hover)}
.bal-prose ul,.bal-prose ol{padding:0 24px 0 0;display:flex;flex-direction:column;gap:6px}
.bal-prose blockquote{margin:32px 0;padding:28px 36px;border-radius:28px;background:#fff;font-family:var(--bal-display);font-weight:400;font-size:32px;line-height:1.5;color:var(--bal-ink);text-align:center;text-wrap:balance;border:0;font-synthesis:none}
.bal-prose blockquote p{margin:0}
.bal-prose blockquote cite{display:block;margin-top:8px;font-family:var(--bal-font);font-size:15px;font-style:normal;color:var(--bal-muted)}
.bal-prose img,.bal-prose figure{border-radius:24px}
.bal-prose figure{margin-inline:0}
.bal-prose figcaption{font-size:14px;color:var(--bal-muted);text-align:center;margin-top:8px}
.bal-prose code{background:#fff;padding:2px 8px;border-radius:8px;font-size:.9em}
.bal-prose table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;font-size:16px}
.bal-prose th,.bal-prose td{padding:12px 16px;border-bottom:1px solid var(--bal-line-card);text-align:right}
.bal-inline-cta{position:relative;overflow:hidden;margin-top:20px;padding:32px 36px;border-radius:28px;background:linear-gradient(270deg,#5B2E9E 0%,#A8257F 60%,#CF3F2E 100%);color:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:16px;line-height:1.9}
.bal-inline-cta > *{position:relative;z-index:1}
.bal-inline-cta .bal-cta__wing{left:32px;top:-20px;height:280px;z-index:0;position:absolute}
.bal-inline-cta__title{font-family:var(--bal-display);font-weight:400;font-size:32px;line-height:1.3;font-synthesis:none}
.bal-inline-cta p{margin:0;max-width:460px;text-wrap:pretty}
.bal-inline-cta .bal-button{margin-top:10px}
.bal-author{margin-top:20px;padding:28px;border-radius:28px;background:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:20px 24px;font-size:16px;line-height:1.9}
.bal-author__pic{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:999px;background:var(--bal-grad-photo);overflow:hidden}
.bal-author__pic img{width:88px;height:88px;object-fit:cover}
.bal-author__pic img.bal-wing{width:auto;height:44px;object-fit:contain}
.bal-author__info{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:4px}
.bal-author__label{font-size:14px;color:var(--bal-muted)}
.bal-author__name{font-size:20px;font-weight:700;color:var(--bal-ink)}
.bal-author p{margin:0;color:var(--bal-secondary)}
.bal-author a{color:var(--bal-accent);font-weight:700}
.bal-aside{flex:1 1 280px;max-width:340px;min-width:0;display:flex;flex-direction:column;gap:20px;position:sticky;top:24px}
.bal-aside__box{padding:26px 28px;border-radius:28px;background:#fff;display:flex;flex-direction:column;gap:4px;font-size:16px}
.bal-aside__title{font-family:var(--bal-display);font-weight:400;font-size:26px;line-height:1.3;margin-bottom:8px;font-synthesis:none}
.bal-toc a{display:inline-flex;align-items:center;min-height:40px;color:var(--bal-body);line-height:1.5}
.bal-toc a:hover,.bal-toc a.is-active{color:var(--bal-hover)}
.bal-toc a.is-sub{padding-right:14px;font-size:15px;color:var(--bal-muted)}
.bal-share{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.bal-share .bal-button{font-family:var(--bal-font)}
.bal-related,.bal-comments{padding:80px 24px 0}
.bal-comments{padding-bottom:96px}
.bal-comments__in{max-width:760px;display:flex;flex-direction:column;gap:8px}
.bal-comment-list{list-style:none;margin:16px 0 8px;padding:0;display:flex;flex-direction:column;gap:16px}
.bal-comment-list .children{list-style:none;margin:16px 0 0;padding:0 28px 0 0;display:flex;flex-direction:column;gap:16px}
.bal-comment{padding:22px 24px;border-radius:24px;background:#fff}
.bal-comment__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:14px;color:var(--bal-muted)}
.bal-comment__head img{width:40px;height:40px;border-radius:999px}
.bal-comment__name{font-size:16px;font-weight:700;color:var(--bal-ink)}
.bal-comment__text{margin-top:8px;color:var(--bal-body);font-size:16px}
.bal-comment__text p{margin:0 0 .6em}
.bal-comment .comment-reply-link{font-size:14px;font-weight:700;color:var(--bal-accent)}
.bal-comment--pending{opacity:.8;border:1px dashed var(--bal-line-input)}
.comment-respond{margin-top:16px}
.comment-respond .comment-reply-title{font-size:18px;font-weight:700;margin:0 0 12px}
.comment-respond .comment-notes,.comment-respond .logged-in-as{font-size:14px;color:var(--bal-muted);margin:0 0 12px}

/* Empty / no results */
.bal-empty{padding:40px;border-radius:28px;background:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.bal-empty img{height:56px;width:auto}
.bal-empty h2{font-family:var(--bal-display);font-weight:400;font-size:34px;font-synthesis:none}

/* Account page */
.bal-account{max-width:760px}

.bal-cover__title .bal-big{font-size:1.4em;line-height:1.2}
.bal-cover__title .bal-huge{font-size:2.8em;line-height:1.1;display:inline-block}

/* ---------- Elementor page layout hooks ---------- */
.e-con.bal-row > .elementor-widget{width:auto;max-width:100%;flex:0 0 auto}
.e-con.bal-row > .e-con{width:auto}
.e-con.bal-hero-text{flex:1 1 520px;min-width:0}
.e-con.bal-hero-media{flex:1 1 380px;max-width:480px;min-width:0}
.e-con.bal-hero-media--about{max-width:460px}
.e-con.bal-portrait{min-height:540px}
.e-con.bal-cta-inner{max-width:620px}
.e-con.bal-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:28px}
.e-con.bal-tl-row > .bal-tl-year{flex:0 0 130px;width:auto}
.e-con.bal-tl-row > .bal-tl-title{flex:1 1 300px;width:auto}
.e-con.bal-tl-row > .bal-tl-desc{flex:1.4 1 360px;width:auto}
.e-con.bal-contact-form{flex:999 1 520px;min-width:0;background:#fff;border-radius:32px;box-shadow:var(--bal-shadow-lg)}
.e-con.bal-contact-aside{flex:1 1 300px;max-width:400px;min-width:0}
.e-con.bal-auth{max-width:1080px;margin-inline:auto}
.e-con.bal-auth-form{flex:1 1 440px;min-width:0}
.e-con.bal-panel{flex:1 1 380px;min-width:0;min-height:420px}
.bal-mt-8{margin-top:8px!important}
.bal-mt-12{margin-top:12px!important}
.bal-mt-14{margin-top:14px!important}
.bal-mt-24{margin-top:24px!important}
.bal-mb-8{margin-bottom:8px!important}
.bal-ink-2,.bal-ink-2 p{color:var(--bal-ink-2)}
.bal-form .bal-ltr,.bal-form input.bal-ltr{direction:ltr;text-align:left}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
	.bal-aside{position:static;max-width:none}
}
@media (max-width:767px){
	body{font-size:16px}
	.bal-h1{font-size:clamp(38px,10vw,52px)}
	.bal-h2{font-size:36px}
	.bal-h1--form{font-size:42px}
	.bal-panel-title,.bal-panel-title .elementor-heading-title{font-size:40px}
	.bal-header__in{justify-content:center}
	.bal-nav{gap:4px 22px;justify-content:center}
	.bal-featured__body{padding:28px 24px}
	.bal-featured__title{font-size:32px}
	.bal-art-hero{padding:36px 20px 44px;border-radius:28px}
	.bal-art-hero__wing{height:280px}
	.bal-prose h2{font-size:32px}
	.bal-prose blockquote{font-size:26px;padding:24px}
	.bal-cta__wing,.elementor-widget.bal-wm--cta{left:-60px}
	.e-con.bal-cta-box{border-radius:28px}
	.e-con.bal-auth{border-radius:28px}
	.e-con.bal-portrait{min-height:400px!important}
	.elementor-widget.bal-wm--portrait{height:300px;top:32px}
	.bal-eyebrow,.bal-eyebrow .elementor-heading-title{font-size:15px;letter-spacing:.12em;gap:10px}
	.bal-eyebrow:not(.elementor-widget)::before,.bal-eyebrow .elementor-heading-title::before{flex-basis:28px}
	.bal-eyebrow--center::before,.bal-eyebrow--center::after{flex-basis:24px!important;width:24px}
	.e-con.bal-auth-form,.e-con.bal-panel{padding:36px 24px!important}
	.e-con.bal-cta-box{padding:40px 28px!important}
	.e-con.bal-contact-form{padding:28px 20px!important}
}
