/*
Theme Name: ARC Publishers Custom Theme
Theme URI: https://arcongress.com/
Author: ARCongress / ARC Publishers Team
Author URI: https://arcongress.com/
Description: Complete custom WordPress theme directly converted from the Lovable design prototype for ARC Publishers and Afro-Asian Business Review (AABR). Includes all 4 interactive design concepts (Classic, Editorial, Client Content, and Carousel), full responsive layouts, book covers, and complete policy frameworks.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: arc-publishers
Tags: academic, publishing, journal, ojs, responsive, custom-theme, clean
*/

/* ==========================================================================
   CSS VARIABLES & DESIGN SYSTEM (OKLCH with HEX/RGB Fallbacks)
   ========================================================================== */
:root {
  --background: #FFFFFF;
  --foreground: #0D0D0D;
  --primary: #1B69AF;
  --primary-hover: #4A8FD1;
  --primary-foreground: #FFFFFF;
  --secondary: #D3E4F5;
  --secondary-foreground: #0C447C;
  --muted: #F7F7F5;
  --muted-foreground: #5F5E5A;
  --hero: #0A1F3D;
  --hero-foreground: #FFFFFF;
  --hero-overlay: rgba(10, 31, 61, 0.78);
  --border: #E2E2E2;
  --cover-business: #5C2A1E;
  --cover-computing: #1E3A5F;
  --cover-health: #1F4E38;
  --shadow-book: 0 10px 25px -5px rgba(0, 0, 0, 0.25), 0 8px 10px -6px rgba(0, 0, 0, 0.2);

  /* AABR Journal Specific Colors */
  --aabr-maroon: #5C2A1E;
  --aabr-gold: #B08D3E;
  --aabr-gold-light: #EFC873;
  --aabr-cream: #F5EFDE;
  --aabr-cream-light: #FBF8F1;
  --aabr-border: #E4D9BC;
  --aabr-text: #3A2418;
  --aabr-text-muted: #8A7A5C;
  --aabr-link: #7A3A1E;

  /* Typography */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-serif: 'Libre Caslon Display', 'Lora', Georgia, serif;
  --font-editorial: 'DM Sans', var(--font-sans);

  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
}

@theme inline {
 --font-sans: 'Inter', sans-serif;
 --color-background: var(--background); --color-foreground: var(--foreground);
 --color-card: var(--background); --color-card-foreground: var(--foreground);
 --color-popover: var(--background); --color-popover-foreground: var(--foreground);
 --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground);
 --color-primary-hover: var(--primary-hover);
 --color-secondary: var(--secondary); --color-secondary-foreground: var(--foreground);
 --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground);
 --color-accent: var(--secondary); --color-accent-foreground: var(--foreground);
 --color-border: var(--border); --color-input: var(--border); --color-ring: var(--primary);
 --color-hero: var(--hero); --color-hero-foreground: var(--hero-foreground);
 --color-destructive: oklch(.58 .22 25);
 --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 8px;
}
:root {
 --background: oklch(1 0 0); --foreground: oklch(.159 0 0);
 --primary: oklch(.511 .132 249.4); --primary-hover: oklch(.639 .122 248.3);
 --primary-foreground: oklch(1 0 0); --secondary: oklch(.91 .03 248);
 --muted: oklch(.975 .003 100); --muted-foreground: oklch(.481 .007 95);
 --hero: oklch(.241 .064 257); --hero-foreground: oklch(1 0 0);
 --border: oklch(.902 .005 250); --cover-business: oklch(.31 .064 31);
 --cover-computing: oklch(.27 .054 239); --cover-health: oklch(.37 .06 177);
 --gold: oklch(.737 .098 84); --shadow-book: 5px 9px 16px oklch(.2 0 0 / .15);
 --hero-overlay: linear-gradient(90deg, oklch(.2 .06 257 / .96), oklch(.2 .06 257 / .79) 40%, oklch(.2 .06 257 / .08));
 --editorial-overlay: linear-gradient(90deg, oklch(.18 .014 250 / .88), oklch(.18 .014 250 / .6) 45%, oklch(.18 .014 250 / .08));
}
* { box-sizing: border-box; border-color: var(--border); letter-spacing: 0; }
body { margin: 0; background: var(--background); color: var(--foreground); font-family: 'Inter',sans-serif; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; } button,a,input { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; } h1,h2,h3,p { margin: 0; } img { display: block; max-width: 100%; }
.wrap { width: min(1180px, calc(100% - 80px)); margin-inline:auto; }
.concept-bar { background: var(--muted); border-bottom:1px solid var(--border); min-height:42px; display:flex; align-items:center; justify-content:space-between; padding:0 40px; font-size:11px; }
.concept-label { color:var(--muted-foreground); display:flex; align-items:center; gap:8px; }
.concept-switch { display:flex; align-items:stretch; gap:22px; height:42px; }
.concept-switch a { display:flex;align-items:center;color:var(--muted-foreground); border-bottom:2px solid transparent; gap:7px; }
.concept-switch a.active { color:var(--primary);border-color:var(--primary);font-weight:600; }
.utility-bar { background:var(--hero);color:var(--hero-foreground); font-size:11px; padding:9px 0; }
.utility-inner { display:flex; justify-content:space-between; align-items:center; }
.utility-inner span,.utility-actions { display:flex; gap:8px;align-items:center; }
.utility-actions {gap:20px;}.utility-actions button {color:inherit;font-size:11px;height:auto;padding:0;}
.site-header { height:99px; border-bottom:1px solid var(--border);background:var(--background); }
.header-inner { display:flex; height:100%;align-items:center;justify-content:space-between;gap:28px; }
.brand { display:flex;align-items:center;gap:11px;color:var(--foreground);flex-shrink:0; }
.brand img { width:66px; height:38px;object-fit:contain; }
.brand-title { font-family:'Libre Caslon Display',serif;font-size:29px;line-height:1; }
.classic .brand-title {font-family:'Inter',sans-serif;font-size:25px;font-weight:500;}
.brand-sub { font-size:9px; margin-top:6px; }
.desktop-nav { display:flex;align-items:center;gap:22px; }
.desktop-nav button { padding:5px 0;font-size:12px;font-weight:400;height:36px;gap:4px; }
.desktop-nav .current { color:var(--primary); border-bottom:2px solid var(--primary); }
.header-cta {height:40px;font-size:12px;padding:0 17px;}
.mobile-trigger {display:none;}
.hero-section {position:relative; min-height:465px; isolation:isolate;display:flex;align-items:center;overflow:hidden;background:var(--hero);color:var(--hero-foreground);}
.hero-image {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.hero-section::before {content:'';position:absolute;inset:0;background:var(--hero-overlay);z-index:-1;}
.hero-content {padding-block:62px;}
.eyebrow { font-size:10px;font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:10px;line-height:1.4; }
.eyebrow::before {content:'';width:26px;height:2px;background:currentColor;}
.hero-section .eyebrow {opacity:.85;}
.hero-section h1 {font-size:50px;line-height:1.14;font-weight:500;max-width:680px;margin:21px 0 19px;}
.hero-section h1 span {display:block;}
.hero-section p {font-size:14px;line-height:1.8;max-width:490px;opacity:.83;}
.hero-buttons {display:flex;gap:12px;margin-top:28px;}
.hero-buttons button {height:44px;font-size:12px;padding:0 21px;}
.hero-caption {position:absolute;bottom:23px;right:40px;display:flex;align-items:center;gap:6px;font-size:10px;opacity:.7;}
.values-strip {border-bottom:1px solid var(--border);background:var(--muted);}
.values-inner {display:grid;grid-template-columns:repeat(4,1fr);padding-block:24px;}
.value-item {display:flex;align-items:center;justify-content:center;gap:13px;border-right:1px solid var(--border);}
.value-item:first-child {justify-content:flex-start;}.value-item:last-child {border:0;}
.value-item svg {color:var(--primary);width:25px;height:25px;stroke-width:1.4;}
.value-item h3 {font-size:12px;font-weight:600;}.value-item p {font-size:10px;color:var(--muted-foreground);margin-top:4px;}
.section {padding-block:66px;}
.section-heading {display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:29px;gap:25px;}
.section-heading .eyebrow {color:var(--primary);font-size:9px;margin-bottom:12px;}
.section-heading h2 {font-size:29px;font-weight:500;line-height:1.25;}
.section-heading p {font-size:12px;color:var(--muted-foreground);margin-top:11px;line-height:1.8;}
.text-command {font-size:11px;padding:0;height:28px;gap:9px;}
.journal-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.journal-card {border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:box-shadow .2s,transform .2s;}
.journal-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-book);}
.journal-art {height:212px;background:var(--muted);display:flex;align-items:center;justify-content:center;padding:22px;overflow:hidden;}
.book-cover {position:relative;width:139px;height:172px;box-shadow:var(--shadow-book);color:var(--hero-foreground);padding:16px 14px;display:flex;flex-direction:column;border-left:4px solid color-mix(in oklab,var(--hero-foreground) 15%,transparent);overflow:hidden;}
.book-cover.business {background:var(--cover-business);}.book-cover.computing {background:var(--cover-computing);}.book-cover.health {background:var(--cover-health);}
.cover-publisher {font-size:6px;display:flex;align-items:center;gap:5px;position:relative;z-index:2;}
.book-cover h3 {font-family:'Libre Caslon Display',serif;font-size:19px;font-weight:400;line-height:1.08;margin-top:14px;position:relative;z-index:2;}
.cover-small {font-size:5px;margin-top:8px;position:relative;z-index:2;opacity:.8;}
.cover-pattern {position:absolute;inset:60% -10px -10px;opacity:.25;background:repeating-linear-gradient(32deg,transparent,transparent 12px,var(--gold) 13px,var(--gold) 14px);}
.computing .cover-pattern {inset:55% 0 0;background:repeating-linear-gradient(90deg,transparent,transparent 12px,var(--secondary) 13px,var(--secondary) 14px),repeating-linear-gradient(0deg,transparent,transparent 12px,var(--secondary) 13px,var(--secondary) 14px);}
.book-cover.health img {position:absolute;inset:57% 0 0;width:100%;height:43%;object-fit:cover;opacity:.7;}
.cover-footer {position:absolute;bottom:10px;font-size:5px;z-index:2;}
.journal-body {padding:21px 23px 17px;}.journal-tag {font-size:8px;color:var(--primary);background:var(--secondary);padding:4px 7px;display:inline-block;border-radius:3px;}
.journal-body h3 {font-size:16px;font-weight:500;line-height:1.4;margin:10px 0 8px;min-height:44px;}
.journal-body p {font-size:11px;line-height:1.8;color:var(--muted-foreground);min-height:40px;}
.journal-bottom {border-top:1px solid var(--border);margin-top:17px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;}
.journal-bottom span {font-size:9px;color:var(--muted-foreground);}.journal-bottom button {font-size:10px;height:26px;padding:0;}
.about-section {background:var(--muted);}.about-grid {display:grid;grid-template-columns:1fr 1fr;gap:66px;align-items:center;}
.about-photo {height:325px;object-fit:cover;width:100%;border-radius:5px;}.about-copy .eyebrow {color:var(--primary);font-size:9px;margin-bottom:18px;}
.about-copy h2 {font-size:30px;font-weight:500;line-height:1.3;margin-bottom:18px;}.about-copy p {font-size:12px;line-height:1.9;color:var(--muted-foreground);margin-bottom:13px;}
.about-copy button {margin-top:10px;height:39px;font-size:11px;}
.news-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:25px;}
.news-card {border-top:2px solid var(--primary);padding:22px 0;}.news-meta {display:flex;gap:12px;align-items:center;font-size:9px;color:var(--muted-foreground);}
.news-meta span:first-child {color:var(--primary);font-weight:500;}.news-card h3 {font-size:19px;line-height:1.5;font-weight:500;margin:17px 0 11px;}.news-card p {font-size:11px;line-height:1.8;color:var(--muted-foreground);margin-bottom:16px;}
.author-band {background:var(--hero);color:var(--hero-foreground);padding-block:38px;}.author-band .wrap {display:flex;justify-content:space-between;align-items:center;gap:24px;}.author-band h2 {font-size:25px;font-weight:500;}.author-band p {font-size:12px;opacity:.7;margin-top:10px;}.author-band button {font-size:11px;height:42px;}
.site-footer {padding:43px 0 20px;}.footer-top {display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;margin-bottom:35px;}.footer-top p {font-size:11px;line-height:1.9;color:var(--muted-foreground);max-width:270px;margin-top:16px;}.footer-column h3 {font-size:11px;font-weight:600;margin-bottom:11px;}.footer-column button {display:block;font-size:10px;height:27px;color:var(--muted-foreground);padding:0;}
.footer-bottom {border-top:1px solid var(--border);padding-top:20px;font-size:9px;color:var(--muted-foreground);display:flex;justify-content:space-between;gap:15px;}
.dialog-copy {font-size:13px;line-height:1.9;color:var(--muted-foreground);}.dialog-list {padding:0;list-style:none;margin:15px 0 0;}.dialog-list li {padding-block:11px;border-top:1px solid var(--border);}.dialog-list strong {display:block;color:var(--foreground);font-weight:500;}.search-box {display:flex;align-items:center;gap:9px;border:1px solid var(--border);padding:10px 13px;border-radius:6px;margin-top:10px;}.search-box input {background:transparent;width:100%;outline:0;font-size:13px;}.empty-result {padding:20px 0;font-size:13px;}
.editorial {font-family:'DM Sans',sans-serif;--primary:oklch(.535 .132 245);--hero:oklch(.19 .014 250);--muted:oklch(.974 .003 250);}
.editorial .utility-bar {display:none;}.editorial .site-header {height:108px;}.editorial .brand-title {font-size:34px;}.editorial .brand img {width:73px;}.editorial .desktop-nav button {font-size:12px;}
.editorial .hero-section {min-height:550px;}.editorial .hero-section::before {background:var(--editorial-overlay);}.editorial .hero-image {object-position:center 54%;}
.editorial .hero-section h1 {font-family:'Libre Caslon Display',serif;font-size:76px;line-height:1.02;font-weight:400;max-width:800px;margin-top:26px;}.editorial .hero-section h1 span:last-child {font-style:italic;}.editorial .hero-section p {max-width:430px;}.editorial .hero-buttons button {border-radius:0;}
.editorial .values-strip {background:var(--background);}.editorial .values-inner {padding-block:29px;}.editorial .value-item svg {color:var(--foreground);}.editorial .section-heading h2,.editorial .about-copy h2 {font-family:'Libre Caslon Display',serif;font-size:43px;line-height:1.05;}.editorial .section-heading .eyebrow {color:var(--muted-foreground);}.editorial .section {padding-block:78px;}
.editorial .journal-card {border:0;border-radius:0;}.editorial .journal-art {height:310px;background:var(--muted);}.editorial .book-cover {width:183px;height:235px;padding:21px 19px;}.editorial .book-cover h3 {font-size:27px;margin-top:20px;}.editorial .cover-publisher {font-size:7px;}.editorial .cover-small {font-size:7px;}.editorial .cover-footer {font-size:6px;}.editorial .journal-body {padding-inline:0;}.editorial .journal-body h3 {font-family:'Libre Caslon Display',serif;font-size:25px;min-height:58px;}.editorial .journal-tag {background:none;padding-left:0;font-size:9px;}.editorial .journal-body p {font-size:12px;}.editorial .journal-bottom {margin-top:20px;}
.editorial .about-section {background:var(--foreground);color:var(--background);}.editorial .about-copy .eyebrow {color:var(--secondary);}.editorial .about-copy p {color:var(--background);opacity:.65;}.editorial .about-photo {border-radius:0;height:390px;}.editorial .news-card {border-top:1px solid var(--foreground);}.editorial .news-card h3 {font-family:'Libre Caslon Display',serif;font-size:28px;line-height:1.2;}.editorial .author-band {background:var(--muted);color:var(--foreground);}.editorial .author-band h2 {font-family:'Libre Caslon Display',serif;font-size:37px;}.editorial .author-band button {background:var(--foreground);color:var(--background);border-radius:0;}
@media(min-width:1500px){.hero-section{min-height:500px;}.editorial .hero-section{min-height:600px;}}
@media(max-width:1100px){.wrap{width:calc(100% - 48px);}.desktop-nav{gap:14px;}.desktop-nav button{font-size:11px;}.header-inner{gap:15px;}.brand-title{font-size:25px;}.header-cta{padding-inline:12px;}.about-grid{gap:35px;}}
@media(max-width:900px){.desktop-nav,.header-cta{display:none;}.mobile-trigger{display:inline-flex;}.site-header,.editorial .site-header{height:80px;}.concept-bar{padding-inline:24px;}.hero-section h1{font-size:44px;}.editorial .hero-section h1{font-size:64px;}.journal-grid{gap:15px;}.journal-body{padding:18px 15px;}.values-inner{grid-template-columns:repeat(2,1fr);row-gap:23px;}.value-item:nth-child(2){border:0;}.value-item{justify-content:flex-start;padding-left:20px;}.value-item:first-child{padding-left:20px;}.footer-top{gap:25px;}.about-copy h2{font-size:25px;}.section-heading h2{font-size:26px;}.mobile-nav{padding:12px 24px;background:var(--background);border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.wrap{width:calc(100% - 40px);}.concept-bar{padding-inline:20px;}.concept-label{font-size:9px;}.concept-label svg{display:none;}.concept-switch{gap:13px;}.concept-switch a{font-size:9px;}.utility-bar{padding-block:8px;}.utility-inner>span{font-size:9px;}.utility-actions{gap:10px;}.utility-actions button{font-size:9px;}.brand img{width:57px;}.brand-title{font-size:27px;}.brand-sub{font-size:8px;}.hero-section{min-height:475px;}.hero-content{padding-block:50px;}.hero-section h1{font-size:37px;margin-top:22px;line-height:1.18;}.hero-section .eyebrow{font-size:9px;}.hero-section p{font-size:12px;max-width:330px;}.hero-image{object-position:60% center;}.hero-section::before{background:linear-gradient(90deg,var(--hero),color-mix(in oklab,var(--hero) 78%,transparent));}.hero-buttons{gap:9px;}.hero-buttons button{font-size:10px;padding-inline:15px;}.hero-caption{font-size:8px;right:20px;bottom:16px;}.values-inner{padding-block:23px;row-gap:21px;}.value-item,.value-item:first-child{padding-left:0;gap:10px;}.value-item:nth-child(even){padding-left:16px;}.value-item svg{width:21px;}.value-item h3{font-size:10px;}.value-item p{font-size:8px;}.section,.editorial .section{padding-block:45px;}.section-heading{align-items:flex-start;gap:15px;}.section-heading h2{font-size:26px;}.section-heading p{font-size:11px;}.section-heading>button{font-size:9px;margin-top:24px;}.journal-grid{grid-template-columns:1fr;gap:22px;}.journal-card{display:grid;grid-template-columns:140px 1fr;}.journal-art{height:100%;min-height:240px;padding:16px;}.book-cover{width:109px;height:155px;padding:12px 10px;}.book-cover h3{font-size:17px;}.journal-body{padding:18px 15px;}.journal-body h3{font-size:15px;min-height:auto;}.journal-body p{font-size:10px;}.journal-bottom{flex-direction:column;align-items:flex-start;gap:6px;}.journal-tag{font-size:7px;}.about-grid{grid-template-columns:1fr;gap:30px;}.about-photo{height:260px;}.about-copy h2{font-size:28px;}.news-grid{grid-template-columns:1fr;gap:8px;}.news-card{padding-block:20px;}.news-card h3{font-size:21px;}.author-band .wrap{align-items:flex-start;flex-direction:column;}.author-band h2{font-size:25px;}.author-band p{line-height:1.8;}.footer-top{grid-template-columns:1fr 1fr;gap:30px;}.footer-top>div:first-child{grid-column:1/-1;}.footer-bottom{flex-direction:column;font-size:8px;}.editorial .hero-section{min-height:530px;}.editorial .hero-section h1{font-size:54px;line-height:1.05;}.editorial .hero-section::before{background:var(--editorial-overlay);}.editorial .hero-image{object-position:65% center;}.editorial .section-heading h2,.editorial .about-copy h2{font-size:36px;}.editorial .journal-card{display:block;}.editorial .journal-art{height:290px;}.editorial .journal-body h3{min-height:0;}.editorial .journal-bottom{flex-direction:row;}.editorial .about-photo{height:280px;}.editorial .author-band h2{font-size:33px;}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
.client-concept {--client-success:oklch(.48 .09 165);--client-overlay:linear-gradient(90deg,oklch(.22 .05 250 / .95),oklch(.22 .05 250 / .8) 43%,oklch(.22 .05 250 / .04) 85%);}
.client-concept .brand-title {font-family:'Inter',sans-serif;font-size:24px;font-weight:600;}
.client-concept .brand-sub {font-size:8px;}.client-concept .desktop-nav {gap:17px;}.client-concept .site-header {height:94px;}
.client-utility {background:var(--secondary);color:var(--hero);font-size:10px;}.client-utility .wrap {display:flex;justify-content:space-between;align-items:center;min-height:31px;}.client-utility span {display:flex;align-items:center;gap:8px;}.client-utility button {font-size:10px;height:28px;padding:0;color:inherit;}
.client-hero {min-height:440px;}.client-hero::before {background:var(--client-overlay);}.client-hero .hero-image {object-position:center 48%;}.client-hero h1 {font-size:59px;font-weight:600;margin:20px 0 15px;}.client-hero p.client-vision {font-size:26px;line-height:1.45;opacity:1;max-width:540px;font-weight:400;}.client-hero .hero-content {padding-block:54px;}.client-hero-note {position:absolute;right:40px;bottom:28px;display:flex;gap:12px;align-items:center;font-size:11px;line-height:1.6;}
.client-principles {border-bottom:1px solid var(--border);}.client-principles .wrap {display:grid;grid-template-columns:repeat(3,1fr);padding-block:22px;}.client-principles .wrap>div {display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;border-right:1px solid var(--border);}.client-principles .wrap>div:last-child {border:0;}.client-principles svg {color:var(--primary);width:20px;stroke-width:1.5;}
.client-concept .section-heading h2 {font-size:32px;font-weight:600;}.client-journal-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}.client-journal {display:grid;grid-template-columns:190px 1fr;border:1px solid var(--border);border-radius:6px;overflow:hidden;}.client-cover-area {display:flex;justify-content:center;align-items:center;background:var(--muted);padding:27px 20px;}.client-cover-area .book-cover {width:142px;height:190px;}.client-cover-area .book-cover h3 {font-size:24px;}.client-journal-body {padding:30px 24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;}.client-live {font-size:9px;color:var(--client-success);display:flex;align-items:center;gap:6px;}.client-live>span {width:5px;height:5px;border-radius:50%;background:currentColor;}.client-journal-body h3 {font-size:22px;line-height:1.35;margin:15px 0 7px;font-weight:500;}.client-journal-body>p {font-size:11px;color:var(--muted-foreground);}.client-journal-body button {margin-top:24px;}.client-portfolio-note {display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted-foreground);margin-top:20px;line-height:1.6;}
.client-purpose {background:var(--muted);border-block:1px solid var(--border);}.client-purpose-grid {display:grid;grid-template-columns:1.1fr 1fr;gap:90px;}.client-purpose .eyebrow {color:var(--primary);margin-bottom:20px;}.client-purpose h2 {font-size:34px;line-height:1.3;font-weight:500;}.client-purpose-grid>div:first-child>p {font-size:13px;line-height:1.9;color:var(--muted-foreground);margin:20px 0;}.client-mission {border-left:1px solid var(--border);padding-left:45px;}.client-number {font-size:9px;color:var(--primary);font-weight:600;display:block;margin-bottom:14px;}.client-mission p {font-size:18px;line-height:1.8;margin-bottom:28px;}.client-mission p.client-commitment-copy {font-size:12px;color:var(--muted-foreground);margin-bottom:0;}
.client-guide-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:35px;}.client-guide {padding:25px 0;border-top:1px solid var(--border);}.client-guide>svg {color:var(--primary);width:28px;height:28px;stroke-width:1.5;margin-bottom:23px;}.client-guide h3 {font-size:20px;font-weight:500;}.client-guide p {font-size:12px;line-height:1.9;color:var(--muted-foreground);margin:12px 0 20px;max-width:290px;}
.client-integrity {background:var(--hero);color:var(--hero-foreground);padding-block:55px;}.client-integrity .wrap {display:grid;grid-template-columns:1fr 1fr;gap:90px;}.client-integrity h2 {font-size:33px;font-weight:500;line-height:1.35;margin:16px 0 25px;}.client-integrity button {font-size:11px;}.client-integrity ul {padding:0;list-style:none;margin:0;display:flex;flex-direction:column;justify-content:center;gap:15px;}.client-integrity li {display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.6;}.client-integrity li svg {flex-shrink:0;color:var(--secondary);}
.client-updates {display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}.client-updates .eyebrow {font-size:8px;color:var(--primary);}.client-updates .eyebrow::before {display:none;}.client-updates .news-card h3 {font-size:21px;}.client-community {position:relative;isolation:isolate;overflow:hidden;background:var(--hero);color:var(--hero-foreground);padding-block:55px;}.client-community>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;}.client-community::before {content:'';position:absolute;inset:0;background:var(--client-overlay);z-index:-1;}.client-community h2 {font-size:36px;line-height:1.3;margin:18px 0 14px;font-weight:500;}.client-community p {font-size:12px;margin-bottom:24px;}.client-community button {font-size:11px;}.client-filters {display:flex;gap:6px;margin-top:10px;}.client-dialog {max-height:85dvh;overflow-y:auto;}
@media(max-width:1100px){.client-concept .desktop-nav{gap:12px;}.client-concept .brand-sub{font-size:7px;}.client-concept .brand-title{font-size:21px;}.client-journal{grid-template-columns:160px 1fr;}.client-journal-body{padding:23px 19px;}.client-purpose-grid{gap:45px;}}
@media(max-width:700px){.concept-bar{flex-wrap:wrap;justify-content:center;gap:0 20px;}.concept-label{padding-top:8px;}.concept-switch{gap:18px;}.client-concept .site-header{height:80px;}.client-utility .wrap>span{font-size:8px;max-width:240px;}.client-hero{min-height:440px;}.client-hero h1{font-size:40px;}.client-hero p.client-vision{font-size:23px;max-width:370px;}.client-hero .hero-content{padding-block:45px;}.client-hero-note{display:none;}.client-principles .wrap{gap:10px;}.client-principles .wrap>div{font-size:9px;flex-direction:column;gap:8px;text-align:center;padding-right:8px;}.client-principles svg{width:18px;}.client-concept .section-heading{flex-wrap:wrap;}.client-concept .section-heading h2{font-size:28px;}.client-concept .section-heading>button{margin-top:0;}.client-journal-grid{grid-template-columns:1fr;gap:20px;}.client-journal{grid-template-columns:140px 1fr;}.client-cover-area{padding:23px 15px;}.client-cover-area .book-cover{width:109px;height:165px;padding:13px 10px;}.client-cover-area .book-cover h3{font-size:20px;}.client-journal-body{padding:20px 16px;}.client-journal-body h3{font-size:19px;}.client-live{font-size:8px;}.client-journal-body button{font-size:10px;margin-top:18px;}.client-portfolio-note{align-items:flex-start;font-size:10px;}.client-portfolio-note svg{flex-shrink:0;}.client-purpose-grid{grid-template-columns:1fr;gap:30px;}.client-purpose h2{font-size:28px;}.client-mission{padding-left:0;border-left:0;border-top:1px solid var(--border);padding-top:25px;}.client-mission p{font-size:17px;}.client-guide-grid,.client-updates{grid-template-columns:1fr;gap:12px;}.client-guide{padding-block:22px;}.client-guide>svg{margin-bottom:15px;}.client-guide p{max-width:none;}.client-integrity .wrap{grid-template-columns:1fr;gap:30px;}.client-integrity h2{font-size:28px;}.client-integrity{padding-block:42px;}.client-community h2{font-size:30px;}.client-community{padding-block:42px;}.client-concept .footer-top{gap:28px 20px;}.client-concept .footer-column button{white-space:normal;height:auto;min-height:27px;text-align:left;line-height:1.7;}}

.editorial-carousel {position:relative;background:var(--hero);color:var(--hero-foreground);}
.carousel-viewport {overflow:hidden;}
.carousel-track {display:flex;touch-action:pan-y pinch-zoom;}
.carousel-slide {flex:0 0 100%;min-width:0;}
.editorial .carousel-slide .hero-content {padding-bottom:100px;}
.carousel-controls {position:absolute;bottom:24px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.carousel-dots,.carousel-position {display:flex;align-items:center;gap:8px;}
.carousel-position>span {font-size:10px;margin-right:12px;}
.carousel-position button {border-radius:0;width:34px;height:34px;}
.carousel-dot {border:0;width:26px;height:32px;padding:0;background:transparent;}
.carousel-dot span {width:6px;height:6px;background:var(--hero-foreground);opacity:.4;border-radius:50%;}
.carousel-dot.is-active span {width:24px;border-radius:0;opacity:1;}
@media(max-width:700px){.concept-switch{gap:12px;}.concept-switch a{font-size:9px;}}
@media(max-width:600px){.editorial .carousel-slide{min-height:550px;}.editorial .carousel-slide h1{font-size:46px;}.editorial .carousel-slide .hero-content{padding-top:40px;padding-bottom:105px;}.carousel-slide .hero-buttons{flex-wrap:wrap;}.carousel-position>span{font-size:8px;margin-right:0;}.carousel-controls{gap:8px;bottom:20px;}.carousel-dots{gap:2px;}.carousel-position{gap:5px;}.carousel-position button{width:30px;height:30px;}}


/* ==========================================================================
   ADDITIONAL TAILWIND & COMPONENT UTILITY CLASSES
   ========================================================================== */
.h-auto { height: auto !important; }
.inline { display: inline !important; }
.justify-between { justify-content: space-between !important; }
.max-w-xl { max-width: 36rem !important; }
.mb-3 { margin-bottom: 0.75rem !important; }
.mr-2 { margin-right: 0.5rem !important; }
.mt-3 { margin-top: 0.75rem !important; }
.mt-4 { margin-top: 1rem !important; }
.text-left { text-align: left !important; }
.text-primary { color: var(--primary) !important; }
.w-full { width: 100% !important; }
.whitespace-normal { white-space: normal !important; }
.client-journals { padding-block: 66px; }

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: inherit;
  font-weight: 500;
  border-radius: var(--radius-md, 6px);
  transition: all 0.2s ease;
  cursor: pointer;
  border: 1px solid transparent;
  text-decoration: none;
}
.btn-hero {
  background-color: var(--primary);
  color: var(--primary-foreground);
  height: 44px;
  padding: 0 22px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 4px;
}
.btn-hero:hover {
  background-color: var(--primary-hover);
  color: #fff;
}
.btn-heroOutline {
  background-color: transparent;
  color: #FFFFFF;
  border: 1px solid rgba(255, 255, 255, 0.45);
  height: 44px;
  padding: 0 22px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 4px;
}
.btn-heroOutline:hover {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: #FFFFFF;
  color: #fff;
}
.btn-nav {
  background: transparent;
  color: inherit;
  border: none;
  cursor: pointer;
  font-size: 12px;
  font-family: inherit;
  padding: 4px 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.btn-nav:hover {
  color: var(--primary);
}

/* Modal / Dialog Popups */
.dialog-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 31, 61, 0.7);
  backdrop-filter: blur(3px);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.dialog-overlay.active {
  display: flex;
}
.dialog-content {
  background: var(--background);
  color: var(--foreground);
  max-width: 640px;
  width: 100%;
  border-radius: 8px;
  border: 1px solid var(--border);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  padding: 32px;
  position: relative;
  max-height: 88vh;
  overflow-y: auto;
  animation: dialogFadeIn 0.2s ease-out;
}
@keyframes dialogFadeIn {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.dialog-close {
  position: absolute;
  top: 18px;
  right: 18px;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--muted-foreground);
  padding: 6px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dialog-close:hover {
  background: var(--muted);
  color: var(--foreground);
}
.dialog-title {
  font-size: 22px;
  font-weight: 600;
  margin: 0 0 6px 0;
  color: var(--foreground);
}
.dialog-desc {
  font-size: 13px;
  color: var(--primary);
  margin-bottom: 20px;
  font-weight: 500;
}
.dialog-body p {
  font-size: 14px;
  line-height: 1.75;
  color: var(--muted-foreground);
  margin-bottom: 14px;
}
.dialog-body ul {
  margin: 16px 0;
  padding-left: 0;
  list-style: none;
}
.dialog-body li {
  font-size: 13px;
  color: var(--foreground);
  padding: 6px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.dialog-body li svg {
  color: var(--primary);
  flex-shrink: 0;
}

/* Inner Page Defaults */
.page-header {
  background: var(--hero);
  color: var(--hero-foreground);
  padding: 60px 0;
  margin-bottom: 40px;
}
.page-header h1 {
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 10px;
}
.page-header p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 15px;
}
.page-content {
  padding-bottom: 80px;
  line-height: 1.8;
  font-size: 15px;
}
.page-content h2 {
  font-size: 24px;
  margin: 32px 0 16px;
  color: var(--foreground);
}
.page-content p {
  margin-bottom: 18px;
  color: #333;
}
.page-content ul, .page-content ol {
  margin: 16px 0 24px 24px;
}
.page-content li {
  margin-bottom: 8px;
}

/* ==========================================================================
   ELEMENTOR COMPATIBILITY & OVERRIDES
   ========================================================================== */
.elementor-full-width-content,
.elementor-content-container {
  width: 100%;
  margin: 0;
  padding: 0;
}

.elementor-section.elementor-section-stretched {
  max-width: 100% !important;
}

.elementor-page .page-content {
  padding-bottom: 0 !important;
}

/* Ensure Elementor columns and widgets don't get constricted */
.elementor-widget-wrap {
  box-sizing: border-box;
}

/* Elementor Canvas Template reset */
.elementor-canvas-template {
  background: var(--background);
  color: var(--foreground);
  margin: 0;
  padding: 0;
}

/* ==========================================================================
   ENHANCED TABLET & MOBILE RESPONSIVENESS (BREAKPOINTS: 1024px, 768px, 480px)
   ========================================================================== */
@media (max-width: 1024px) {
  .editorial .carousel-slide h1 {
    font-size: clamp(40px, 5.5vw, 60px);
    line-height: 1.06;
  }
  .editorial .hero-section {
    min-height: 520px;
  }
  .journal-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .about-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .about-photo {
    height: 320px;
  }
}

@media (max-width: 768px) {
  .site-header {
    height: 80px;
  }
  .brand-title {
    font-size: 24px;
  }
  .editorial .carousel-slide {
    min-height: 480px;
  }
  .editorial .carousel-slide h1 {
    font-size: clamp(30px, 7vw, 42px);
    line-height: 1.12;
  }
  .editorial .carousel-slide p {
    font-size: 14px;
    max-width: 100%;
  }
  .editorial .carousel-slide .hero-content {
    padding-top: 36px;
    padding-bottom: 96px;
  }
  .values-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .journal-grid {
    grid-template-columns: 1fr;
    max-width: 460px;
    margin: 0 auto;
  }
  .news-grid,
  .client-updates {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }
  .carousel-controls {
    bottom: 16px;
  }
  .carousel-position button {
    width: 38px;
    height: 38px;
  }
}

@media (max-width: 480px) {
  .wrap {
    width: calc(100% - 28px);
  }
  .values-inner {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .hero-buttons {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 10px;
  }
  .hero-buttons button,
  .hero-buttons a {
    width: 100%;
    justify-content: center;
  }
  .footer-top {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .carousel-dots {
    display: none;
  }
  .carousel-position {
    width: 100%;
    justify-content: space-between;
  }
}
