/* Pitanga Wealth — Open Demat Account page (scoped to .pw-demat). */
.pw-demat{--forest:#073c2e;--deep:#072f26;--green:#168557;--mint:#dcf1e3;--cream:#faf9f3;--ink:#19322a;--muted:#65776f;--line:#e5e9e3;--gold:#c9a66a}
.pw-demat, .pw-demat *{box-sizing:border-box}
.pw-demat{scroll-behavior:smooth}
.pw-demat{margin:0;background:var(--cream);color:var(--ink);font:15px/1.65 "DM Sans",sans-serif}
.pw-demat h1,.pw-demat h2,.pw-demat h3,.pw-demat p{margin:0}
.pw-demat h1,.pw-demat h2,.pw-demat h3{line-height:1.15;letter-spacing:-.055em}
.pw-demat h1,.pw-demat h2{font-family:Manrope,"DM Sans",sans-serif;font-weight:800}
.pw-demat a{color:inherit;text-decoration:none}
.pw-demat button,.pw-demat input{font:inherit}
.pw-demat button{cursor:pointer}
.pw-demat .container{width:min(1180px,calc(100% - 56px));margin-inline:auto}
.pw-demat .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#317752}
.pw-demat .eyebrow:before{content:"";width:17px;height:2px;background:#3d9e68}
.pw-demat .pill{display:inline-block;padding:6px 12px;background:#e4f2e7;border:1px solid #cce4d0;border-radius:50px;color:#28774d;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pw-demat .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:13px;padding:14px 19px;font-weight:800;font-size:13px;line-height:1.3;transition:transform .2s,background .2s,box-shadow .2s}
.pw-demat .btn:hover{transform:translateY(-2px)}
.pw-demat .btn-dark{color:white;background:var(--forest);box-shadow:0 8px 18px #093f301d}
.pw-demat .btn-dark:hover{background:#07523b}
.pw-demat .btn-outline{border:1px solid #c7d9cd;background:transparent;color:var(--forest)}
.pw-demat .btn-outline:hover{background:#eaf4ec}
.pw-demat .arrow{font-size:17px;line-height:0}
.pw-demat header{background:rgba(250,249,243,.92);border-bottom:1px solid #e6eae3;position:sticky;top:0;z-index:15;backdrop-filter:blur(18px)}
.pw-demat .nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.pw-demat .logo{display:flex;align-items:center}
.pw-demat .logo img{width:218px;max-height:74px;object-fit:contain}
.pw-demat .nav-links{display:flex;gap:31px;align-items:center;font-size:13px;font-weight:700;color:#53665c}
.pw-demat .nav-links a:hover{color:var(--forest)}
.pw-demat .nav-right{display:flex;align-items:center;gap:10px}
.pw-demat .mobile-menu{display:none;font-size:25px;padding:6px 12px;border:1px solid #e2e9e3;border-radius:9px;background:white;color:var(--forest)}
.pw-demat .hero{position:relative;padding:78px 0 94px;overflow:hidden;background:radial-gradient(circle at 6% 12%,#e8f4e8 0,transparent 30%),radial-gradient(circle at 100% 38%,#f5efdf 0,transparent 28%),var(--cream)}
.pw-demat .hero:before{position:absolute;content:"";width:370px;height:370px;border:1px solid #c0d8c5;border-radius:50%;left:-250px;top:160px;opacity:.5}
.pw-demat .hero-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);align-items:center;gap:73px}
.pw-demat .hero h1{font-size:clamp(46px,5.25vw,73px);max-width:640px;margin:22px 0 23px;color:var(--deep)}
.pw-demat .hero h1 em{font-style:normal;color:#29905e}
.pw-demat .hero .desc{color:#5c7066;font-size:16px;max-width:525px;line-height:1.85}
.pw-demat .hero-benefits{display:flex;gap:12px;flex-wrap:wrap;margin:27px 0 26px}
.pw-demat .hero-benefits span{display:flex;align-items:center;gap:8px;padding:8px 11px;background:#ffffffa8;border:1px solid #e4eae1;border-radius:50px;font-size:12px;font-weight:700}
.pw-demat .tick{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e2f5e6;color:#10864f;font-size:13px}
.pw-demat .direct-link{font-size:13px;font-weight:800;color:#145a3e;display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid #77ae88;padding-bottom:6px}
.pw-demat .direct-link:hover{color:#0a9659}
.pw-demat .art{width:450px;max-width:90%;height:205px;margin-top:35px;position:relative}
.pw-demat .art-shadow{position:absolute;width:325px;height:115px;left:30px;bottom:0;border-radius:50%;background:#dcf0e3;filter:blur(1px)}
.pw-demat .art-board{position:absolute;left:8%;top:4%;width:75%;height:82%;border-radius:24px;background:linear-gradient(130deg,#0a4835,#07372b);box-shadow:16px 26px 35px #17433120;transform:rotate(-5deg);overflow:hidden}
.pw-demat .art-board:after{content:"";position:absolute;right:-45px;bottom:-90px;width:230px;height:230px;border:1px solid #ffffff33;border-radius:50%;box-shadow:0 0 0 28px #ffffff0a,0 0 0 58px #ffffff07}
.pw-demat .art-label{position:absolute;top:19px;left:23px;color:#bad7c5;font-size:10px;font-weight:800;letter-spacing:.14em}
.pw-demat .art-line{position:absolute;left:24px;top:66px;width:68%;height:70px}
.pw-demat .art-line svg{width:100%;height:100%;overflow:visible}
.pw-demat .art-chip{position:absolute;right:3%;top:28%;width:130px;padding:17px 17px 14px;border-radius:15px;background:#fff;box-shadow:0 20px 40px #17342521;transform:rotate(7deg)}
.pw-demat .chip-icon{font-size:22px;color:#198d5c;margin-bottom:6px}
.pw-demat .chip-head{font-size:10px;color:#789185}
.pw-demat .chip-text{font-weight:800;font-size:13px;line-height:1.35}
.pw-demat .art-dot{position:absolute;right:18%;bottom:0;width:17px;height:17px;background:#d8b77a;border-radius:50%;box-shadow:0 0 0 10px #d8b77a24}
.pw-demat .form-shell{position:relative;background:white;border:1px solid #e3eae3;border-radius:24px;box-shadow:0 26px 60px #153f2b12;padding:34px 36px 31px}
.pw-demat .form-shell:before{position:absolute;content:"";height:5px;background:linear-gradient(90deg,#085a3d,#7ebd86,#d2b978);top:0;left:36px;right:36px;border-radius:0 0 8px 8px}
.pw-demat .form-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pw-demat .form-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;color:#116c46;background:#e4f4e9;font-size:23px}
.pw-demat .form-shell h2{font-size:27px;line-height:1.24;margin-top:18px;letter-spacing:-.05em}
.pw-demat .form-sub{font-size:13px;color:#718077;margin:8px 0 24px}
.pw-demat .field{margin-bottom:16px}
.pw-demat .field label{display:block;font-size:12px;font-weight:800;letter-spacing:.01em;margin-bottom:7px;color:#264538}
.pw-demat .field input{width:100%;border:1px solid #dfe7e0;border-radius:10px;background:#fbfcfa;outline:none;height:49px;padding:0 14px;color:#173d2d;transition:border-color .2s,box-shadow .2s}
.pw-demat .field input:focus{border-color:#3d9e68;box-shadow:0 0 0 3px #44ae6b1e}
.pw-demat .field input::placeholder{color:#9da9a1}
.pw-demat .consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.7;color:#6d7f73;margin:8px 0 16px}
.pw-demat .consent input{accent-color:#116b46;flex:none;margin-top:4px}
.pw-demat .form-shell button.btn{width:100%;height:49px}
.pw-demat .privacy{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#819085;margin-top:14px}
.pw-demat .preview-tag{font-size:11px;color:#8a7657;background:#f9f3e8;border:1px solid #ebdec8;padding:9px 12px;border-radius:9px;margin-top:16px}
.pw-demat .success-demo{display:none;text-align:center;padding:55px 12px}
.pw-demat .success-demo .success-icon{width:62px;height:62px;display:grid;place-items:center;background:#e1f2e5;color:#137848;margin:0 auto 18px;border-radius:50%;font-size:30px}
.pw-demat .success-demo h3{font-size:25px}
.pw-demat .success-demo p{font-size:13px;color:#6a7d71;margin:14px 0 21px}
.pw-demat .section{padding:98px 0}
.pw-demat .section-header{text-align:center;max-width:740px;margin:0 auto 44px}
.pw-demat .section-header h2{font-size:clamp(32px,3.5vw,46px);margin:12px 0}
.pw-demat .section-header p{font-size:15px;color:#718076}
.pw-demat .paths{background:white}
.pw-demat .path-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pw-demat .path-card{position:relative;border:1px solid #e1e9e1;border-radius:23px;padding:37px 39px 33px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.pw-demat .path-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #1a3f2912}
.pw-demat .path-card:nth-child(2){background:#eff8f1;border-color:#c9e4d0}
.pw-demat .path-label{font-size:11px;font-weight:800;letter-spacing:.15em;color:#387d54}
.pw-demat .path-illustration{display:flex;align-items:center;justify-content:center;background:#f0f4ee;border-radius:17px;height:165px;margin:22px 0 28px;position:relative;overflow:hidden}
.pw-demat .path-card:nth-child(2) .path-illustration{background:#e3f1e6}
.pw-demat .path-illustration .big{font-size:86px;line-height:1;filter:drop-shadow(8px 10px 5px #38613b13)}
.pw-demat .path-illustration:before{content:"";width:260px;height:260px;position:absolute;right:-65px;top:25px;border:1px solid #b5d5bc;border-radius:50%;box-shadow:0 0 0 32px #cde4d23d}
.pw-demat .path-card h3{font-size:27px;letter-spacing:-.045em;margin:0 0 10px}
.pw-demat .path-card p{font-size:14px;color:#728178;max-width:410px;min-height:70px}
.pw-demat .path-card .btn{margin-top:21px}
.pw-demat .process{background:#f6f8f2}
.pw-demat .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pw-demat .step{position:relative}
.pw-demat .step:not(:last-child):after{content:"→";position:absolute;right:-19px;top:30px;font-size:20px;color:#88ad91}
.pw-demat .step-n{height:60px;width:60px;background:white;border:1px solid #cbded0;box-shadow:0 8px 20px #143d2510;border-radius:17px;display:grid;place-items:center;font-size:23px;color:#267d50;margin-bottom:23px}
.pw-demat .step strong{display:block;font-size:15px;margin-bottom:8px}
.pw-demat .step p{font-size:12px;color:#75857b;line-height:1.7}
.pw-demat .docs{background:#fff}
.pw-demat .docs-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px}
.pw-demat .docs h2{font-size:clamp(30px,3.7vw,45px);margin:14px 0 17px}
.pw-demat .docs p{color:#72837a}
.pw-demat .doc-list{display:grid;gap:13px;margin-top:25px}
.pw-demat .doc-item{display:flex;gap:15px;align-items:center;font-weight:700;font-size:13px}
.pw-demat .doc-item span{display:grid;place-items:center;background:#e7f5ec;color:#258557;border-radius:10px;width:38px;height:38px;font-size:19px}
.pw-demat .doc-art{min-height:370px;display:grid;place-items:center;background:radial-gradient(circle,#d8ecd9 0 41%,transparent 41%),linear-gradient(135deg,#f2f8f2,#f9f6ee);border:1px solid #e5eee6;border-radius:30px;position:relative}
.pw-demat .doc-paper{background:white;border:1px solid #e0e5e0;border-radius:17px;width:220px;height:260px;transform:rotate(-9deg);box-shadow:15px 22px 30px #143a261a;padding:29px}
.pw-demat .paper-logo{width:45px;height:45px;border-radius:12px;background:#e0f1e5;display:grid;place-items:center;color:#14633f;font-size:25px}
.pw-demat .paper-line{height:8px;border-radius:10px;background:#d7e4d9;margin-top:19px}
.pw-demat .paper-line.small{width:60%;margin-top:10px}
.pw-demat .paper-line.mid{width:75%;margin-top:10px}
.pw-demat .doc-badge{position:absolute;right:12%;bottom:17%;border-radius:18px;background:#0c543c;box-shadow:10px 16px 20px #123b251a;color:white;padding:19px 25px;font-size:13px;font-weight:800;transform:rotate(8deg)}
.pw-demat .assist{background:#0a3b2e;color:white;position:relative;overflow:hidden}
.pw-demat .assist:after{content:"";position:absolute;right:-170px;top:-260px;border:1px solid #ffffff24;border-radius:50%;width:650px;height:650px;box-shadow:0 0 0 75px #ffffff05,0 0 0 150px #ffffff05;pointer-events:none}
.pw-demat .assist .container{position:relative;z-index:1}
.pw-demat .assist h2{font-size:clamp(32px,3.5vw,47px);margin:15px 0}
.pw-demat .assist .eyebrow{color:#90d5ab}
.pw-demat .assist .eyebrow:before{background:#90d5ab}
.pw-demat .assist-intro{max-width:550px;color:#c0d6ca;font-size:14px}
.pw-demat .assist-features{margin-top:43px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pw-demat .assist-feature{border:1px solid #ffffff2e;background:#ffffff08;border-radius:16px;padding:25px}
.pw-demat .assist-feature .symbol{font-size:24px;color:#b2dfb8;margin-bottom:11px}
.pw-demat .assist-feature strong{display:block;font-size:16px}
.pw-demat .assist-feature p{font-size:12px;color:#c1d1c5;margin-top:8px}
.pw-demat .faq{background:#fff}
.pw-demat .faqs{max-width:850px;margin:auto}
.pw-demat .faq details{border-bottom:1px solid #e2e9e2;padding:20px 0}
.pw-demat .faq summary{font-weight:800;list-style:none;cursor:pointer;padding-right:32px;position:relative}
.pw-demat .faq summary::-webkit-details-marker{display:none}
.pw-demat .faq summary:after{content:"+";position:absolute;right:3px;font-size:22px;top:-5px;color:#258557}
.pw-demat .faq details[open] summary:after{content:"−"}
.pw-demat .faq details p{margin:11px 0 0;color:#6b7f72;font-size:13px;max-width:740px}
.pw-demat .final-cta{background:#eaf4e9;padding:75px 0;text-align:center}
.pw-demat .final-cta h2{font-size:clamp(30px,3.8vw,47px);margin:13px 0}
.pw-demat .final-cta p{color:#6d7f70;max-width:540px;margin:0 auto 24px}
.pw-demat .final-actions{display:flex;justify-content:center;gap:13px;flex-wrap:wrap}
.pw-demat .disclosure{font-size:11px;color:#708076;line-height:1.7;margin:25px auto 0;max-width:870px}
.pw-demat footer{background:#082f24;color:#c4d8cc;padding:27px 0}
.pw-demat .footer-row{display:flex;gap:18px;align-items:center;justify-content:space-between;font-size:12px}
.pw-demat .footer-row a{text-decoration:underline}
.pw-demat .preview-ribbon{position:fixed;right:18px;bottom:18px;background:#1d4234;color:white;border-radius:100px;font-size:11px;font-weight:700;z-index:20;padding:10px 16px;box-shadow:0 5px 20px #0002}
@media(max-width:1000px){.pw-demat .hero-layout{gap:32px;grid-template-columns:1fr 1fr}
.pw-demat .form-shell{padding:27px 25px}
.pw-demat .hero h1{font-size:48px}
.pw-demat .nav-links{display:none}
.pw-demat .docs-layout{gap:35px}}
@media(max-width:760px){.pw-demat .container{width:min(100% - 36px,550px)}
.pw-demat .nav{min-height:75px}
.pw-demat .logo img{width:174px}
.pw-demat .nav-right .btn{display:none}
.pw-demat .mobile-menu{display:block}
.pw-demat .hero{padding:50px 0 65px}
.pw-demat .hero-layout,.pw-demat .path-grid,.pw-demat .docs-layout{grid-template-columns:1fr}
.pw-demat .hero-layout{gap:27px}
.pw-demat .hero h1{font-size:clamp(41px,10vw,58px)}
.pw-demat .hero .desc{font-size:14px}
.pw-demat .hero-benefits{gap:8px}
.pw-demat .hero-benefits span{font-size:11px}
.pw-demat .art{height:165px;margin:28px auto 7px;width:360px}
.pw-demat .form-shell{padding:28px 23px;border-radius:20px}
.pw-demat .form-shell h2{font-size:25px}
.pw-demat .section{padding:66px 0}
.pw-demat .section-header{margin-bottom:27px}
.pw-demat .section-header h2{font-size:32px}
.pw-demat .path-card{padding:24px}
.pw-demat .path-card p{min-height:auto}
.pw-demat .path-illustration{height:135px}
.pw-demat .steps{grid-template-columns:1fr 1fr;row-gap:35px}
.pw-demat .step:after{display:none}
.pw-demat .doc-art{min-height:300px;order:-1}
.pw-demat .assist-features{grid-template-columns:1fr}
.pw-demat .assist-feature{padding:19px}
.pw-demat .final-cta{padding:60px 0}
.pw-demat .footer-row{flex-direction:column;text-align:center}
.pw-demat .preview-ribbon{font-size:10px;right:9px;bottom:9px}}
@media(max-width:410px){.pw-demat .hero h1{font-size:40px}
.pw-demat .hero-benefits{display:grid}
.pw-demat .hero-benefits span{width:max-content}
.pw-demat .steps{grid-template-columns:1fr 1fr;gap:16px}
.pw-demat .step-n{height:53px;width:53px}
.pw-demat .art{width:100%}}
@media(prefers-reduced-motion:reduce){.pw-demat, .pw-demat *,.pw-demat *:before,.pw-demat *:after{scroll-behavior:auto!important;transition:none!important}}
/* WordPress theme integration — isolation, spacing and form states */
.pw-demat{background:#faf9f3;isolation:isolate;overflow:hidden}
.pw-demat .hero{padding-top:160px;scroll-margin-top:110px}
.pw-demat #demat-assistance{scroll-margin-top:110px}
.pw-demat .paths,.pw-demat .process,.pw-demat .docs,.pw-demat .assist,.pw-demat .faq{scroll-margin-top:90px}
.pw-demat .demat-trap{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pw-demat [hidden]{display:none!important}
.pw-demat #demat-form-msg:not(:empty){display:block;background:#fff0ed;border:1px solid #efccc6;border-radius:10px;color:#a44136;font-size:12px;padding:10px 12px;margin-top:12px}
.pw-demat .success-demo:not([hidden]){display:block}
.pw-demat .success-demo[hidden]{display:none!important}
.pw-demat .consent a{text-decoration:underline;text-underline-offset:2px;color:#146d46;font-weight:700}
.pw-demat .consent input{width:15px;height:15px}
.pw-demat .btn:focus-visible,.pw-demat a:focus-visible,.pw-demat input:focus-visible,.pw-demat summary:focus-visible{outline:3px solid #bbad65;outline-offset:3px}
.pw-demat .form-shell button:disabled{opacity:.68;cursor:wait;transform:none}
.pw-demat h1,.pw-demat h2,.pw-demat h3{overflow-wrap:break-word}
@media(max-width:860px){.pw-demat .hero{padding-top:124px}}
@media(max-width:600px){.pw-demat .hero{padding-top:115px}.pw-demat .hero h1,.pw-demat .hero .desc{text-align:center}.pw-demat .hero-benefits{justify-content:center}.pw-demat .hero .eyebrow{display:flex;justify-content:center}.pw-demat .direct-link{display:flex;justify-content:center;width:max-content;max-width:100%;margin-inline:auto}}
/* Demat form — reliable visibility switching */

.pw-demat #demat-form-panel[hidden],
.pw-demat #demat-success[hidden] {
    display: none !important;
}

.pw-demat #demat-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* ============================================
   OPEN DEMAT — PREMIUM COMPACT GLASS FORM
   Scoped only to the Demat hero form
============================================ */

/* Frosted-glass form container */
.pw-demat .hero .form-shell {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.78) 0%,
        rgba(247, 253, 249, 0.65) 58%,
        rgba(233, 246, 238, 0.55) 100%
    );

    -webkit-backdrop-filter: blur(24px) saturate(150%);
    backdrop-filter: blur(24px) saturate(150%);

    border: 1px solid rgba(255, 255, 255, 0.88);
    border-radius: 25px;

    box-shadow:
        0 24px 65px rgba(11, 67, 43, 0.09),
        0 5px 18px rgba(11, 67, 43, 0.035),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);

    padding: 27px 30px 24px;
}

/* Subtle premium glow */
.pw-demat .hero .form-shell::after {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    top: -100px;
    right: -80px;

    border-radius: 50%;
    background: rgba(134, 213, 163, 0.18);
    filter: blur(35px);
    pointer-events: none;
    z-index: -1;
}

/* Slim top accent */
.pw-demat .hero .form-shell::before {
    content: "";
    position: absolute;
    top: 0;
    left: 30px;
    right: 30px;
    height: 3px;

    background: linear-gradient(
        90deg,
        #0c6544,
        #72bd8a,
        #d7bc82
    );

    border-radius: 0 0 5px 5px;
}

/* Header */
.pw-demat .hero .form-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

/* Assistance icon */
.pw-demat .hero .form-icon {
    width: 42px;
    height: 42px;
    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #126a46;
    background: rgba(213, 239, 222, 0.8);

    border: 1px solid rgba(139, 198, 156, 0.32);
    border-radius: 13px;

    box-shadow: inset 0 1px 0 rgba(255,255,255,0.85);
}

.pw-demat .hero .form-icon svg {
    width: 23px;
    height: 23px;
}

/* Heading */
.pw-demat .hero .form-shell h2 {
    font-size: clamp(23px, 2vw, 27px);
    font-weight: 800;
    line-height: 1.24;
    letter-spacing: -0.045em;

    color: #073c2e;
    margin: 12px 0 0;
}

/* Supporting description */
.pw-demat .hero .form-sub {
    font-size: 12.5px;
    line-height: 1.6;
    color: #61766a;

    margin: 7px 0 18px;
}

/* Reduce excessive gaps between fields */
.pw-demat .hero .field {
    margin-bottom: 12px;
}

.pw-demat .hero .field label {
    display: block;
    font-size: 11.5px;
    font-weight: 700;
    color: #244938;

    margin-bottom: 5px;
}

/* Glass-style inputs */
.pw-demat .hero .field input {
    display: block;
    width: 100%;
    height: 44px;

    padding: 0 14px;

    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(176, 204, 184, 0.55);
    border-radius: 11px;

    color: #143c2a;
    font-size: 13px;

    box-shadow: inset 0 1px 2px rgba(10, 50, 30, 0.02);

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.pw-demat .hero .field input:hover {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(80, 153, 106, 0.5);
}

.pw-demat .hero .field input:focus {
    background: #fff;
    border-color: #268a57;
    outline: none;
    box-shadow: 0 0 0 3px rgba(41, 145, 91, 0.13);
}

.pw-demat .hero .field input::placeholder {
    color: #94a59a;
}

/* Compact consent without sacrificing readability */
.pw-demat .hero .consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;

    margin: 11px 0 15px;

    font-size: 10.5px;
    line-height: 1.55;
    color: #64776b;
}

.pw-demat .hero .consent input {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: #126a46;
}

/* Primary CTA */
.pw-demat .hero .form-shell button.btn {
    width: 100%;
    min-height: 46px;
    height: auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    background: linear-gradient(110deg, #073c2e, #126647);
    color: #fff;

    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 11px;

    font-size: 13px;
    font-weight: 700;

    box-shadow: 0 9px 19px rgba(7, 60, 46, 0.15);
}

.pw-demat .hero .form-shell button.btn:hover {
    background: linear-gradient(110deg, #07503a, #168154);
    box-shadow: 0 12px 22px rgba(7, 60, 46, 0.2);
    transform: translateY(-1px);
}

.pw-demat .hero .form-shell button.btn:disabled {
    opacity: 0.7;
    cursor: wait;
    transform: none;
}

/* Privacy reassurance */
.pw-demat .hero .privacy {
    font-size: 10px;
    line-height: 1.5;
    text-align: center;
    color: #75877b;
    margin-top: 12px;
}

/* Success state */
.pw-demat .hero .success-demo:not([hidden]) {
    display: block;
    text-align: center;
    padding: 36px 12px;
}

/* Mobile refinements */
@media (max-width: 600px) {

    .pw-demat .hero .form-shell {
        padding: 23px 20px 22px;
        border-radius: 21px;
    }

    .pw-demat .hero .form-shell::before {
        left: 20px;
        right: 20px;
    }

    .pw-demat .hero .form-shell h2 {
        font-size: 24px;
    }

    .pw-demat .hero .form-sub {
        font-size: 12px;
    }

    .pw-demat .hero .field input {
        height: 46px;
        font-size: 16px;
    }

    .pw-demat .hero .consent {
        font-size: 11px;
        line-height: 1.6;
    }

}

/* ============================================
   DEMAT — PREMIUM TWO-PATH JOURNEY SECTION
============================================ */

.pw-demat .demat-journeys {
    position: relative;
    padding: 105px 0 100px;
    background: #fafbf8;
    overflow: hidden;
}

.pw-demat .demat-journeys * {
    box-sizing: border-box;
}

/* SECTION HEADING */

.pw-demat .demat-journeys-heading {
    max-width: 780px;
    margin: 0 auto 50px;
    text-align: center;
}

.pw-demat .demat-journeys-eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: #238057;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.pw-demat .demat-journeys-heading h2 {
    margin: 0;
    color: #0a382b;
    font-size: clamp(34px, 4vw, 55px);
    line-height: 1.13;
    letter-spacing: -0.055em;
    font-weight: 800;
}

.pw-demat .demat-journeys-heading h2 span {
    color: #27915d;
}

.pw-demat .demat-journeys-heading p {
    max-width: 560px;
    margin: 20px auto 0;
    color: #718278;
    font-size: 15px;
    line-height: 1.8;
}

/* GRID */

.pw-demat .demat-journeys-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

/* BASE CARD */

.pw-demat .demat-journey-card {
    min-width: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 27px;
    padding: 30px;
    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.pw-demat .demat-journey-card:hover {
    transform: translateY(-5px);
}

/* DARK CARD */

.pw-demat .demat-journey-direct {
    background: linear-gradient(
        145deg,
        #063c2e 0%,
        #0a5039 65%,
        #0b6242 100%
    );
    color: #fff;
    box-shadow: 0 20px 45px rgba(5, 55, 39, .12);
}

.pw-demat .demat-journey-direct:hover {
    box-shadow: 0 28px 55px rgba(5, 55, 39, .19);
}

/* LIGHT CARD */

.pw-demat .demat-journey-assisted {
    background: linear-gradient(
        145deg,
        #e8f3eb 0%,
        #eff7ef 100%
    );
    border: 1px solid #d5e8d9;
    color: #103d2e;
    box-shadow: 0 20px 45px rgba(22, 76, 45, .055);
}

/* TOP LABELS */

.pw-demat .demat-journey-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 22px;
}

.pw-demat .demat-journey-top > span:first-child {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.pw-demat .demat-journey-direct .demat-journey-top {
    color: #b4e5ca;
}

.pw-demat .demat-journey-assisted .demat-journey-top {
    color: #2a7952;
}

.pw-demat .demat-journey-corner {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    flex-shrink: 0;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 17px;
    opacity: .7;
}

/* SHARED VISUAL STAGE */

.pw-demat .demat-journey-visual {
    position: relative;
    height: 255px;
    min-height: 255px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 19px;
    isolation: isolate;
}

.pw-demat .demat-direct-visual {
    background: linear-gradient(
        135deg,
        #145d43,
        #1a7150
    );
}

.pw-demat .demat-assisted-visual {
    background: linear-gradient(
        135deg,
        #d7eadd,
        #c9e4d3
    );
}

/* DECORATIVE ORBITS */

.pw-demat .demat-direct-orbit,
.pw-demat .demat-assisted-orbit {
    position: absolute;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    right: -130px;
    top: -125px;
    pointer-events: none;
}

.pw-demat .demat-direct-orbit {
    border: 1px solid rgba(255,255,255,.14);
    box-shadow:
        0 0 0 48px rgba(255,255,255,.025),
        0 0 0 100px rgba(255,255,255,.018);
}

.pw-demat .demat-assisted-orbit {
    border: 1px solid rgba(18,105,67,.16);
    box-shadow:
        0 0 0 48px rgba(20,110,70,.025),
        0 0 0 100px rgba(20,110,70,.018);
}

/* ============================================
   DIRECT OPENING — MINI BROWSER
============================================ */

.pw-demat .demat-mini-browser {
    position: relative;
    z-index: 2;
    width: min(79%, 330px);
    background: #fbfdfa;
    color: #123e2e;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 14px;
    box-shadow: 0 22px 42px rgba(0,30,18,.22);
    transform: rotate(-4deg) translateY(5px);
    transition: transform .4s ease;
}

.pw-demat .demat-journey-direct:hover .demat-mini-browser {
    transform: rotate(-2deg) translateY(-2px);
}

.pw-demat .demat-browser-top {
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0 12px;
    border-bottom: 1px solid #e9f0e9;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #628272;
}

.pw-demat .demat-browser-dots {
    display: flex;
    gap: 4px;
}

.pw-demat .demat-browser-dots i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #c9d8cd;
}

.pw-demat .demat-browser-dots i:first-child {
    background: #9fceb0;
}

.pw-demat .demat-browser-lock {
    color: #309366;
}

.pw-demat .demat-browser-content {
    padding: 15px 19px 17px;
}

.pw-demat .demat-browser-kicker {
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.4px;
    color: #32875b;
}

.pw-demat .demat-browser-title {
    margin: 6px 0 12px;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -.6px;
}

.pw-demat .demat-browser-progress {
    display: flex;
    gap: 5px;
    margin-bottom: 12px;
}

.pw-demat .demat-browser-progress span {
    flex: 1;
    height: 5px;
    border-radius: 10px;
    background: #e3ebe4;
}

.pw-demat .demat-browser-progress span:first-child {
    background: #2c9963;
}

.pw-demat .demat-browser-field {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
    padding: 8px 10px;
    background: #f0f6f1;
    border-radius: 7px;
    font-size: 10px;
    color: #557262;
}

.pw-demat .demat-browser-field b {
    color: #27915c;
}

.pw-demat .demat-browser-pending {
    color: #4b946a;
}

.pw-demat .demat-browser-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    padding: 8px 11px;
    border-radius: 7px;
    background: #0c5038;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
}

/* DIRECT FLOATING NOTE */

.pw-demat .demat-direct-float,
.pw-demat .demat-assisted-float {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 13px;
    border-radius: 12px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 25px rgba(0,35,20,.13);
}

.pw-demat .demat-direct-float {
    right: 10px;
    bottom: 15px;
    transform: rotate(3deg);
}

.pw-demat .demat-direct-float strong,
.pw-demat .demat-assisted-float strong {
    display: block;
    color: #123c2c;
    font-size: 10px;
}

.pw-demat .demat-direct-float small,
.pw-demat .demat-assisted-float small {
    display: block;
    margin-top: 2px;
    color: #748b7c;
    font-size: 8px;
}

.pw-demat .demat-float-symbol {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    border-radius: 9px;
    background: #e4f4e9;
    color: #14784b;
    font-size: 17px;
}

/* ============================================
   GUIDED ASSISTANCE — ADVISOR INTERFACE
============================================ */

.pw-demat .demat-advisor-window {
    position: relative;
    z-index: 2;
    width: min(81%, 345px);
    background: rgba(255,255,255,.97);
    border: 1px solid #e6efe7;
    border-radius: 15px;
    box-shadow: 0 20px 40px rgba(33,94,53,.13);
    transform: rotate(3deg) translateY(4px);
    transition: transform .4s ease;
}

.pw-demat .demat-journey-assisted:hover .demat-advisor-window {
    transform: rotate(1deg) translateY(-2px);
}

.pw-demat .demat-advisor-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border-bottom: 1px solid #edf1ec;
}

.pw-demat .demat-advisor-avatar {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background: #e2f1e7;
    color: #146c46;
    border-radius: 11px;
}

.pw-demat .demat-advisor-avatar svg {
    width: 20px;
    height: 20px;
}

.pw-demat .demat-advisor-info {
    flex: 1;
    min-width: 0;
}

.pw-demat .demat-advisor-info strong {
    display: block;
    font-size: 11px;
    color: #153e2d;
}

.pw-demat .demat-advisor-info small {
    display: block;
    margin-top: 2px;
    font-size: 9px;
    color: #84988a;
}

.pw-demat .demat-advisor-status {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #4aaf73;
}

.pw-demat .demat-chat-content {
    padding: 14px;
}

.pw-demat .demat-chat-message {
    max-width: 84%;
    padding: 9px 11px;
    margin-bottom: 9px;
    font-size: 10px;
    line-height: 1.5;
    border-radius: 10px;
}

.pw-demat .demat-chat-question {
    margin-right: auto;
    background: #f1f5f1;
    color: #526e5c;
}

.pw-demat .demat-chat-answer {
    margin-left: auto;
    background: #dff2e5;
    color: #155339;
}

.pw-demat .demat-chat-footer {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    font-size: 9px;
    color: #789081;
}

.pw-demat .demat-chat-dot {
    width: 6px;
    height: 6px;
    background: #4eaf74;
    border-radius: 50%;
}

.pw-demat .demat-assisted-float {
    left: 9px;
    bottom: 13px;
    transform: rotate(-4deg);
}

.pw-demat .demat-assisted-check {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    background: #e3f4e8;
    color: #168252;
    border-radius: 50%;
    font-size: 15px;
    font-weight: 800;
}

/* ============================================
   CARD CONTENT
============================================ */

.pw-demat .demat-journey-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 29px;
}

.pw-demat .demat-journey-small {
    margin-bottom: 10px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.pw-demat .demat-journey-direct .demat-journey-small {
    color: #b6e7c9;
}

.pw-demat .demat-journey-assisted .demat-journey-small {
    color: #31875a;
}

.pw-demat .demat-journey-content h3 {
    margin: 0 0 12px;
    font-size: clamp(26px, 2.6vw, 35px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.045em;
}

.pw-demat .demat-journey-direct h3 {
    color: #fff;
}

.pw-demat .demat-journey-assisted h3 {
    color: #0a3c2c;
}

.pw-demat .demat-journey-content p {
    max-width: 430px;
    margin: 0 0 28px;
    font-size: 14px;
    line-height: 1.8;
}

.pw-demat .demat-journey-direct .demat-journey-content p {
    color: #c7e3d3;
}

.pw-demat .demat-journey-assisted .demat-journey-content p {
    color: #647d6d;
}

/* FULL WIDTH BUTTONS */

.pw-demat .demat-journey-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    min-height: 51px;
    margin-top: auto;
    padding: 13px 18px;
    border-radius: 11px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.pw-demat .demat-journey-button:hover {
    transform: translateY(-2px);
}

.pw-demat .demat-journey-button-light {
    background: #f4f9f3;
    color: #0c4934;
}

.pw-demat .demat-journey-button-light:hover {
    background: #fff;
    color: #0c4934;
}

.pw-demat .demat-journey-button-dark {
    background: #0b4935;
    color: #fff;
}

.pw-demat .demat-journey-button-dark:hover {
    background: #126546;
    color: #fff;
}

.pw-demat .demat-journey-button span:last-child {
    font-size: 19px;
    font-weight: 500;
}

/* FOOTNOTE */

.pw-demat .demat-journeys-note {
    max-width: 700px;
    margin: 28px auto 0;
    text-align: center;
    font-size: 11px;
    line-height: 1.7;
    color: #859489;
}

/* STICKY HEADER ANCHOR OFFSET */

.pw-demat #paths,
.pw-demat #demat-assistance {
    scroll-margin-top: 125px;
}

/* ============================================
   TABLET
============================================ */

@media (max-width: 900px) {

    .pw-demat .demat-journeys {
        padding: 75px 0;
    }

    .pw-demat .demat-journeys-grid {
        gap: 16px;
    }

    .pw-demat .demat-journey-card {
        padding: 20px;
    }

    .pw-demat .demat-journey-visual {
        height: 220px;
        min-height: 220px;
    }

    .pw-demat .demat-journey-content h3 {
        font-size: 26px;
    }
}

/* ============================================
   MOBILE
============================================ */

@media (max-width: 700px) {

    .pw-demat .demat-journeys {
        padding: 65px 0;
    }

    .pw-demat .demat-journeys-heading {
        margin-bottom: 32px;
    }

    .pw-demat .demat-journeys-heading h2 {
        font-size: clamp(30px, 8vw, 39px);
    }

    .pw-demat .demat-journeys-heading p {
        font-size: 13px;
        line-height: 1.75;
    }

    .pw-demat .demat-journeys-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .pw-demat .demat-journey-card {
        padding: 22px;
        border-radius: 22px;
    }

    .pw-demat .demat-journey-visual {
        height: 225px;
        min-height: 225px;
    }

    .pw-demat .demat-journey-content {
        padding-top: 24px;
    }

    .pw-demat .demat-journey-content h3 {
        font-size: 29px;
    }

    .pw-demat .demat-journey-content p {
        font-size: 13px;
        margin-bottom: 23px;
    }

    .pw-demat .demat-journey-button {
        min-height: 50px;
    }
}

/* SMALL PHONES */

@media (max-width: 380px) {

    .pw-demat .demat-journey-card {
        padding: 16px;
    }

    .pw-demat .demat-journey-visual {
        height: 200px;
        min-height: 200px;
    }

    .pw-demat .demat-mini-browser,
    .pw-demat .demat-advisor-window {
        width: 85%;
    }

    .pw-demat .demat-direct-float,
    .pw-demat .demat-assisted-float {
        padding: 7px 9px;
    }
}

/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {

    .pw-demat .demat-journey-card,
    .pw-demat .demat-mini-browser,
    .pw-demat .demat-advisor-window,
    .pw-demat .demat-journey-button {
        transition: none;
    }
}

/* ==========================================
   DEMAT — EDITORIAL ONBOARDING PROCESS
   Soft multicolor premium palette
========================================== */

/* Section background */
.pw-demat .process {
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        115deg,
        #F5F1FA 0%,
        #FAF7F2 52%,
        #F1F5F6 100%
    );
    padding: 105px 0 110px;
}

/* Soft ambient decorative light */
.pw-demat .process::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    top: -210px;
    right: -110px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(188, 164, 226, 0.14),
        transparent 70%
    );
    pointer-events: none;
}

/* Heading */
.pw-demat .process .section-header h2 {
    color: #243A35;
}

.pw-demat .process .section-header .eyebrow {
    color: #8062A4;
}

.pw-demat .process .section-header p {
    color: #78817D;
}

/* Four-column timeline */
.pw-demat .process .steps {
    position: relative;
    z-index: 1;
    gap: 22px;
}

/* Individual steps */
.pw-demat .process .step {
    position: relative;
    min-width: 0;
    padding: 22px 20px 25px;
    border: 1px solid rgba(255,255,255,0.85);
    border-radius: 19px;
    background: rgba(255,255,255,0.46);
    box-shadow: 0 10px 30px rgba(47,50,55,0.035);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.pw-demat .process .step:hover {
    transform: translateY(-5px);
    box-shadow: 0 17px 38px rgba(47,50,55,0.07);
}

/* Step numbers */
.pw-demat .process .step-n {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    margin-bottom: 22px;
    border-radius: 17px;
    border: 1px solid rgba(255,255,255,0.8);
    font-size: 24px;
    font-weight: 700;
    box-shadow: none;
}

/* Step 1 — Lavender */
.pw-demat .process .step:nth-child(1) .step-n {
    background: #E9E3F5;
    color: #7456A1;
}

/* Step 2 — Peach */
.pw-demat .process .step:nth-child(2) .step-n {
    background: #F8E7DA;
    color: #A96940;
}

/* Step 3 — Powder blue */
.pw-demat .process .step:nth-child(3) .step-n {
    background: #DFEDF5;
    color: #3F7899;
}

/* Step 4 — Sage */
.pw-demat .process .step:nth-child(4) .step-n {
    background: #E0EEE4;
    color: #367D57;
}

/* Titles */
.pw-demat .process .step strong {
    display: block;
    margin-bottom: 10px;
    color: #263B35;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;
}

/* Descriptions */
.pw-demat .process .step p {
    margin: 0;
    color: #73817B;
    font-size: 12.5px;
    line-height: 1.8;
}

/* Preserve original timeline arrows,
   but make their color more subtle */
.pw-demat .process .step::after {
    color: #A1A6B0;
}

/* Mobile */
@media (max-width: 700px) {

    .pw-demat .process {
        padding: 70px 0 75px;
    }

    .pw-demat .process .steps {
        gap: 15px;
    }

    .pw-demat .process .step {
        padding: 20px;
        border-radius: 16px;
    }

    .pw-demat .process .step-n {
        width: 55px;
        height: 55px;
        font-size: 21px;
        margin-bottom: 16px;
    }

    .pw-demat .process .step strong {
        font-size: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pw-demat .process .step {
        transition: none;
    }
}

/* ==========================================
   DEMAT — PREMIUM DOCUMENT PREPARATION
========================================== */

.pw-demat .demat-prep {
    position: relative;
    padding: 100px 0 105px;
    background: #fffefa;
    overflow: hidden;
}

.pw-demat .demat-prep * {
    box-sizing: border-box;
}

/* Two-column layout */
.pw-demat .demat-prep-grid {
    display: grid;
    grid-template-columns: 1.04fr 0.96fr;
    gap: clamp(35px, 5vw, 85px);
    align-items: center;
}

/* Left content */
.pw-demat .demat-prep-content {
    min-width: 0;
}

.pw-demat .demat-prep-eyebrow {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 19px;
    color: #287a54;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.pw-demat .demat-prep-eyebrow-line {
    display: inline-block;
    width: 25px;
    height: 2px;
    border-radius: 2px;
    background: #2c9a66;
}

.pw-demat .demat-prep-content h2 {
    max-width: 570px;
    margin: 0;
    color: #0a3e30;
    font-size: clamp(35px, 3.65vw, 53px);
    line-height: 1.14;
    letter-spacing: -0.055em;
    font-weight: 800;
}

.pw-demat .demat-prep-content h2 span {
    display: block;
    color: #319266;
}

.pw-demat .demat-prep-intro {
    max-width: 515px;
    margin: 19px 0 27px;
    color: #73847a;
    font-size: 14px;
    line-height: 1.85;
}

/* Editorial checklist */
.pw-demat .demat-prep-list {
    display: flex;
    flex-direction: column;
    max-width: 570px;
}

.pw-demat .demat-prep-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 14px 0;
    border-bottom: 1px solid #e8ede7;
}

.pw-demat .demat-prep-item:last-child {
    border-bottom: 0;
}

/* Color-coded number tiles */
.pw-demat .demat-prep-number {
    flex: 0 0 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-size: 14px;
    font-weight: 800;
}

.pw-demat .demat-prep-item:nth-child(1)
.demat-prep-number {
    background: #e5f1e9;
    color: #24764d;
}

.pw-demat .demat-prep-item:nth-child(2)
.demat-prep-number {
    background: #e9e7f7;
    color: #7360a8;
}

.pw-demat .demat-prep-item:nth-child(3)
.demat-prep-number {
    background: #e2eff7;
    color: #427d9e;
}

.pw-demat .demat-prep-item:nth-child(4)
.demat-prep-number {
    background: #f9ecdc;
    color: #a5743d;
}

.pw-demat .demat-prep-item-content {
    flex: 1;
    min-width: 0;
}

.pw-demat .demat-prep-item-content h3 {
    margin: 0 0 4px;
    color: #173c2e;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
}

.pw-demat .demat-prep-item-content p {
    margin: 0;
    color: #87948b;
    font-size: 12px;
    line-height: 1.55;
}

.pw-demat .demat-prep-check {
    flex: 0 0 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e8f4eb;
    color: #2b8c59;
    font-size: 13px;
    font-weight: 800;
}

/* Disclaimer */
.pw-demat .demat-prep-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 555px;
    margin-top: 23px;
    padding: 14px 16px;
    border: 1px solid #e5ece5;
    border-radius: 12px;
    background: #f6f9f5;
}

.pw-demat .demat-prep-note > span {
    flex-shrink: 0;
    color: #4c8965;
    font-size: 16px;
}

.pw-demat .demat-prep-note p {
    margin: 0;
    color: #708176;
    font-size: 11px;
    line-height: 1.65;
}

/* Right illustration */
.pw-demat .demat-prep-visual {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.pw-demat .demat-prep-art {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}

.pw-demat .demat-prep-art::before {
    content: "";
    position: absolute;
    width: 83%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(205, 238, 215, 0.42) 0%,
        rgba(230, 244, 232, 0.16) 52%,
        transparent 75%
    );
    filter: blur(12px);
}

.pw-demat .demat-prep-art img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    max-width: 560px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(
        0 18px 22px rgba(16, 67, 43, 0.055)
    );
}

/* Illustration caption */
.pw-demat .demat-prep-visual-caption {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: -5px;
    color: #52836b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-align: center;
}

.pw-demat .demat-prep-caption-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #48a877;
}

/* Tablet */
@media (max-width: 900px) {
    .pw-demat .demat-prep {
        padding: 75px 0;
    }

    .pw-demat .demat-prep-grid {
        gap: 28px;
    }

    .pw-demat .demat-prep-content h2 {
        font-size: 36px;
    }

    .pw-demat .demat-prep-art img {
        max-width: 440px;
    }
}

/* Mobile */
@media (max-width: 700px) {
    .pw-demat .demat-prep {
        padding: 65px 0 70px;
    }

    .pw-demat .demat-prep-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .pw-demat .demat-prep-content h2 {
        font-size: clamp(32px, 8vw, 42px);
    }

    .pw-demat .demat-prep-intro {
        font-size: 13px;
        margin-bottom: 22px;
    }

    .pw-demat .demat-prep-item {
        gap: 12px;
        padding: 13px 0;
    }

    .pw-demat .demat-prep-number {
        flex-basis: 42px;
        height: 42px;
    }

    .pw-demat .demat-prep-item-content h3 {
        font-size: 13px;
    }

    .pw-demat .demat-prep-item-content p {
        font-size: 11px;
    }

    .pw-demat .demat-prep-art {
        max-width: 440px;
        margin: 0 auto;
    }

    .pw-demat .demat-prep-visual-caption {
        font-size: 9px;
    }
}

/* ==========================================
   DEMAT — LIVING SUPPORT EXPERIENCE
========================================== */

.pw-demat .demat-support-live {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 105px 0 100px;
    background: #08392c;
    color: #ffffff;
}

.pw-demat .demat-support-live * {
    box-sizing: border-box;
}

.pw-demat .demat-support-inner {
    position: relative;
    z-index: 2;
}

/* ==========================================
   ANIMATED AMBIENT BACKGROUND
========================================== */

.pw-demat .demat-support-glow {
    position: absolute;
    z-index: 0;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(75px);
    animation: dematAmbient 14s ease-in-out infinite alternate;
}

.pw-demat .demat-support-live .glow-one {
    top: -220px;
    right: -120px;
    background: rgba(69, 171, 116, 0.18);
}

.pw-demat .demat-support-live .glow-two {
    bottom: -280px;
    left: -160px;
    background: rgba(212, 174, 112, 0.12);
    animation-delay: -6s;
}

.pw-demat .demat-support-orbit {
    position: absolute;
    width: 620px;
    height: 620px;
    top: -340px;
    right: -230px;
    border: 1px solid rgba(255,255,255,0.055);
    border-radius: 50%;
    box-shadow:
        0 0 0 95px rgba(255,255,255,0.012),
        0 0 0 190px rgba(255,255,255,0.008);
    pointer-events: none;
}

@keyframes dematAmbient {
    0% {
        transform: translate(0, 0) scale(1);
    }

    100% {
        transform: translate(60px, 35px) scale(1.15);
    }
}

/* ==========================================
   SECTION HEADING
========================================== */

.pw-demat .demat-support-heading {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.pw-demat .demat-support-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 19px;
    color: #a9dcbc;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.pw-demat .demat-support-eyebrow-dot {
    width: 7px;
    height: 7px;
    background: #8ed5a8;
    border-radius: 50%;
    box-shadow: 0 0 15px rgba(142,213,168,0.5);
}

.pw-demat .demat-support-heading h2 {
    display: block;
    visibility: visible;
    opacity: 1;
    margin: 0 0 19px;
    color: #ffffff !important;
    font-size: clamp(36px, 4.3vw, 58px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.055em;
}

.pw-demat .demat-support-heading h2 span {
    color: #a6dfb8 !important;
}

.pw-demat .demat-support-heading > p {
    max-width: 600px;
    margin: 0 auto;
    color: #c4dacf;
    font-size: 15px;
    line-height: 1.8;
}

/* ==========================================
   THREE-CARD GRID
========================================== */

.pw-demat .demat-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}

/* Glass card */

.pw-demat .demat-support-card {
    --pointer-x: 50%;
    --pointer-y: 50%;

    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 300px;
    overflow: hidden;

    padding: 28px;
    border-radius: 22px;

    background:
        radial-gradient(
            circle at var(--pointer-x) var(--pointer-y),
            rgba(255,255,255,0.075),
            transparent 65%
        ),
        rgba(255,255,255,0.055);

    border: 1px solid rgba(194,233,207,0.15);

    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 18px 35px rgba(0,0,0,0.06);

    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        background-color 0.35s ease;
}

.pw-demat .demat-support-card:hover {
    transform: translateY(-7px);
    border-color: rgba(173,230,192,0.35);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.12),
        0 25px 45px rgba(0,0,0,0.14);
}

/* Top row */

.pw-demat .demat-support-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 27px;
}

.pw-demat .demat-support-card-number {
    color: rgba(213,239,222,0.3);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
}

/* Icon containers */

.pw-demat .demat-support-icon {
    display: grid;
    place-items: center;
    width: 57px;
    height: 57px;
    border-radius: 17px;
    transition: transform 0.35s ease;
}

.pw-demat .demat-support-card:hover .demat-support-icon {
    transform: rotate(-5deg) scale(1.07);
}

.pw-demat .demat-support-icon svg {
    width: 27px;
    height: 27px;
}

.pw-demat .icon-mint {
    background: #def2e6;
    color: #1c7750;
}

.pw-demat .icon-peach {
    background: #f9e7d7;
    color: #a46d40;
}

.pw-demat .icon-lavender {
    background: #e7e7f9;
    color: #6564a3;
}

/* Card typography */

.pw-demat .demat-support-card h3 {
    margin: 0 0 13px;
    color: #ffffff;
    font-size: clamp(19px, 1.8vw, 23px);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.035em;
}

.pw-demat .demat-support-card > p {
    max-width: 330px;
    margin: 0 0 30px;
    color: #c3d9cd;
    font-size: 13px;
    line-height: 1.8;
}

/* Card bottom detail */

.pw-demat .demat-support-card-detail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
    padding-top: 17px;
    border-top: 1px solid rgba(255,255,255,0.12);
}

.pw-demat .demat-support-detail-label {
    color: #a4d6b9;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

/* First card progress graphic */

.pw-demat .demat-support-progress {
    display: flex;
    gap: 4px;
}

.pw-demat .demat-support-progress span {
    width: 19px;
    height: 5px;
    border-radius: 5px;
    background: rgba(168,226,188,0.28);
}

.pw-demat .demat-support-progress span:first-child {
    background: #a7e0bb;
}

/* Second card conversation indicator */

.pw-demat .demat-support-chat-symbols {
    display: flex;
    gap: 4px;
    color: #f0d3b5;
    font-size: 10px;
}

.pw-demat .demat-support-chat-symbols span:nth-child(2) {
    opacity: 0.65;
}

.pw-demat .demat-support-chat-symbols span:nth-child(3) {
    opacity: 0.35;
}

/* Third card */

.pw-demat .demat-support-shield {
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: rgba(180,185,244,0.2);
    color: #d5d7ff;
    font-size: 12px;
}

/* ==========================================
   BOTTOM CTA
========================================== */

.pw-demat .demat-support-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    margin-top: 28px;
    padding: 24px 29px;

    border: 1px solid rgba(200,236,211,0.15);
    border-radius: 19px;

    background: rgba(255,255,255,0.045);
}

.pw-demat .demat-support-bottom-text strong {
    display: block;
    margin-bottom: 6px;
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
}

.pw-demat .demat-support-bottom-text span {
    display: block;
    color: #bdd4c6;
    font-size: 12px;
    line-height: 1.6;
}

.pw-demat .demat-support-cta {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    flex-shrink: 0;

    min-height: 49px;
    padding: 13px 20px;
    border-radius: 11px;

    background: #eaf7ed;
    color: #0a4733;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.pw-demat .demat-support-cta:hover {
    transform: translateY(-2px);
    background: #ffffff;
    color: #0a4733;
    box-shadow: 0 12px 28px rgba(0,0,0,0.12);
}

.pw-demat .demat-support-cta span:last-child {
    font-size: 19px;
}

/* ==========================================
   SCROLL REVEAL
   Visible by default until JS initializes
========================================== */

.pw-demat .demat-support-live.support-motion-ready
.support-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition:
        opacity 0.65s ease,
        transform 0.65s ease;
    transition-delay: var(--support-delay, 0s);
}

.pw-demat .demat-support-live.support-motion-ready
.support-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ==========================================
   TABLET
========================================== */

@media (max-width: 900px) {

    .pw-demat .demat-support-live {
        padding: 80px 0;
    }

    .pw-demat .demat-support-grid {
        gap: 14px;
    }

    .pw-demat .demat-support-card {
        padding: 21px;
        min-height: 300px;
    }

    .pw-demat .demat-support-card h3 {
        font-size: 19px;
    }
}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 700px) {

    .pw-demat .demat-support-live {
        padding: 68px 0;
    }

    .pw-demat .demat-support-heading {
        margin-bottom: 34px;
    }

    .pw-demat .demat-support-heading h2 {
        font-size: clamp(34px, 9vw, 43px);
    }

    .pw-demat .demat-support-heading > p {
        font-size: 13px;
        line-height: 1.75;
    }

    .pw-demat .demat-support-grid {
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .pw-demat .demat-support-card {
        min-height: 255px;
        padding: 24px;
        border-radius: 19px;
    }

    .pw-demat .demat-support-card-top {
        margin-bottom: 20px;
    }

    .pw-demat .demat-support-card h3 {
        font-size: 22px;
    }

    .pw-demat .demat-support-card > p {
        font-size: 13px;
        margin-bottom: 25px;
    }

    .pw-demat .demat-support-bottom {
        flex-direction: column;
        align-items: stretch;
        padding: 22px;
    }

    .pw-demat .demat-support-cta {
        width: 100%;
    }

    .pw-demat .demat-support-glow {
        width: 310px;
        height: 310px;
    }
}

/* ==========================================
   REDUCED MOTION
========================================== */

@media (prefers-reduced-motion: reduce) {

    .pw-demat .demat-support-glow {
        animation: none;
    }

    .pw-demat .demat-support-card,
    .pw-demat .demat-support-icon,
    .pw-demat .demat-support-cta {
        transition: none;
    }

    .pw-demat .demat-support-live.support-motion-ready
    .support-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ==========================================
   DEMAT — PREMIUM FAQ EXPERIENCE
========================================== */

.pw-demat .demat-faq-premium {
    position: relative;
    padding: 105px 0 110px;
    background: linear-gradient(
        135deg,
        #f2f6f1 0%,
        #f8f8f4 55%,
        #f1f5f1 100%
    );
}

.pw-demat .demat-faq-premium * {
    box-sizing: border-box;
}

/* Section heading */

.pw-demat .demat-faq-heading {
    max-width: 730px;
    margin: 0 auto 48px;
    text-align: center;
}

.pw-demat .demat-faq-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    color: #36835b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.pw-demat .demat-faq-eyebrow-line {
    width: 22px;
    height: 2px;
    background: #45a36e;
    border-radius: 2px;
}

.pw-demat .demat-faq-heading h2 {
    margin: 0 0 16px;
    color: #103e30;
    font-size: clamp(36px, 4.2vw, 55px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.05em;
}

.pw-demat .demat-faq-heading h2 span {
    color: #329365;
}

.pw-demat .demat-faq-heading p {
    max-width: 550px;
    margin: 0 auto;
    color: #77887c;
    font-size: 14px;
    line-height: 1.8;
}

/* FAQ list */

.pw-demat .demat-faq-list {
    display: flex;
    flex-direction: column;
    gap: 13px;
    max-width: 1050px;
    margin: 0 auto;
}

/* Individual accordion */

.pw-demat .demat-faq-item {
    overflow: hidden;
    border: 1px solid #e3ebe3;
    border-radius: 17px;
    background: #ffffff;
    box-shadow: 0 6px 25px rgba(21, 65, 40, 0.025);
    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

.pw-demat .demat-faq-item:hover {
    border-color: #bedac7;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(21, 65, 40, 0.055);
}

.pw-demat .demat-faq-item[open] {
    border-color: #a8d2b6;
    box-shadow: 0 12px 34px rgba(21, 65, 40, 0.065);
}

/* Summary */

.pw-demat .demat-faq-item summary {
    display: flex;
    align-items: center;
    gap: 19px;
    min-height: 84px;
    padding: 20px 27px;
    cursor: pointer;
    list-style: none;
}

.pw-demat .demat-faq-item summary::-webkit-details-marker {
    display: none;
}

.pw-demat .demat-faq-item summary::marker {
    content: "";
}

.pw-demat .demat-faq-item summary:focus-visible {
    outline: 3px solid #6ebf8d;
    outline-offset: -4px;
    border-radius: 16px;
}

/* Number */

.pw-demat .demat-faq-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 43px;
    height: 43px;
    border-radius: 12px;
    background: #edf5ee;
    color: #438c61;
    font-size: 13px;
    font-weight: 800;
    transition:
        background 0.3s ease,
        color 0.3s ease;
}

.pw-demat .demat-faq-item[open] .demat-faq-number {
    background: #dff0e4;
    color: #21784a;
}

/* Question text */

.pw-demat .demat-faq-question {
    flex: 1;
    min-width: 0;
    color: #193c2f;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.5;
}

/* Plus / minus icon */

.pw-demat .demat-faq-toggle {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 35px;
    height: 35px;
    border-radius: 50%;
    background: #eff5ef;
    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.pw-demat .demat-faq-toggle::before,
.pw-demat .demat-faq-toggle::after {
    content: "";
    position: absolute;
    background: #2c8955;
    border-radius: 2px;
    transition: transform 0.3s ease;
}

.pw-demat .demat-faq-toggle::before {
    width: 13px;
    height: 2px;
}

.pw-demat .demat-faq-toggle::after {
    width: 2px;
    height: 13px;
}

.pw-demat .demat-faq-item[open] .demat-faq-toggle {
    background: #dcefe2;
}

.pw-demat .demat-faq-item[open] .demat-faq-toggle::after {
    transform: rotate(90deg);
}

/* Answer */

.pw-demat .demat-faq-answer {
    padding: 0 28px 25px 89px;
}

.pw-demat .demat-faq-answer > p {
    max-width: 850px;
    margin: 0;
    color: #708177;
    font-size: 14px;
    line-height: 1.85;
}

/* Free-opening note */

.pw-demat .demat-faq-highlight {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    max-width: 800px;
    margin-top: 17px;
    padding: 15px 17px;
    border: 1px solid #dcebdd;
    border-radius: 11px;
    background: #f2f8f2;
    color: #47765a;
    font-size: 12px;
    line-height: 1.7;
}

.pw-demat .demat-faq-highlight > span:first-child {
    display: grid;
    place-items: center;
    flex: 0 0 22px;
    height: 22px;
    border-radius: 50%;
    background: #dcefe2;
    color: #287a4d;
    font-weight: 800;
}

/* Footer assistance strip */

.pw-demat .demat-faq-footer {
    display: flex;
    align-items: center;
    gap: 17px;
    max-width: 1050px;
    margin: 27px auto 0;
    padding: 23px 26px;
    border: 1px solid #dce8dc;
    border-radius: 17px;
    background: rgba(255,255,255,0.65);
}

.pw-demat .demat-faq-footer-icon {
    display: grid;
    place-items: center;
    flex: 0 0 46px;
    height: 46px;
    border-radius: 13px;
    background: #e0efe4;
    color: #297b4e;
    font-size: 24px;
    font-weight: 800;
}

.pw-demat .demat-faq-footer-text {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 5px;
}

.pw-demat .demat-faq-footer-text strong {
    color: #193d2e;
    font-size: 15px;
    font-weight: 800;
}

.pw-demat .demat-faq-footer-text > span {
    color: #788a7e;
    font-size: 12px;
    line-height: 1.5;
}

.pw-demat .demat-faq-help {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    min-height: 46px;
    padding: 12px 19px;
    border-radius: 10px;
    background: #0a4936;
    color: #ffffff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    transition:
        background 0.25s ease,
        transform 0.25s ease;
}

.pw-demat .demat-faq-help:hover {
    background: #16734e;
    color: #ffffff;
    transform: translateY(-2px);
}

/* Tablet */

@media (max-width: 900px) {
    .pw-demat .demat-faq-premium {
        padding: 80px 0;
    }

    .pw-demat .demat-faq-item summary {
        padding: 18px 22px;
    }

    .pw-demat .demat-faq-answer {
        padding-left: 84px;
    }
}

/* Mobile */

@media (max-width: 700px) {
    .pw-demat .demat-faq-premium {
        padding: 65px 0 75px;
    }

    .pw-demat .demat-faq-heading {
        margin-bottom: 32px;
    }

    .pw-demat .demat-faq-heading h2 {
        font-size: clamp(32px, 8vw, 42px);
    }

    .pw-demat .demat-faq-heading p {
        font-size: 13px;
    }

    .pw-demat .demat-faq-list {
        gap: 11px;
    }

    .pw-demat .demat-faq-item {
        border-radius: 14px;
    }

    .pw-demat .demat-faq-item summary {
        gap: 12px;
        min-height: 72px;
        padding: 16px;
    }

    .pw-demat .demat-faq-number {
        flex-basis: 34px;
        height: 34px;
        border-radius: 9px;
        font-size: 11px;
    }

    .pw-demat .demat-faq-question {
        font-size: 13px;
    }

    .pw-demat .demat-faq-toggle {
        flex-basis: 29px;
        height: 29px;
    }

    .pw-demat .demat-faq-answer {
        padding: 0 17px 20px 62px;
    }

    .pw-demat .demat-faq-answer > p {
        font-size: 12px;
        line-height: 1.75;
    }

    .pw-demat .demat-faq-highlight {
        padding: 12px;
        font-size: 11px;
    }

    .pw-demat .demat-faq-footer {
        flex-wrap: wrap;
        padding: 19px;
        gap: 13px;
    }

    .pw-demat .demat-faq-help {
        width: 100%;
        justify-content: space-between;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pw-demat .demat-faq-item,
    .pw-demat .demat-faq-number,
    .pw-demat .demat-faq-toggle,
    .pw-demat .demat-faq-toggle::after,
    .pw-demat .demat-faq-help {
        transition: none;
    }
}

/* ==========================================
   DEMAT — PREMIUM FINAL CTA
========================================== */

.pw-demat .demat-final-premium {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 110px 0 45px;
    background: #083a2e;
    color: #ffffff;
}

.pw-demat .demat-final-premium * {
    box-sizing: border-box;
}

.pw-demat .demat-final-container {
    position: relative;
    z-index: 2;
}

/* Ambient lighting */

.pw-demat .demat-final-glow {
    position: absolute;
    z-index: 0;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    filter: blur(85px);
    pointer-events: none;
    animation: dematFinalAmbient 15s ease-in-out infinite alternate;
}

.pw-demat .demat-final-glow-one {
    top: -290px;
    right: -110px;
    background: rgba(86, 178, 120, 0.19);
}

.pw-demat .demat-final-glow-two {
    bottom: -340px;
    left: -180px;
    background: rgba(211, 177, 112, 0.12);
    animation-delay: -7s;
}

@keyframes dematFinalAmbient {
    from {
        transform: translate(0, 0) scale(1);
    }

    to {
        transform: translate(55px, 30px) scale(1.13);
    }
}

/* Main layout */

.pw-demat .demat-final-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: center;
    gap: clamp(45px, 6vw, 105px);
}

/* Left editorial content */

.pw-demat .demat-final-content {
    min-width: 0;
}

.pw-demat .demat-final-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 27px;
    color: #a9dcb9;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.pw-demat .demat-final-pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #a6e0b8;
    box-shadow: 0 0 0 5px rgba(166,224,184,0.12);
}

.pw-demat .demat-final-content h2 {
    margin: 0 0 25px;
    color: #ffffff !important;
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.055em;
}

.pw-demat .demat-final-content h2 span {
    display: block;
    color: #a6dfb9 !important;
}

.pw-demat .demat-final-description {
    max-width: 480px;
    margin: 0 0 30px;
    color: #c2d9cd;
    font-size: 15px;
    line-height: 1.85;
}

/* Benefit checklist */

.pw-demat .demat-final-benefits {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 44px;
}

.pw-demat .demat-final-benefit {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #e1eee4;
    font-size: 13px;
    font-weight: 600;
}

.pw-demat .demat-final-benefit-icon {
    display: grid;
    place-items: center;
    flex: 0 0 23px;
    height: 23px;
    border-radius: 50%;
    background: rgba(165,226,185,0.16);
    color: #b0e8bf;
    font-size: 12px;
    font-weight: 800;
}

/* Brand signature */

.pw-demat .demat-final-signature {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    color: #8bbba2;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.pw-demat .demat-final-signature-line {
    width: 25px;
    height: 1px;
    background: #8bbba2;
}

.pw-demat .demat-final-signature-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #8bbba2;
}

/* Right action cards */

.pw-demat .demat-final-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.pw-demat .demat-final-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 355px;
    padding: 25px;
    border-radius: 23px;
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

.pw-demat .demat-final-card:hover {
    transform: translateY(-7px);
}

.pw-demat .demat-final-card-direct {
    background: #f6f7ed;
    color: #123e2f;
    box-shadow: 0 20px 45px rgba(0,0,0,0.10);
}

.pw-demat .demat-final-card-direct:hover {
    box-shadow: 0 27px 50px rgba(0,0,0,0.16);
}

.pw-demat .demat-final-card-guided {
    background: rgba(255,255,255,0.075);
    border: 1px solid rgba(202,239,211,0.2);
    color: #ffffff;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

.pw-demat .demat-final-card-guided:hover {
    border-color: rgba(202,239,211,0.42);
    box-shadow: 0 20px 45px rgba(0,0,0,0.12);
}

/* Card header */

.pw-demat .demat-final-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 29px;
}

.pw-demat .demat-final-card-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
}

.pw-demat .demat-final-card-icon svg {
    width: 25px;
    height: 25px;
}

.pw-demat .demat-final-card-direct .demat-final-card-icon {
    background: #e0eee1;
    color: #26744c;
}

.pw-demat .demat-final-card-guided .demat-final-card-icon {
    background: rgba(190,231,202,0.15);
    color: #c5e9d0;
}

.pw-demat .demat-final-option {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.pw-demat .demat-final-card-direct .demat-final-option {
    color: #6a957a;
}

.pw-demat .demat-final-card-guided .demat-final-option {
    color: #a9d2b8;
}

/* Card text */

.pw-demat .demat-final-card h3 {
    margin: 0 0 13px;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.04em;
}

.pw-demat .demat-final-card-direct h3 {
    color: #123e2f;
}

.pw-demat .demat-final-card-guided h3 {
    color: #ffffff;
}

.pw-demat .demat-final-card p {
    margin: 0 0 23px;
    font-size: 12px;
    line-height: 1.75;
}

.pw-demat .demat-final-card-direct p {
    color: #718678;
}

.pw-demat .demat-final-card-guided p {
    color: #c2dacc;
}

/* Feature tag */

.pw-demat .demat-final-card-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    margin-bottom: 25px;
    padding: 8px 11px;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
}

.pw-demat .demat-final-card-direct .demat-final-card-tag {
    background: #e0eee1;
    color: #26734b;
}

.pw-demat .demat-final-card-guided .demat-final-card-tag {
    background: rgba(183,232,199,0.13);
    color: #c6e9d0;
}

/* Card buttons */

.pw-demat .demat-final-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 47px;
    margin-top: auto;
    padding: 12px 15px;
    border-radius: 11px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    transition:
        background 0.25s ease,
        transform 0.25s ease;
}

.pw-demat .demat-final-button:hover {
    transform: translateY(-2px);
}

.pw-demat .demat-final-button span:last-child {
    font-size: 18px;
}

.pw-demat .demat-final-button-direct {
    background: #0b4936;
    color: #ffffff;
}

.pw-demat .demat-final-button-direct:hover {
    background: #176e4d;
    color: #ffffff;
}

.pw-demat .demat-final-button-guided {
    background: #e6f3e8;
    color: #0a4935;
}

.pw-demat .demat-final-button-guided:hover {
    background: #ffffff;
    color: #0a4935;
}

/* Compliance strip */

.pw-demat .demat-final-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-top: 65px;
    padding-top: 23px;
    border-top: 1px solid rgba(221,240,223,0.15);
}

.pw-demat .demat-final-disclaimer-icon {
    flex-shrink: 0;
    color: #a7c9b4;
    font-size: 17px;
}

.pw-demat .demat-final-disclaimer p {
    max-width: 1000px;
    margin: 0;
    color: #a7c5b4;
    font-size: 11px;
    line-height: 1.8;
}

/* Tablet */

@media (max-width: 1100px) {
    .pw-demat .demat-final-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .pw-demat .demat-final-content {
        max-width: 750px;
    }

    .pw-demat .demat-final-actions {
        max-width: 750px;
    }

    .pw-demat .demat-final-card {
        min-height: 310px;
    }
}

/* Mobile */

@media (max-width: 700px) {
    .pw-demat .demat-final-premium {
        padding: 75px 0 35px;
    }

    .pw-demat .demat-final-layout {
        gap: 35px;
    }

    .pw-demat .demat-final-eyebrow {
        font-size: 10px;
        margin-bottom: 21px;
    }

    .pw-demat .demat-final-content h2 {
        font-size: clamp(35px, 9vw, 45px);
    }

    .pw-demat .demat-final-description {
        font-size: 13px;
    }

    .pw-demat .demat-final-benefits {
        margin-bottom: 25px;
    }

    .pw-demat .demat-final-actions {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .pw-demat .demat-final-card {
        min-height: 295px;
        padding: 23px;
    }

    .pw-demat .demat-final-card-top {
        margin-bottom: 22px;
    }

    .pw-demat .demat-final-card h3 {
        font-size: 23px;
    }

    .pw-demat .demat-final-disclaimer {
        margin-top: 40px;
    }

    .pw-demat .demat-final-disclaimer p {
        font-size: 10px;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .pw-demat .demat-final-glow {
        animation: none;
    }

    .pw-demat .demat-final-card,
    .pw-demat .demat-final-button {
        transition: none;
    }
}

/* Separation between final CTA and footer */

.pw-demat .demat-final-premium {
    border-bottom: 1px solid rgba(210, 238, 218, 0.18);
}

/* ==========================================
   DEMAT FINAL CTA — COMPACT REFINEMENT
========================================== */

/* Reduce section height */
.pw-demat .demat-final-premium {
    padding-top: 68px;
    padding-bottom: 32px;
}

/* Bring both columns closer */
.pw-demat .demat-final-layout {
    gap: clamp(30px, 4vw, 65px);
}

/* Smaller, better-proportioned heading */
.pw-demat .demat-final-content h2 {
    font-size: clamp(34px, 3.1vw, 46px);
    line-height: 1.15;
    margin-bottom: 18px;
    letter-spacing: -0.045em;
}

/* Reduce eyebrow spacing */
.pw-demat .demat-final-eyebrow {
    margin-bottom: 18px;
}

/* Tighter description */
.pw-demat .demat-final-description {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 22px;
}

/* Compact benefits */
.pw-demat .demat-final-benefits {
    gap: 10px;
    margin-bottom: 25px;
}

.pw-demat .demat-final-benefit {
    font-size: 12px;
}

/* Smaller action cards */
.pw-demat .demat-final-card {
    min-height: 290px;
    padding: 21px;
    border-radius: 19px;
}

/* Reduce internal card spacing */
.pw-demat .demat-final-card-top {
    margin-bottom: 18px;
}

.pw-demat .demat-final-card-icon {
    width: 43px;
    height: 43px;
    border-radius: 12px;
}

.pw-demat .demat-final-card-icon svg {
    width: 23px;
    height: 23px;
}

.pw-demat .demat-final-card h3 {
    font-size: 19px;
    margin-bottom: 10px;
}

.pw-demat .demat-final-card p {
    font-size: 12px;
    line-height: 1.65;
    margin-bottom: 16px;
}

.pw-demat .demat-final-card-tag {
    margin-bottom: 18px;
    padding: 7px 10px;
    font-size: 10px;
}

/* Compact buttons */
.pw-demat .demat-final-button {
    min-height: 43px;
    padding: 10px 12px;
    font-size: 11px;
}

/* Reduce gap before compliance text */
.pw-demat .demat-final-disclaimer {
    margin-top: 35px;
    padding-top: 17px;
}

/* Tablet */
@media (max-width: 1100px) {
    .pw-demat .demat-final-layout {
        gap: 30px;
    }

    .pw-demat .demat-final-card {
        min-height: 275px;
    }
}

/* Mobile */
@media (max-width: 700px) {
    .pw-demat .demat-final-premium {
        padding-top: 55px;
        padding-bottom: 28px;
    }

    .pw-demat .demat-final-content h2 {
        font-size: clamp(32px, 8vw, 40px);
    }

    .pw-demat .demat-final-description {
        font-size: 13px;
    }

    .pw-demat .demat-final-benefits {
        margin-bottom: 18px;
    }

    .pw-demat .demat-final-actions {
        gap: 12px;
    }

    .pw-demat .demat-final-card {
        min-height: 250px;
        padding: 20px;
    }

    .pw-demat .demat-final-disclaimer {
        margin-top: 28px;
    }
}

