/* DreamMore brand theme – crimson / black / white (from the logo) */
:root{--dm-red:#BE3A1B;--dm-red-dark:#8f2711;--dm-ink:#0b0b0b;--dm-soft:#fff1ed}
::selection{background:#BE3A1B;color:#fff}
html{scrollbar-color:#BE3A1B #111}
*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#111}*::-webkit-scrollbar-thumb{background:#BE3A1B;border-radius:8px}
:focus-visible{outline:2px solid #BE3A1B;outline-offset:3px}
#dm-progress{background:linear-gradient(90deg,#BE3A1B,#0b0b0b)!important;height:4px!important}
#dm-progress::after{content:"✦";position:absolute;right:-6px;top:-7px;font-size:16px;line-height:1;color:#BE3A1B}

/* splash (once per session) */
#dm-splash{position:fixed;inset:0;z-index:2147483000;background:#0b0b0b;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;transition:transform .8s cubic-bezier(.77,0,.18,1)}
#dm-splash.out{transform:translateY(-100%)}
#dm-splash img{width:min(220px,50vw);height:auto;border-radius:18px;opacity:0;transform:scale(.8);animation:dmSplashLogo .8s .15s forwards cubic-bezier(.2,.8,.2,1)}
#dm-splash .st{display:flex;align-items:flex-end;gap:6px;height:44px}
#dm-splash .st i{display:block;width:14px;background:#BE3A1B;height:0;animation:dmStep .45s forwards cubic-bezier(.2,.8,.2,1)}
#dm-splash .st i:nth-child(1){animation-delay:.3s;--h:10px}#dm-splash .st i:nth-child(2){animation-delay:.42s;--h:20px}
#dm-splash .st i:nth-child(3){animation-delay:.54s;--h:30px}#dm-splash .st i:nth-child(4){animation-delay:.66s;--h:44px}
#dm-splash p{margin:0;color:#fff;letter-spacing:.28em;font:600 11px system-ui,sans-serif;opacity:0;animation:dmFade .6s .8s forwards}
@keyframes dmSplashLogo{to{opacity:1;transform:none}}
@keyframes dmStep{to{height:var(--h)}}
@keyframes dmFade{to{opacity:.85}}

/* stair-shaped heading accent */
main h2:not(.no-stair)::after{content:"";display:block;width:64px;height:12px;margin-top:12px;background:#BE3A1B;
 clip-path:polygon(0 100%,0 66%,25% 66%,25% 33%,50% 33%,50% 0,75% 0,75% 0,100% 0,100% 100%);transition:width .4s}
main h2.text-center::after,main .text-center>h2::after{margin-left:auto;margin-right:auto}
main h2:hover::after{width:96px}

/* CTA: black sweep on crimson buttons */
a[class*="bg-[#BE3A1B]"],button[class*="bg-[#BE3A1B]"]{background-image:linear-gradient(#0b0b0b,#0b0b0b);background-repeat:no-repeat;background-size:0 100%;background-position:left;transition:background-size .45s cubic-bezier(.2,.8,.2,1),transform .25s,box-shadow .25s}
a[class*="bg-[#BE3A1B]"]:hover,button[class*="bg-[#BE3A1B]"]:hover{background-size:100% 100%;transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(190,58,27,.6)}

/* cards: crimson bar grows on hover */
.dm-tilt,.card,[class*="rounded-2xl"][class*="border"]{position:relative}
.dm-tilt::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,#BE3A1B,#0b0b0b);transition:width .45s;border-radius:3px;z-index:2;pointer-events:none}
.dm-tilt:hover::before{width:100%}

/* sparkle stars in hero */
.dm-sparkle{position:absolute;pointer-events:none;color:#BE3A1B;opacity:0;font-size:var(--s,18px);line-height:1;animation:dmTwinkle var(--d,3.6s) var(--dl,0s) infinite ease-in-out;z-index:1}
.dm-sparkle.w{color:#fff}
@keyframes dmTwinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:.9;transform:scale(1) rotate(45deg)}}

/* logo */
header img[src*="LOGO"],header img[src*="logo"]{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
header a:hover img[src*="LOGO"],header a:hover img[src*="logo"]{transform:rotate(-4deg) scale(1.06)}

/* gentle crimson glow behind hero gradients */
.dm-grad{background-size:200% auto}

@media (prefers-reduced-motion:reduce){
 #dm-splash,.dm-sparkle{display:none!important}
 a[class*="bg-[#BE3A1B]"],button[class*="bg-[#BE3A1B]"]{transition:none}
 main h2::after{transition:none}
}

/* ===== FULL ANIMATION PACK ===== */
/* announcement bar */
#dm-announce{position:relative;z-index:60;background:#0b0b0b;color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 40px 9px 14px;font:600 13px system-ui,sans-serif;text-align:center;border-bottom:2px solid #BE3A1B;animation:dmAnn .6s cubic-bezier(.2,.8,.2,1)}
#dm-announce .st{color:#BE3A1B;animation:dmSpin 4s linear infinite;display:inline-block}
#dm-announce a{color:#fff;background:#BE3A1B;padding:4px 12px;border-radius:999px;text-decoration:none;font-weight:700;white-space:nowrap}
#dm-announce button{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:20px;cursor:pointer;opacity:.7}
@keyframes dmAnn{from{transform:translateY(-100%)}}
@keyframes dmSpin{to{transform:rotate(360deg)}}

/* custom sections (added from admin) */
#dm-blocks{display:block}
.dmb{padding:64px 20px;background:#fff}.dmb:nth-child(even){background:#f7f7f7}
.dmb-in{max-width:1100px;margin:auto;display:grid;gap:36px;align-items:center}
.dmb-image-left .dmb-in,.dmb-image-right .dmb-in{grid-template-columns:1fr 1fr}
@media(max-width:760px){.dmb-image-left .dmb-in,.dmb-image-right .dmb-in{grid-template-columns:1fr}}
.dmb-tx h2{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:800;color:#0b0b0b;margin:0 0 14px;line-height:1.15}
.dmb-body{color:#444;line-height:1.7;font-size:1.02rem}.dmb-body p{margin:0 0 10px}.dmb-body ul{padding-left:20px;list-style:disc}
.dmb-img img{width:100%;border-radius:22px;box-shadow:0 24px 50px -20px rgba(0,0,0,.4);transition:transform .6s}
.dmb-img:hover img{transform:scale(1.03) rotate(-.6deg)}
.dmb-text .dmb-tx{text-align:center;max-width:760px;margin:auto}.dmb-text .dmb-img{max-width:760px;margin:auto}
.dmb-banner{background:#0b0b0b!important}.dmb-banner h2,.dmb-banner .dmb-body{color:#fff}.dmb-banner .dmb-tx{text-align:center;max-width:760px;margin:auto}
.dmb-btn{display:inline-block;margin-top:18px;background:#BE3A1B;color:#fff;padding:12px 26px;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s}
.dmb-btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px -10px rgba(190,58,27,.7)}

/* cursor glow + magnetic */
.dm-no-glow #dm-glow{display:none}.dm-no-sparkle .dm-sparkle{display:none}
.dm-mag{transition:transform .25s cubic-bezier(.2,.8,.2,1)!important}

/* hero headline: words rise in */
.dm-rise{animation:dmRise2 .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--base,0ms)}
@keyframes dmRise2{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.dm-w{display:inline-block;overflow:hidden;vertical-align:bottom}
.dm-w>span{display:inline-block;transform:translateY(110%);animation:dmRise .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*70ms + var(--base,0ms))}
@keyframes dmRise{to{transform:none}}

/* floating stair/star background decoration for dark hero sections */
.dm-float{position:absolute;pointer-events:none;color:rgba(190,58,27,.28);font-size:var(--s,60px);animation:dmFloat var(--d,9s) ease-in-out infinite;z-index:0}
@keyframes dmFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(20deg)}}

/* image reveal + parallax helpers */
main img[data-cms-img]{transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}
main img[data-cms-img]:hover{transform:scale(1.03)}
/* underline links grow */
main p a:not([class*="bg-"]){background:linear-gradient(#BE3A1B,#BE3A1B) no-repeat 0 100%/0 2px;transition:background-size .35s}
main p a:not([class*="bg-"]):hover{background-size:100% 2px}
/* number pop */
[data-count]{display:inline-block}
@media (prefers-reduced-motion:reduce){#dm-glow,.dm-float{display:none!important}.dm-w>span{transform:none;animation:none}}

/* ===== TEAM (About page) ===== */
.tm-label{display:flex;align-items:center;gap:14px;margin:8px 0 26px}
.tm-label span{color:#BE3A1B;font-size:22px}
.tm-label b{font-size:1.5rem;font-weight:900;letter-spacing:-.01em;color:#0b0b0b}
.tm-label i{flex:1;height:2px;background:linear-gradient(90deg,#BE3A1B,rgba(190,58,27,0))}
.tm-label2{margin-top:64px}
.tm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,280px));justify-content:center;gap:22px}
.tm-card{position:relative;padding:34px 24px 26px;text-align:center;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;animation:dmRise2 .8s calc(var(--i)*90ms) both cubic-bezier(.2,.8,.2,1)}
.tm-card:hover{transform:translateY(-10px)}
.tm-av{margin:0 auto 18px;width:104px;height:104px;display:flex;align-items:center;justify-content:center;font-size:1.9rem;font-weight:900;letter-spacing:.02em;position:relative}
.tm-name{font-size:1.15rem;font-weight:800;line-height:1.25}
.tm-role{display:inline-block;margin-top:10px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.tm-exp{margin-top:14px;font-size:.82rem;line-height:1.55}
/* management: black, crimson ring */
.tm-mgmt{background:linear-gradient(160deg,#171717,#050505);color:#fff;border-radius:26px;box-shadow:0 22px 44px -22px rgba(0,0,0,.7);border-top:4px solid #BE3A1B}
.tm-mgmt::before{content:"✦";position:absolute;right:16px;top:12px;font-size:26px;color:rgba(190,58,27,.55);transition:transform .8s}
.tm-mgmt::after{content:"";position:absolute;inset:auto -30% -60% -30%;height:70%;background:radial-gradient(closest-side,rgba(190,58,27,.35),transparent);pointer-events:none}
.tm-mgmt:hover{box-shadow:0 30px 60px -20px rgba(190,58,27,.65)}
.tm-mgmt:hover::before{transform:rotate(180deg) scale(1.3)}
.tm-mgmt .tm-av{border-radius:50%;background:#0b0b0b;color:#fff;box-shadow:0 0 0 3px #0b0b0b,0 0 0 6px #BE3A1B;transition:box-shadow .4s}
.tm-mgmt:hover .tm-av{box-shadow:0 0 0 3px #0b0b0b,0 0 0 8px #fff}
.tm-mgmt .tm-role{background:#BE3A1B;color:#fff}
.tm-mgmt .tm-exp{color:#b8b8b8}
/* experts: white, cut corner, crimson avatar */
.tm-card.tm-pro{background:#fff;color:#0b0b0b;border-radius:22px;box-shadow:0 14px 34px -18px rgba(0,0,0,.35);border:1px solid #eee;clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,0 100%)}
.tm-card.tm-pro::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(#BE3A1B,#0b0b0b)}
.tm-card.tm-pro .tm-av{border-radius:28px 8px 28px 8px;background:linear-gradient(135deg,#BE3A1B,#7a1f0a);color:#fff;transform:rotate(-6deg);transition:transform .4s}
.tm-card.tm-pro:hover .tm-av{transform:rotate(0) scale(1.06)}
.tm-card.tm-pro .tm-av span{display:inline-block;transform:rotate(6deg);transition:transform .4s}
.tm-card.tm-pro:hover .tm-av span{transform:none}
.tm-card.tm-pro .tm-role{background:#fff1ed;color:#BE3A1B}
.tm-card.tm-pro .tm-exp{color:#555}
.tm-card.tm-pro:hover{box-shadow:0 26px 44px -20px rgba(190,58,27,.45)}

/* ===== GOVERNMENT SCHEME CARDS ===== */
.scheme-card{position:relative;border:0!important;border-radius:28px!important;background:#fff;box-shadow:0 24px 50px -26px rgba(0,0,0,.45)!important;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.scheme-card:hover{transform:translateY(-6px);box-shadow:0 34px 60px -24px rgba(190,58,27,.55)!important}
.scheme-card>div:first-child{background:linear-gradient(120deg,#0b0b0b 0%,#2a0f08 45%,#BE3A1B 100%)!important;padding:30px 34px!important;position:relative}
.scheme-card>div:first-child{color:#fff}
.scheme-card>div:first-child::after{content:"";position:absolute;right:-40px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.18),transparent)}
.scheme-card>div:first-child>div:first-child{font-size:7rem!important;opacity:.07!important;letter-spacing:-.04em}
.scheme-card h3{font-size:1.65rem!important;line-height:1.2;letter-spacing:-.01em}
.scheme-card span[class*="bg-white/20"]{background:#BE3A1B!important;border:1px solid rgba(255,255,255,.35);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem!important}
.scheme-card a[class*="bg-white"]{background:#fff!important;color:#BE3A1B!important;box-shadow:0 10px 24px -10px rgba(0,0,0,.6);transition:transform .25s}
.scheme-card a:hover{transform:translateY(-2px)}
.scheme-card .grid{background:linear-gradient(#fff,#fbf8f7)}
.scheme-card .grid>div{padding:28px 30px!important;position:relative}
.scheme-card h4{display:flex;align-items:center;gap:10px;font-size:1.05rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900!important;margin-bottom:14px!important}
.scheme-card h4::before{content:"";width:26px;height:10px;background:#BE3A1B;clip-path:polygon(0 100%,0 66%,33% 66%,33% 33%,66% 33%,66% 0,100% 0,100% 100%)}
.scheme-card li{background:#fff;border:1px solid #f0e4df;border-radius:12px;padding:8px 12px;margin-bottom:8px;transition:transform .25s,border-color .25s,background .25s}
.scheme-card li:hover{transform:translateX(5px);border-color:#BE3A1B;background:#fff6f3}
.scheme-card li::first-letter{color:#BE3A1B;font-weight:900}
.scheme-card .grid p{line-height:1.7;font-size:.95rem!important}
@media(max-width:767px){.scheme-card>div:first-child{padding:22px!important}}

/* ===== SERVICE LIST CARDS (Services page) ===== */
.svc-card{position:relative;border:0!important;border-radius:28px!important;box-shadow:0 24px 50px -26px rgba(0,0,0,.45)!important;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;gap:0!important}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 34px 60px -24px rgba(190,58,27,.55)!important}
.svc-card>div[class*="bg-gradient"]{background:linear-gradient(135deg,#0b0b0b 0%,#2a0f08 50%,#BE3A1B 130%)!important;position:relative;overflow:hidden;padding:34px!important}
.svc-card>div[class*="bg-gradient"]{color:#fff}
.svc-card>div[class*="bg-gradient"]::after{content:"✦";position:absolute;right:18px;bottom:-14px;font-size:120px;line-height:1;color:rgba(255,255,255,.07);transition:transform .8s}
.svc-card:hover>div[class*="bg-gradient"]::after{transform:rotate(90deg) scale(1.15)}
.svc-card>div[class*="bg-gradient"]>div:first-child{opacity:.9!important;color:transparent;-webkit-text-stroke:2px #fff;font-size:4.5rem}
.svc-card>div[class*="bg-gradient"] h3{font-size:1.6rem!important;letter-spacing:-.01em}
.svc-card a[class*="bg-white"]{box-shadow:0 10px 24px -10px rgba(0,0,0,.6);transition:transform .25s,background .25s,color .25s}
.svc-card a[class*="bg-white"]:hover{transform:translateX(5px);background:#BE3A1B!important;color:#fff!important}
.svc-card>div:not([class*="bg-gradient"]){padding:30px!important;background:linear-gradient(#fff,#fbf8f7)}
.svc-card [class*="sm:grid-cols-2"]>div{background:#fff;border:1px solid #f0e4df;border-radius:12px;padding:9px 12px;align-items:center;transition:transform .25s,border-color .25s,background .25s}
.svc-card [class*="sm:grid-cols-2"]>div:hover{transform:translateX(5px);border-color:#BE3A1B;background:#fff6f3}
.svc-card [class*="sm:grid-cols-2"]>div>span:first-child{width:22px;height:22px;border-radius:50%;background:#BE3A1B;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;flex:none}

/* ===== ALL OTHER CARDS (every page): lift + crimson edge on hover ===== */
main [class*="rounded-2xl"][class*="bg-white"]:not(.scheme-card):not(.svc-card):not(.tm-card),
main [class*="rounded-3xl"][class*="bg-white"]:not(.tm-card){transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
main [class*="rounded-2xl"][class*="bg-white"]:not(.scheme-card):not(.svc-card):not(.tm-card):hover,
main [class*="rounded-3xl"][class*="bg-white"]:not(.tm-card):hover{transform:translateY(-5px);box-shadow:0 24px 44px -22px rgba(190,58,27,.45);border-color:rgba(190,58,27,.45)}
main [class*="bg-[#BE3A1B]/5"][class*="rounded-2xl"]{border-left:4px solid #BE3A1B;transition:transform .3s}
main [class*="bg-[#BE3A1B]/5"][class*="rounded-2xl"]:hover{transform:translateY(-4px)}
/* FAQ boxes bigger on every page */
.faq-btn{padding:22px 28px!important;font-size:1.1rem!important}
.faq-answer{padding:0 28px!important;font-size:1rem!important;line-height:1.7}
.faq-btn.active+.faq-answer{padding:4px 28px 24px!important;max-height:600px}
@media(max-width:767px){.svc-card>div[class*="bg-gradient"],.svc-card>div:not([class*="bg-gradient"]){padding:22px!important}}

/* team photos: upload via website edit mode (click the avatar). Until a photo is added, initials show. */
.tm-av{overflow:hidden}
.tm-av img{font-size:0;color:transparent;max-width:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;transition:transform .5s}
.tm-av img[src*="/team/ph-"]{opacity:0}
.dm-editing .tm-av img[src*="/team/ph-"]{opacity:.001;cursor:pointer}
.tm-card.tm-pro .tm-av img{transform:rotate(6deg) scale(1.3)}
.tm-card.tm-pro:hover .tm-av img{transform:rotate(0) scale(1.15)}
.tm-mgmt:hover .tm-av img{transform:scale(1.08)}
.tm-mgmt .tm-av{width:116px;height:116px}
