/* Bayan Solutions — Editorial / New-Life-style design system (light minimalist) */
:root{--navy:#153B54;--navy-deep:#0e2a3d;--green:#34866B;--green-soft:#eaf3ef;--ink:#16242c;--slate:#5c6f78;--line:#e6eaec;--paper:#fbfbf9;--paper-2:#f3f4f1;--white:#fff;--display:"Fraunces",Georgia,serif;--body:"Outfit",system-ui,sans-serif;--maxw:1440px}

/* logo cursor */
.bayan-cur,.bayan-cur *{cursor:url("https://bayansolutions.co/wp-content/uploads/bayan-cursor.svg") 12 12,auto}

/* page loader */
#bayan-loader{position:fixed;inset:0;z-index:99999;background:#ffffff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.4rem;transition:opacity .7s ease,visibility .7s}
#bayan-loader.done{opacity:0;visibility:hidden}
#bayan-loader .lg{width:96px;height:auto;animation:bl-pulse 1.6s ease-in-out infinite}
#bayan-loader .lg .swoosh{animation:bl-draw 2s ease forwards}
@keyframes bl-pulse{0%,100%{transform:scale(1);opacity:.92}50%{transform:scale(1.08);opacity:1}}
#bayan-loader .bar{width:120px;height:3px;background:var(--line);border-radius:3px;overflow:hidden}
#bayan-loader .bar i{display:block;height:100%;width:40%;background:var(--green);border-radius:3px;animation:bl-load 1.2s ease-in-out infinite}
@keyframes bl-load{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}

.bayan{font-family:var(--body);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
.bayan *{box-sizing:border-box}
.bayan h1,.bayan h2,.bayan h3{font-family:var(--display);font-weight:500;line-height:1.18;letter-spacing:-.01em;color:var(--navy);margin:0}
.bayan h1{font-size:clamp(2.4rem,5.6vw,4.8rem);line-height:1.12}
.bayan h2{font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.2}
.bayan h3{font-size:1.25rem;font-weight:600;font-family:var(--body);letter-spacing:-.01em}
.bayan p{margin:0}
.bayan a{color:inherit;text-decoration:none}
.bayan img{display:block;max-width:100%}
.bayan-wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.bayan .it{font-style:italic;color:var(--green)}
.bayan .lead{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--slate);max-width:60ch;font-weight:300}
.bayan-marker{display:flex;align-items:center;gap:.8rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--green);font-weight:600;margin-bottom:1.4rem}
.bayan-marker .num{font-family:var(--display);font-style:italic;font-size:1rem;color:var(--navy);letter-spacing:0}
.bayan-marker .ln{flex:1;height:1px;background:var(--line);max-width:80px}
.bayan-btn{display:inline-flex;align-items:center;gap:.6rem;font-weight:500;font-size:.95rem;padding:1rem 1.8rem;border-radius:100px;cursor:pointer;border:none;transition:.3s;font-family:var(--body)}
.bayan-btn .ar{transition:transform .3s}.bayan-btn:hover .ar{transform:translateX(5px)}
.bayan-btn.navy{background:var(--navy);color:#fff}
.bayan-btn.navy:hover{background:var(--green);transform:translateY(-3px);box-shadow:0 16px 40px -16px rgba(52,134,107,.55)}
.bayan-btn.ghost{background:transparent;color:var(--navy);border:1.5px solid #d4dadd}
.bayan-btn.ghost:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.bayan-btn.white{background:#fff;color:var(--navy)}
.bayan-btn.white:hover{background:var(--green);color:#fff;transform:translateY(-3px)}

.bayan-hero{min-height:94vh;display:flex;align-items:center;position:relative;padding:8rem 0 3rem;overflow:hidden}
.bayan-hero-blob{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,var(--green-soft),transparent 70%);top:-120px;right:-160px;z-index:0}
.bayan-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:center;width:100%;position:relative;z-index:1}
.bayan-hero .ey{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--green);font-weight:600;margin-bottom:1.6rem;display:block}
.bayan-hero h1{margin-bottom:1.8rem;line-height:1.12;padding-bottom:.08em}
.bayan-hero h1 .line{display:block;overflow:visible;padding:.04em 0}
.bayan-hero h1 .line span{display:block;transform:translateY(110%);animation:bl-rise 1s cubic-bezier(.22,1,.36,1) forwards}
.bayan-hero h1 .line:nth-child(2) span{animation-delay:.12s}
.bayan-hero h1 .line:nth-child(3) span{animation-delay:.24s}
@keyframes bl-rise{to{transform:translateY(0)}}
.bayan-hero .lead{opacity:0;animation:bl-fade .9s ease .5s forwards}
.bayan-hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.2rem;opacity:0;animation:bl-fade .9s ease .7s forwards}
@keyframes bl-fade{to{opacity:1}}
.bayan-hero-visual{position:relative;opacity:0;animation:bl-fade 1s ease .4s forwards}
.bayan-hero-visual .frame{position:relative;border-radius:200px 200px 24px 24px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 40px 80px -40px rgba(21,59,84,.45);border:1px solid var(--line)}
.bayan-hero-visual .frame img{width:100%;height:100%;object-fit:cover;animation:bl-ken 24s ease-in-out infinite alternate;will-change:transform}
@keyframes bl-ken{to{transform:scale(1.12)}}
.bayan-hero-visual .badge{position:absolute;background:#fff;border-radius:18px;padding:1rem 1.3rem;box-shadow:0 20px 50px -20px rgba(21,59,84,.35);display:flex;align-items:center;gap:.9rem;border:1px solid var(--line)}
.bayan-hero-visual .badge.b1{bottom:30px;left:-32px;animation:bl-float 5s ease-in-out infinite}
.bayan-hero-visual .badge.b2{top:40px;right:-26px;animation:bl-float 6s ease-in-out infinite .5s}
@keyframes bl-float{50%{transform:translateY(-12px)}}
.bayan-hero-visual .badge .bn{font-family:var(--display);font-size:1.7rem;color:var(--green);line-height:1}
.bayan-hero-visual .badge .bl{font-size:.72rem;color:var(--slate);max-width:12ch}
.bayan-scrollcue{position:absolute;bottom:26px;left:32px;display:flex;align-items:center;gap:.7rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);z-index:1}
.bayan-scrollcue .dot{width:24px;height:38px;border:1.5px solid #c4ccce;border-radius:14px;position:relative}
.bayan-scrollcue .dot::after{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:4px;height:7px;border-radius:3px;background:var(--green);animation:bl-scroll 1.6s ease-in-out infinite}
@keyframes bl-scroll{50%{transform:translate(-50%,12px)}}

.bayan-rv{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.bayan-rv.in{opacity:1;transform:none}
.bayan-rv-d1{transition-delay:.1s}.bayan-rv-d2{transition-delay:.2s}.bayan-rv-d3{transition-delay:.3s}

.bayan-sec{padding:clamp(4.5rem,9vw,8rem) 0;position:relative}
.bayan-sec.white{background:var(--white)}
.bayan-sec.alt{background:var(--paper-2)}
.bayan-sec-head{max-width:780px;margin-bottom:4rem}
.bayan-sec-head h2{margin-top:1rem}

.bayan-trust{padding:2.4rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.bayan-trust-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.bayan-trust-row .lbl{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);font-weight:600}
.bayan-trust-row .items{display:flex;gap:2.4rem;flex-wrap:wrap}
.bayan-trust-row .items span{font-family:var(--display);font-size:1.02rem;color:var(--navy);opacity:.7}

.bayan-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem;justify-content:center}
.bayan-pillar{position:relative;border-radius:24px;overflow:hidden;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;padding:2.2rem;color:#fff;isolation:isolate;transition:.5s;border:1px solid var(--line)}
.bayan-pillar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.bayan-pillar::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,24,38,.05) 0%,rgba(8,24,38,.25) 42%,rgba(8,24,38,.78) 72%,rgba(8,24,38,.95) 100%)}
.bayan-pillar:hover{transform:translateY(-8px);box-shadow:0 30px 70px -36px rgba(14,42,61,.5)}
.bayan-pillar:hover img{transform:scale(1.08)}
.bayan-pillar .pk{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#e6edf1;opacity:1;margin-bottom:.6rem;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.bayan-pillar h3{color:#fff;font-size:1.55rem;font-family:var(--display);font-weight:500;letter-spacing:-.01em;margin-bottom:.6rem;text-shadow:0 2px 16px rgba(0,0,0,.55)}
.bayan-pillar p{font-size:.95rem;color:#eaf1f5;opacity:1;font-weight:400;margin-bottom:1.2rem;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.bayan-pillar .go{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600}
.bayan-pillar .go .c{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);display:grid;place-items:center;transition:.3s}
.bayan-pillar:hover .go .c{background:#fff;color:var(--navy);border-color:#fff}

.bayan-statband{background:var(--navy);color:#fff;border-radius:32px;padding:clamp(2.4rem,5vw,3.8rem);position:relative;overflow:hidden}
.bayan-statband::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(52,134,107,.4),transparent 70%);top:-200px;right:-100px}
.bayan-statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative;z-index:1}
.bayan-stat .n{font-family:var(--display);font-size:clamp(2.4rem,4vw,3.4rem);font-weight:500;line-height:1;color:#fff}
.bayan-stat .n .u{color:var(--green);font-size:.5em}
.bayan-stat .l{font-size:.88rem;opacity:.7;margin-top:.5rem;font-weight:300}

.bayan-split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.bayan-split-img{border-radius:24px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 70px -36px rgba(21,59,84,.4);border:1px solid var(--line)}
.bayan-split-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.bayan-split-img:hover img{transform:scale(1.06)}
.bayan-featlist{margin-top:1.6rem;display:flex;flex-direction:column;gap:1rem}
.bayan-featitem{display:flex;gap:1rem;align-items:flex-start}
.bayan-featitem .ic{flex-shrink:0;width:42px;height:42px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:1.1rem}
.bayan-featitem h4{font-size:1.02rem;font-weight:600;color:var(--navy);margin-bottom:.15rem}
.bayan-featitem p{font-size:.9rem;color:var(--slate);font-weight:300}

.bayan-quote{text-align:center;max-width:900px;margin:0 auto}
.bayan-quote .q{font-family:var(--display);font-size:clamp(1.5rem,3.2vw,2.6rem);font-weight:400;line-height:1.26;color:var(--navy);font-style:italic}

.bayan-cta{position:relative;border-radius:32px;overflow:hidden;padding:clamp(3rem,7vw,5.5rem);text-align:center;isolation:isolate}
.bayan-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.bayan-cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,42,61,.58),rgba(14,42,61,.8))}
.bayan-cta h2{color:#fff;margin-bottom:1rem}
.bayan-cta p{color:rgba(255,255,255,.82);max-width:50ch;margin:0 auto 2rem;font-weight:300}

/* form */
.bayan-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(1.6rem,3vw,2.2rem);box-shadow:0 30px 70px -40px rgba(21,59,84,.35)}
.bayan-fgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.3rem}
.bayan-field{display:flex;flex-direction:column;gap:.35rem}
.bayan-field.full{grid-column:1/-1}
.bayan-field label{font-size:.82rem;font-weight:600;color:var(--navy)}
.bayan-field input,.bayan-field select,.bayan-field textarea{font-family:var(--body);font-size:.95rem;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink)}.bayan-field textarea{resize:vertical;min-height:110px;line-height:1.55}
.bayan-field input:focus,.bayan-field select:focus,.bayan-field textarea:focus{outline:none;border-color:var(--green);background:#fff}
.bayan-form button{margin-top:1rem;width:100%;background:var(--navy);color:#fff;border:none;padding:1rem;border-radius:100px;font-family:var(--body);font-weight:600;font-size:.98rem;cursor:pointer;transition:.3s}
.bayan-form button:hover{background:var(--green)}
.bayan-note{font-size:.78rem;color:var(--slate);margin-top:.8rem;text-align:center}

@media(max-width:980px){.bayan-hero-grid{grid-template-columns:1fr;gap:2.5rem}.bayan-hero-visual{max-width:420px;margin:0 auto}.bayan-pillars{grid-template-columns:1fr}.bayan-split{grid-template-columns:1fr;gap:2.2rem}.bayan-split.rev .bayan-split-img{order:-1}}
@media(max-width:760px){.bayan-statgrid{grid-template-columns:repeat(2,1fr);gap:2rem 1.4rem}}
@media(max-width:560px){.bayan-wrap{padding:0 22px}.bayan-fgrid{grid-template-columns:1fr}.bayan-trust-row{justify-content:center;text-align:center}}

/* inner page hero + steps */
.bayan-phero{position:relative;min-height:64vh;display:flex;align-items:center;padding:9rem 0 4rem;overflow:hidden;isolation:isolate}
.bayan-phero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.bayan-phero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(14,42,61,.92) 0%,rgba(14,42,61,.72) 55%,rgba(14,42,61,.45) 100%)}
.bayan-phero .inner{max-width:680px}
.bayan-phero .ey{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:#7fd3b0;font-weight:600;margin-bottom:1.2rem;display:block}
.bayan-phero h1{color:#fff;margin-bottom:1.2rem}
.bayan-phero .lead{color:rgba(255,255,255,.85)}
.bayan-phero .bayan-hero-cta{animation:none;opacity:1;margin-top:2rem}
.bayan-step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:2.2rem 1.9rem;transition:.4s}
.bayan-step:hover{transform:translateY(-6px);box-shadow:0 28px 60px -34px rgba(21,59,84,.4);border-color:var(--green)}
.bayan-step .sn{font-family:var(--display);font-style:italic;font-size:2.4rem;color:var(--green);line-height:1;margin-bottom:.8rem}
.bayan-step h3{color:var(--navy);margin-bottom:.5rem}
.bayan-step p{font-size:.93rem;color:var(--slate);font-weight:300}
.bayan-prodgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.bayan-prod{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:.4s;display:flex;flex-direction:column}
.bayan-prod:hover{transform:translateY(-6px);box-shadow:0 28px 60px -34px rgba(21,59,84,.4);border-color:var(--green)}
.bayan-prod .pimg{aspect-ratio:16/10;overflow:hidden}
.bayan-prod .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.bayan-prod:hover .pimg img{transform:scale(1.08)}
.bayan-prod .pbody{padding:1.5rem 1.5rem 1.7rem}
.bayan-prod h3{color:var(--navy);font-size:1.1rem;margin-bottom:.4rem}
.bayan-prod p{font-size:.88rem;color:var(--slate);font-weight:300}
.bayan-prod .tag{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-weight:600;margin-bottom:.6rem}
@media(max-width:880px){.bayan-prodgrid{grid-template-columns:1fr}.bayan-pillars[style]{grid-template-columns:1fr!important}}

@media(prefers-reduced-motion:reduce){.bayan *,.bayan-hero-visual .frame img,#bayan-loader .lg{animation:none!important;transition:none!important}.bayan-rv{opacity:1!important;transform:none!important}}

/* hide theme default page title/header chrome */
.page .entry-title,.page-title,.wp-block-post-title,.entry-header,.page-header,.elementor-page-title,header.entry-header{display:none!important}
body.page .entry-content>*:first-child{margin-top:0!important}

/* inner-hero header: keep brand-colour logo, add readable backdrop over dark hero */
body:has(.bayan-phero) #bayan-hdr:not(.scrolled) .bayan-logo{display:inline-flex;align-items:center;background:transparent;padding:0;border:none;box-shadow:none}
body:has(.bayan-phero) #bayan-hdr:not(.scrolled) .bayan-menu a{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
body:has(.bayan-phero) #bayan-hdr:not(.scrolled) .bayan-menu a:hover{color:#bfe6d6}
body:has(.bayan-phero) #bayan-hdr:not(.scrolled) .bayan-burger span{background:#fff}

/* bayan-cur-interactive: pointer affordance */
.bayan-cur a,.bayan-cur button,.bayan-cur [role=button],.bayan-cur .bayan-btn,.bayan-cur .bayan-pillar,.bayan-cur input,.bayan-cur select{cursor:url("https://bayansolutions.co/wp-content/uploads/bayan-cursor-hover.svg") 17 17,pointer}


/* ===== Accordion (expandable items) for sub-pages ===== */
.bayan-accgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.6rem;margin-top:2.2rem}
@media(max-width:760px){.bayan-accgrid{grid-template-columns:1fr}}
.bayan-acc{border:1px solid var(--line);border-radius:14px;background:var(--white);overflow:hidden;transition:box-shadow .3s,border-color .3s}
.bayan-acc[open]{box-shadow:0 18px 40px -28px rgba(21,59,84,.4);border-color:#d4dde2}
.bayan-acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:1rem;padding:1.15rem 1.3rem;font-family:var(--display);font-size:1.08rem;font-weight:500;color:var(--navy)}
.bayan-acc summary::-webkit-details-marker{display:none}
.bayan-acc .ai{flex:0 0 auto;width:40px;height:40px;border-radius:10px;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.bayan-acc summary .at{flex:1}
.bayan-acc summary .ac{flex:0 0 auto;width:24px;height:24px;color:var(--green);transition:transform .35s ease;font-size:1.3rem;display:flex;align-items:center;justify-content:center}
.bayan-acc[open] summary .ac{transform:rotate(45deg)}
.bayan-acc .abody{padding:0 1.3rem 1.25rem 4.3rem;color:var(--slate);font-size:.95rem;line-height:1.65}
.bayan-acc .abody p{margin:0}
/* sub-page hero image variants reuse .bayan-phero */
/* ===== Testimonials ===== */
.bayan-tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem;margin-top:2.4rem}
.bayan-tcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.7rem 1.6rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 18px 36px -28px rgba(21,59,84,.25)}
.bayan-tcard .stars{color:#d9a441;font-size:.95rem;letter-spacing:.18em}
.bayan-tcard .tq{font-family:var(--display);font-style:italic;font-size:1.02rem;line-height:1.55;color:var(--ink)}
.bayan-tcard .twho{display:flex;align-items:center;gap:.85rem;margin-top:auto;padding-top:.4rem}
.bayan-tcard .tav{width:44px;height:44px;border-radius:50%;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center;font-weight:600;flex:none}
.bayan-tcard .tnm{font-weight:600;color:var(--navy);font-size:.92rem;line-height:1.3}
.bayan-tcard .trl{color:var(--slate);font-size:.8rem}
.bayan-ph-badge{display:inline-flex;align-self:flex-start;background:#fdf3e3;color:#8a6420;border:1px solid #f0dcb4;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .7rem}
.bayan-tmore{margin-top:2.2rem;text-align:center}