/* hello-elementor */
html{line-height:1.15;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:border-box}body{background-color:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.2;margin-block-end:1rem;margin-block-start:.5rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-block-end:.9rem;margin-block-start:0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em;white-space:pre-wrap}a{background-color:transparent;color:#c36;text-decoration:none}a:active,a:hover{color:#336}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}abbr[title]{border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none;height:auto;max-width:100%}details{display:block}summary{display:list-item}figcaption{color:#333;font-size:16px;font-style:italic;font-weight:400;line-height:1.4}[hidden],template{display:none}@media print{*,:after,:before{background:transparent!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}blockquote,pre{-moz-column-break-inside:avoid;border:1px solid #ccc;break-inside:avoid}thead{display:table-header-group}img,tr{-moz-column-break-inside:avoid;break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{-moz-column-break-after:avoid;break-after:avoid}}label{display:inline-block;line-height:1;vertical-align:middle}button,input,optgroup,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],select,textarea{border:1px solid #666;border-radius:3px;padding:.5rem 1rem;transition:all .3s;width:100%}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#333}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;width:auto}[type=button],[type=submit],button{background-color:transparent;border:1px solid #c36;border-radius:3px;color:#c36;display:inline-block;font-size:1rem;font-weight:400;padding:.5rem 1rem;text-align:center;transition:all .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{background-color:#c36;color:#fff;text-decoration:none}[type=button]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}select{display:block}table{background-color:transparent;border-collapse:collapse;border-spacing:0;font-size:.9em;margin-block-end:15px;width:100%}table td,table th{border:1px solid hsla(0,0%,50%,.502);line-height:1.5;padding:15px;vertical-align:top}table th{font-weight:700}table tfoot th,table thead th{font-size:1em}table caption+thead tr:first-child td,table caption+thead tr:first-child th,table colgroup+thead tr:first-child td,table colgroup+thead tr:first-child th,table thead:first-child tr:first-child td,table thead:first-child tr:first-child th{border-block-start:1px solid hsla(0,0%,50%,.502)}table tbody>tr:nth-child(odd)>td,table tbody>tr:nth-child(odd)>th{background-color:hsla(0,0%,50%,.071)}table tbody tr:hover>td,table tbody tr:hover>th{background-color:hsla(0,0%,50%,.102)}table tbody+tbody{border-block-start:2px solid hsla(0,0%,50%,.502)}@media(max-width:767px){table table{font-size:.8em}table table td,table table th{line-height:1.3;padding:7px}table table th{font-weight:400}}dd,dl,dt,li,ol,ul{background:transparent;border:0;font-size:100%;margin-block-end:0;margin-block-start:0;outline:0;vertical-align:baseline}[tabindex]:not([tabindex="-1"]):focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px #fff;outline:2px solid #000;outline-offset:2px}[tabindex]:not([tabindex="-1"]):focus:not(:focus-visible),a:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){box-shadow:none;outline:none}

/* hello-elementor-theme-style */
.comments-area a,.page-content a{text-decoration:underline}.alignright{float:right;margin-left:1rem}.alignleft{float:left;margin-right:1rem}.aligncenter{clear:both;display:block;margin-inline:auto}.alignwide{margin-inline:-80px}.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw;overflow-x:hidden;width:100vw}.alignfull img{width:100%}.wp-caption{margin-block-end:1.25rem;max-width:100%}.wp-caption.alignleft{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{display:block;margin-inline:auto}.wp-caption-text{margin:0}.gallery-caption{display:block;font-size:.8125rem;line-height:1.5;margin:0;padding:.75rem}.pagination{display:flex;justify-content:space-between;margin:20px auto}.sticky{display:block;position:relative}.bypostauthor{font-size:inherit}.hide{display:none!important}.post-password-form{margin:50px auto;max-width:500px}.post-password-form p{align-items:flex-end;display:flex;width:100%}.post-password-form [type=submit]{margin-inline-start:3px}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#eee;clip:auto!important;clip-path:none;color:#333;display:block;font-size:1rem;height:auto;left:5px;line-height:normal;padding:12px 24px;text-decoration:none;top:5px;width:auto;z-index:100000}.post .entry-title a{text-decoration:none}.post .wp-post-image{max-height:500px;-o-object-fit:cover;object-fit:cover;width:100%}@media(max-width:991px){.post .wp-post-image{max-height:400px}}@media(max-width:575px){.post .wp-post-image{max-height:300px}}#comments .comment-list{font-size:.9em;list-style:none;margin:0;padding:0}#comments .comment,#comments .pingback{position:relative}#comments .comment .comment-body,#comments .pingback .comment-body{border-block-end:1px solid #ccc;display:flex;flex-direction:column;padding-block-end:30px;padding-block-start:30px;padding-inline-end:0;padding-inline-start:60px}#comments .comment .avatar,#comments .pingback .avatar{border-radius:50%;left:0;margin-inline-end:10px;position:absolute}body.rtl #comments .comment .avatar,body.rtl #comments .pingback .avatar,html[dir=rtl] #comments .comment .avatar,html[dir=rtl] #comments .pingback .avatar{left:auto;right:0}#comments .comment-meta{display:flex;justify-content:space-between;margin-block-end:.9rem}#comments .comment-metadata,#comments .reply{font-size:11px;line-height:1}#comments .children{list-style:none;margin:0;padding-inline-start:30px;position:relative}#comments .children li:last-child{padding-block-end:0}#comments ol.comment-list .children:before{content:"↪";display:inline-block;font-size:1em;font-weight:400;left:0;line-height:1;position:absolute;top:45px;width:auto}body.rtl #comments ol.comment-list .children:before,html[dir=rtl] #comments ol.comment-list .children:before{content:"↩";left:auto;right:0}@media(min-width:768px){#comments .comment-author,#comments .comment-metadata{line-height:1}}@media(max-width:767px){#comments .comment .comment-body{padding:30px 0}#comments .children{padding-inline-start:20px}#comments .comment .avatar{float:left;position:inherit}body.rtl #comments .comment .avatar,html[dir=rtl] #comments .comment .avatar{float:right}}.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{margin-inline-end:auto;margin-inline-start:auto;width:100%}@custom-media --hello-screen-xs-and-below (width < 576px);@custom-media --hello-screen-xs-and-above (width >= 576px);@custom-media --hello-screen-xs-only (0 <= width < 576px);@custom-media --hello-screen-sm-and-below (width < 768px);@custom-media --hello-screen-sm-and-above (width >= 768px);@custom-media --hello-screen-sm-only (576px <= width < 768px);@custom-media --hello-screen-md-and-below (width < 992px);@custom-media --hello-screen-md-and-above (width >= 992px);@custom-media --hello-screen-md-only (768px <= width < 992px);@custom-media --hello-screen-xl-and-below (width < 1200px);@custom-media --hello-screen-xl-and-above (width >= 1200px);@custom-media --hello-screen-xl-only (992px <= width < 1200px);@media(max-width:575px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{padding-inline-end:10px;padding-inline-start:10px}}@media(min-width:576px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:500px}.site-footer.footer-full-width .footer-inner,.site-header.header-full-width .header-inner{max-width:100%}}@media(min-width:768px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:600px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media(min-width:992px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:800px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media(min-width:1200px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:1140px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}.site-header+.elementor{min-height:calc(100vh - 320px)}

/* hello-elementor-header-footer */
.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;padding-block-end:1rem;padding-block-start:1rem;position:relative}.site-header .site-title{font-size:2.5rem;font-weight:500;line-height:1.2}.site-header .site-branding{display:flex;flex-direction:column;gap:.5rem;justify-content:center}.site-header .header-inner{display:flex;flex-wrap:wrap;justify-content:space-between}.site-header .header-inner .custom-logo-link{display:block}.site-header .header-inner .site-branding .site-description,.site-header .header-inner .site-branding .site-title{margin:0}.site-header .header-inner .site-branding .site-logo img{display:block}.site-header .header-inner .site-branding.show-logo .site-title,.site-header .header-inner .site-branding.show-title .site-logo{display:none!important}.site-header.header-inverted .header-inner{flex-direction:row-reverse}.site-header.header-inverted .header-inner .site-branding{text-align:end}.site-header.header-stacked .header-inner{align-items:center;flex-direction:column;text-align:center}.site-footer{padding-block-end:1rem;padding-block-start:1rem;position:relative}.site-footer .site-title{font-size:1.5rem;font-weight:500;line-height:1.2}.site-footer .site-branding{display:flex;flex-direction:column;gap:.5rem;justify-content:center}.site-footer .footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between}.site-footer .footer-inner .custom-logo-link{display:block}.site-footer .footer-inner .site-branding .site-description,.site-footer .footer-inner .site-branding .site-title{margin:0}.site-footer .footer-inner .site-branding .site-logo img{display:block}.site-footer .footer-inner .site-branding.show-logo .site-title,.site-footer .footer-inner .site-branding.show-title .site-logo{display:none!important}.site-footer .footer-inner .copyright{align-items:center;display:flex;justify-content:flex-end}.site-footer .footer-inner .copyright p{margin:0}.site-footer.footer-inverted .footer-inner{flex-direction:row-reverse}.site-footer.footer-inverted .footer-inner .site-branding{text-align:end}.site-footer.footer-stacked .footer-inner{align-items:center;flex-direction:column;text-align:center}.site-footer.footer-stacked .footer-inner .site-branding .site-title{text-align:center}.site-footer.footer-stacked .footer-inner .site-navigation .menu{padding:0}@media(max-width:576px){.site-footer:not(.footer-stacked) .footer-inner .copyright,.site-footer:not(.footer-stacked) .footer-inner .site-branding,.site-footer:not(.footer-stacked) .footer-inner .site-navigation{display:block;max-width:none;text-align:center;width:100%}.site-footer .footer-inner .site-navigation ul.menu{justify-content:center}.site-footer .footer-inner .site-navigation ul.menu li{display:inline-block}}.site-header.header-stacked .site-navigation-toggle-holder{justify-content:center;max-width:100%}.site-header.menu-layout-dropdown .site-navigation{display:none}.site-navigation-toggle-holder{align-items:center;display:flex;padding:8px 15px}.site-navigation-toggle-holder .site-navigation-toggle{align-items:center;background-color:rgba(0,0,0,.05);border:0 solid;border-radius:3px;color:#494c4f;cursor:pointer;display:flex;justify-content:center;padding:.5rem}.site-navigation-toggle-holder .site-navigation-toggle-icon{display:block;width:1.25rem}.site-navigation-toggle-holder .site-navigation-toggle-icon:after,.site-navigation-toggle-holder .site-navigation-toggle-icon:before{background-color:currentcolor;border-radius:3px;content:"";display:block;height:3px;transition:all .2s ease-in-out}.site-navigation-toggle-holder .site-navigation-toggle-icon:before{box-shadow:0 .35rem 0 currentcolor;margin-block-end:.5rem}.site-navigation-toggle-holder .site-navigation-toggle[aria-expanded=true] .site-navigation-toggle-icon:before{box-shadow:none;transform:translateY(.35rem) rotate(45deg)}.site-navigation-toggle-holder .site-navigation-toggle[aria-expanded=true] .site-navigation-toggle-icon:after{transform:translateY(-.35rem) rotate(-45deg)}.site-navigation{align-items:center;display:flex}.site-navigation ul.menu,.site-navigation ul.menu ul{list-style-type:none;padding:0}.site-navigation ul.menu{display:flex;flex-wrap:wrap}.site-navigation ul.menu li{display:flex;position:relative}.site-navigation ul.menu li a{display:block;padding:8px 15px}.site-navigation ul.menu li ul a{color:#333}.site-navigation ul.menu li ul a:focus,.site-navigation ul.menu li ul a:hover{color:#222}.site-navigation ul.menu li.menu-item-has-children{padding-inline-end:15px}.site-navigation ul.menu li.menu-item-has-children:after{align-items:center;color:#666;content:"▾";display:flex;font-size:1.5em;justify-content:center;text-decoration:none}.site-navigation ul.menu li.menu-item-has-children:focus-within>ul{display:block}.site-navigation ul.menu li ul{background:#fff;display:none;inset-block-start:100%;inset-inline-start:0;max-width:calc(100vw - 2rem);min-width:150px;position:absolute;z-index:2}.site-navigation ul.menu li ul li{border-block-end:1px solid #eee}.site-navigation ul.menu li ul li:last-child{border-block-end:none}.site-navigation ul.menu li ul li.menu-item-has-children a{flex-grow:1}.site-navigation ul.menu li ul li.menu-item-has-children:after{transform:translateY(-50%) rotate(-90deg)}.site-navigation ul.menu li ul ul{inset-block-start:0;inset-inline-start:100%}.site-navigation ul.menu li:last-child>ul,.site-navigation ul.menu li:nth-last-child(2)>ul{inset-inline-end:0;inset-inline-start:auto}.site-navigation ul.menu li:hover>ul{display:block}footer .site-navigation ul.menu li ul{bottom:100%;top:auto}footer .site-navigation ul.menu li ul ul{bottom:0}footer .site-navigation ul.menu a{padding:5px 15px}.site-navigation-dropdown{bottom:0;left:0;margin-block-start:10px;position:absolute;transform-origin:top;transition:max-height .3s,transform .3s;width:100%;z-index:10000}.site-navigation-toggle-holder:not(.elementor-active)+.site-navigation-dropdown{max-height:0;transform:scaleY(0)}.site-navigation-toggle-holder.elementor-active+.site-navigation-dropdown{max-height:100vh;transform:scaleY(1)}.site-navigation-dropdown ul{padding:0}.site-navigation-dropdown ul.menu{background:#fff;margin:0;padding:0;position:absolute;width:100%}.site-navigation-dropdown ul.menu li{display:block;position:relative;width:100%}.site-navigation-dropdown ul.menu li a{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.102);color:#55595c;display:block;padding:20px}.site-navigation-dropdown ul.menu li.current-menu-item a{background:#55595c;color:#fff}.site-navigation-dropdown ul.menu>li li{max-height:0;transform:scaleY(0);transform-origin:top;transition:max-height .3s,transform .3s}.site-navigation-dropdown ul.menu li.elementor-active>ul>li{max-height:100vh;transform:scaleY(1)}@media(max-width:576px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation{display:none!important}}@media(min-width:768px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}}@media(min-width:576px)and (max-width:767px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation{display:none!important}}@media(min-width:992px){.site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}}@media(max-width:992px){.site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation{display:none!important}}.site-header.menu-dropdown-none:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}

/* tpm-fonts */
/* Self-hosted fonts (Inter, Playfair Display, Amiri; SIL Open Font License) — latin, latin-ext and arabic subsets only. */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/amiri-arabic-202e96.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/amiri-latin-ext-5ed9bd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/amiri-latin-967a69.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/amiri-arabic-b2ed81.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/amiri-latin-ext-0bf419.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/amiri-latin-64a948.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/inter-latin-ext-749a30.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/inter-latin-1ab1ad.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/inter-latin-ext-749a30.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/inter-latin-1ab1ad.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/inter-latin-ext-749a30.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/inter-latin-1ab1ad.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/inter-latin-ext-749a30.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/inter-latin-1ab1ad.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/playfair-display-latin-ext-3a90cf.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/playfair-display-latin-0f6fcd.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/playfair-display-latin-ext-f556cd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/playfair-display-latin-9deeae.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/playfair-display-latin-ext-f556cd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/playfair-display-latin-9deeae.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/playfair-display-latin-ext-f556cd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/tpm-hello-child/assets/css/../fonts/playfair-display-latin-9deeae.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* tpm-site */
/* The Promised Mahdi — "Teal & Gold" design layer on Hello Elementor.
   Elementor Site Settings → Global Colors / Fonts mirror these tokens. */

:root {
	--tpm-night: #023f4b;
	--tpm-night-2: #035663;
	--tpm-primary: #09626a;
	--tpm-primary-hover: #024a57;
	--tpm-gold: #cfa53a;
	--tpm-gold-deep: #856322; /* 4.5:1+ on white, ivory and sand */
	--tpm-gold-light: #ecd59a;
	--tpm-ink: #10292f;
	--tpm-muted: #4f656a;
	--tpm-line: #ebe3d1;
	--tpm-bg: #fbf8f1;
	--tpm-surface: #ffffff;
	--tpm-sand: #f5efe2;
	--tpm-radius: 14px;
	--tpm-radius-lg: 22px;
	--tpm-shadow-sm: 0 1px 2px rgba(2, 63, 75, .05), 0 6px 18px rgba(2, 63, 75, .06);
	--tpm-shadow: 0 18px 40px rgba(2, 63, 75, .12);
	--tpm-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--tpm-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--tpm-arabic: Amiri, "Noto Naskh Arabic", "Traditional Arabic", serif;
	--tpm-header-h: 78px;
	--tpm-gold-gradient: linear-gradient(135deg, #ecc860 0%, #cfa53a 55%, #a8801f 100%);
	--tpm-night-gradient: linear-gradient(135deg, #023f4b 0%, #035663 60%, #0a6b74 100%);
	--tpm-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23cfa53a' stroke-width='1'%3E%3Cpath d='M48 6l12 30 30 12-30 12-12 30-12-30L6 48l30-12z'/%3E%3Cpath d='M48 26l7 15 15 7-15 7-7 15-7-15-15-7 15-7z'/%3E%3Cpath d='M0 0l20 20M96 0L76 20M0 96l20-20M96 96L76 76'/%3E%3C/g%3E%3C/svg%3E");
}

/* ── Base ─────────────────────────────────────────────────────────────── */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--tpm-header-h) + 16px); }
body { margin: 0; overflow-x: clip; background: var(--tpm-bg); color: var(--tpm-ink); font-family: var(--tpm-sans); font-size: 17px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
img, video, iframe { max-width: 100%; }
a { color: var(--tpm-primary); text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover, a:focus { color: var(--tpm-gold-deep); }
:focus-visible { outline: 3px solid var(--tpm-gold); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--tpm-serif); color: var(--tpm-ink); font-weight: 600; line-height: 1.25; letter-spacing: -.005em; }
::selection { background: var(--tpm-gold-light); color: var(--tpm-night); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.tpm-wrap { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: 24px; box-sizing: border-box; }
body .site-main.tpm-single, body .site-main.tpm-archive, body .site-main.tpm-elementor-page { max-width: none; width: 100%; margin: 0; padding: 0; }

/* ── Buttons ──────────────────────────────────────────────────────────── */
.elementor-widget-button .elementor-button,
.tpm-search-form button,
.tpm-entry .wpcf7-form input[type=submit] {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 46px; padding: 12px 24px;
	border: 0; border-radius: 999px; background: var(--tpm-gold-gradient); color: var(--tpm-night);
	font-family: var(--tpm-sans); font-size: 15px; font-weight: 700; line-height: 1.2; letter-spacing: .01em; text-decoration: none;
	box-shadow: 0 6px 16px rgba(168, 128, 31, .28); cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.elementor-widget-button .elementor-button:hover, .elementor-widget-button .elementor-button:focus-visible,
.tpm-search-form button:hover, .tpm-entry .wpcf7-form input[type=submit]:hover { color: var(--tpm-night); filter: brightness(1.05); transform: translateY(-2px); box-shadow: 0 10px 22px rgba(168, 128, 31, .36); }
.tpm-btn--ghost .elementor-button { border: 1.5px solid var(--tpm-primary); background: transparent; color: var(--tpm-primary); box-shadow: none; }
.tpm-btn--ghost .elementor-button:hover, .tpm-btn--ghost .elementor-button:focus-visible { border-color: var(--tpm-night); background: var(--tpm-night); color: #fff; box-shadow: 0 8px 18px rgba(2, 63, 75, .2); }

/* ── Search form ─────────────────────────────────────────────────────── */
.tpm-search-form { display: flex; gap: 8px; width: 100%; }
.tpm-search-form input[type=search] { flex: 1 1 auto; min-width: 0; min-height: 46px; padding: 0 18px; border: 1px solid var(--tpm-line); border-radius: 999px; background: #fff; color: var(--tpm-ink); font: 16px/1.4 var(--tpm-sans); }
.tpm-search-form input[type=search]:focus { border-color: var(--tpm-gold); outline: 3px solid rgba(207, 165, 58, .22); outline-offset: 0; }
.tpm-search-form button { flex: 0 0 auto; }

/* ── Header ──────────────────────────────────────────────────────────── */
#masthead { position: sticky; top: 0; z-index: 1000; background: var(--tpm-night); box-shadow: 0 1px 0 rgba(207, 165, 58, .35), 0 10px 30px rgba(1, 38, 46, .25); }
.admin-bar #masthead { top: 32px; }
.tpm-header { min-height: var(--tpm-header-h); }
.tpm-header > .e-con-inner { flex-wrap: nowrap !important; }
.tpm-header .tpm-logo { flex: 0 0 auto; width: auto; max-width: none; }
.tpm-logo img { display: block; width: 190px; height: auto; }
.tpm-header .tpm-header-nav { flex: 1 1 auto; width: auto; min-width: 0; }
.tpm-header-menu { display: flex; align-items: center; justify-content: flex-end; }
.tpm-primary-nav { display: flex; align-items: center; justify-content: flex-end; gap: 2px; }
.tpm-menu, .tpm-submenu, .tpm-link-list__menu, .tpm-chip-list { margin: 0; padding: 0; list-style: none; }
.tpm-primary-nav .tpm-menu { display: flex; align-items: center; gap: 0; }
.tpm-primary-nav .tpm-menu > li { position: relative; display: flex; align-items: center; }
.tpm-primary-nav .tpm-menu > li.tpm-has-submenu::after { position: absolute; top: 100%; left: 0; right: 0; height: 12px; content: ""; }
.tpm-primary-nav .tpm-menu > li > a { position: relative; display: inline-flex; align-items: center; min-height: 40px; padding: 8px 11px; color: #e6f2f2; font-size: 15px; font-weight: 500; line-height: 1.2; white-space: nowrap; text-decoration: none; transition: color .2s ease; }
.tpm-primary-nav .tpm-menu > li > a::after { position: absolute; right: 11px; bottom: 4px; left: 11px; height: 2px; border-radius: 2px; background: var(--tpm-gold); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.tpm-primary-nav .tpm-menu > li.tpm-has-submenu > a { padding-right: 4px; }
.tpm-primary-nav .tpm-menu > li.tpm-has-submenu > a::after { right: 4px; }
.tpm-primary-nav .tpm-menu > li > a:hover, .tpm-primary-nav .tpm-menu > li:is(:hover, .is-open, :focus-within) > a { color: #fff; }
.tpm-primary-nav .tpm-menu > li:is(:hover, .is-open, :focus-within, .is-current) > a::after { transform: scaleX(1); }
.tpm-primary-nav .tpm-menu > li.is-current > a { color: var(--tpm-gold-light); }
.tpm-submenu-toggle { display: inline-grid; width: 26px; height: 32px; place-items: center; margin: 0 4px 0 0; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #a8cccd; cursor: pointer; }
.tpm-submenu-toggle svg { transition: transform .2s ease; }
.tpm-submenu-toggle:hover { color: var(--tpm-gold-light); }
.tpm-menu > li:is(.is-open, .is-hovered, .is-focused) > .tpm-submenu-toggle svg { transform: rotate(180deg); }
.tpm-primary-nav .tpm-submenu { position: absolute; top: calc(100% + 8px); left: 0; z-index: 20; display: none; min-width: 270px; max-width: min(340px, 90vw); padding: 8px; border: 1px solid var(--tpm-line); border-top: 3px solid var(--tpm-gold); border-radius: 0 0 14px 14px; background: #fff; box-shadow: var(--tpm-shadow); }
.tpm-primary-nav .tpm-menu > li:is(.is-open, .is-hovered, .is-focused) > .tpm-submenu { display: grid; gap: 1px; animation: tpm-drop .18s ease; }
@keyframes tpm-drop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.tpm-primary-nav .tpm-submenu a { display: block; padding: 9px 12px; border-radius: 8px; color: var(--tpm-ink); font-size: 14.5px; font-weight: 500; line-height: 1.35; text-decoration: none; }
.tpm-primary-nav .tpm-submenu a:hover, .tpm-primary-nav .tpm-submenu a:focus-visible { background: var(--tpm-sand); color: var(--tpm-gold-deep); }
.tpm-primary-nav .tpm-submenu .tpm-submenu { position: static; display: grid; min-width: 0; margin: 0 0 4px 12px; padding: 0 0 0 8px; border: 0; border-left: 2px solid var(--tpm-line); border-radius: 0; box-shadow: none; }
.tpm-primary-nav .tpm-submenu .tpm-submenu a { padding: 6px 10px; color: var(--tpm-muted); font-size: 14px; }
.tpm-primary-nav .tpm-submenu .tpm-submenu-toggle { display: none; }
.tpm-resource-menu .tpm-submenu { right: 0; left: auto; }
.tpm-resource-trigger { cursor: pointer; }
.tpm-search-pop { position: relative; margin-left: 8px; }
.tpm-search-pop summary { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(207, 165, 58, .55); border-radius: 50%; color: var(--tpm-gold-light); list-style: none; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.tpm-search-pop summary::-webkit-details-marker { display: none; }
.tpm-search-pop summary:hover, .tpm-search-pop[open] summary { background: var(--tpm-gold); color: var(--tpm-night); }
.tpm-search-pop__panel { position: absolute; top: calc(100% + 16px); right: 0; z-index: 20; width: min(400px, 86vw); padding: 12px; border: 1px solid var(--tpm-line); border-radius: 16px; background: #fff; box-shadow: var(--tpm-shadow); }
.tpm-mobile-nav { display: none; }

/* ── Page header ─────────────────────────────────────────────────────── */
.tpm-page-header { position: relative; overflow: hidden; padding: 58px 0 52px; background: var(--tpm-night-gradient); color: #c6dfe0; }
.tpm-page-header::before { position: absolute; inset: 0; background: var(--tpm-pattern); background-size: 96px; content: ""; opacity: .16; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 55%); mask-image: linear-gradient(90deg, transparent 0%, #000 55%); }
.tpm-page-header::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: var(--tpm-gold-gradient); content: ""; }
.tpm-page-header .tpm-wrap { position: relative; z-index: 1; }
.tpm-page-title { max-width: 900px; margin: 12px 0 0; color: #fff; font-size: clamp(32px, 4.4vw, 50px); font-weight: 700; line-height: 1.15; overflow-wrap: anywhere; }
.tpm-page-title::after { display: block; width: 64px; height: 3px; margin-top: 18px; border-radius: 3px; background: var(--tpm-gold-gradient); content: ""; }
.tpm-page-intro { max-width: 720px; margin: 14px 0 0; color: #c6dfe0; font-size: 17px; }
.tpm-page-intro p { margin: 0; }
.tpm-page-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 16px 0 0; color: #a8cccd; font-size: 14px; }
.tpm-page-header .tpm-search-form { max-width: 640px; margin-top: 22px; }
.tpm-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; color: #8fb8ba; font-size: 13.5px; }
.tpm-breadcrumbs a { color: var(--tpm-gold-light); text-decoration: none; }
.tpm-breadcrumbs a:hover { color: #fff; text-decoration: underline; }
.tpm-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: var(--tpm-sand); color: var(--tpm-primary); font-size: 13.5px; font-weight: 600; line-height: 1.3; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.tpm-chip:hover { background: var(--tpm-night); color: #fff; }
.tpm-chip span { opacity: .7; font-weight: 500; }
.tpm-page-header .tpm-chip { border: 1px solid rgba(207, 165, 58, .45); background: rgba(207, 165, 58, .1); color: var(--tpm-gold-light); }
.tpm-page-header .tpm-chip:hover { background: var(--tpm-gold); color: var(--tpm-night); }

/* ── Article body ────────────────────────────────────────────────────── */
.tpm-entry-wrap { padding-top: 52px; padding-bottom: 84px; }
.tpm-single--post .tpm-entry-wrap { max-width: 880px; }
.tpm-single--post .tpm-entry { padding: clamp(24px, 4vw, 48px); border: 1px solid var(--tpm-line); border-radius: var(--tpm-radius-lg); background: #fff; box-shadow: var(--tpm-shadow-sm); }
.tpm-entry { color: var(--tpm-ink); font-size: 17.5px; line-height: 1.85; overflow-wrap: break-word; }
.tpm-entry > :first-child, .tpm-entry .wpb-content-wrapper > :first-child { margin-top: 0; }
.tpm-entry p { margin: 0 0 1.1em; }
.tpm-entry h1, .tpm-entry h2 { margin: 1.6em 0 .55em; font-size: clamp(24px, 2.6vw, 31px); }
.tpm-entry h3 { margin: 1.5em 0 .5em; font-size: 22px; }
.tpm-entry h4, .tpm-entry h5, .tpm-entry h6 { margin: 1.4em 0 .5em; font-size: 19px; }
.tpm-entry ul, .tpm-entry ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.tpm-entry li { margin-bottom: .4em; }
.tpm-entry li::marker { color: var(--tpm-gold-deep); }
.tpm-entry blockquote { margin: 1.6em 0; padding: 20px 24px; border-left: 3px solid var(--tpm-gold); border-radius: 0 14px 14px 0; background: var(--tpm-sand); font-family: var(--tpm-serif); font-size: 1.05em; }
.tpm-entry img { height: auto; border-radius: 12px; }
.tpm-entry a { overflow-wrap: anywhere; }
.tpm-entry strong { font-weight: 650; }
.tpm-entry hr, .tpm-entry .tpm-sep { height: 1px; margin: 30px 0; border: 0; background: linear-gradient(90deg, transparent, var(--tpm-line) 15%, var(--tpm-line) 85%, transparent); }
.tpm-entry table { display: block; max-width: 100%; margin: 0 0 1.4em; overflow-x: auto; border-collapse: collapse; font-size: .94em; }
.tpm-entry th, .tpm-entry td { padding: 10px 12px; border: 1px solid var(--tpm-line); vertical-align: top; }
.tpm-entry th { background: var(--tpm-sand); }
.tpm-entry iframe { display: block; max-width: 100%; margin: 0 auto 1em; border: 0; border-radius: 14px; }
.tpm-entry iframe[src*="youtube"], .tpm-entry .tpm-video iframe { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; box-shadow: var(--tpm-shadow-sm); }
.tpm-entry center { display: block; }
.tpm-entry .aligncenter { display: block; margin-inline: auto; }
.tpm-entry .alignleft { float: left; margin: .3em 1.4em 1em 0; }
.tpm-entry .alignright { float: right; margin: .3em 0 1em 1.4em; }
.tpm-entry::after { display: table; clear: both; content: ""; }
.tpm-entry [dir=rtl], .tpm-entry .tpm-auto-rtl, .tpm-entry :lang(ar), .tpm-entry :lang(ur) { font-family: var(--tpm-arabic); font-size: 1.32em; line-height: 2; }
.tpm-entry :is(.wp-caption, figure, [style*="width"]) { max-width: 100% !important; box-sizing: border-box; }
.tpm-entry img[width] { max-width: 100%; height: auto; }

/* Original pages used white text over background images that no longer exist. */
.tpm-entry [style*="color: #ffffff"], .tpm-entry [style*="color:#ffffff"], .tpm-entry [style*="color: #fff;"], .tpm-entry [style*="color: white"], .tpm-entry [style*="color:white"] { color: inherit !important; }
.tpm-entry .tpm-row:is(.tpm-row--band, :has([style*="color: #ffffff"])) { position: relative; overflow: hidden; margin: 36px 0; padding: 44px clamp(20px, 4vw, 52px); border-radius: var(--tpm-radius-lg); background: var(--tpm-night-gradient); color: #fff; text-align: center; }
.tpm-entry .tpm-row:is(.tpm-row--band, :has([style*="color: #ffffff"]))::before { position: absolute; inset: 0; background: var(--tpm-pattern); background-size: 96px; content: ""; opacity: .12; pointer-events: none; }
.tpm-entry .tpm-row:is(.tpm-row--band, :has([style*="color: #ffffff"])) > * { position: relative; }
.tpm-entry .tpm-row:is(.tpm-row--band, :has([style*="color: #ffffff"])) :is(h1, h2, h3, h4, p, span, strong, em, a) { color: #fff !important; }
.tpm-entry .tpm-row:is(.tpm-row--band, :has([style*="color: #ffffff"])) h2 { margin: .3em 0; }

/* Rebuilt WPBakery columns. */
.tpm-entry .tpm-row { display: flex; flex-wrap: wrap; gap: 24px 40px; margin: 0 0 8px; }
.tpm-entry .tpm-row--inner { gap: 20px 28px; }
.tpm-entry .tpm-col { flex: 1 1 100%; min-width: 0; }
.tpm-entry .tpm-block > :last-child { margin-bottom: 0; }
.tpm-entry .tpm-block + .tpm-block { margin-top: 1em; }
@media (min-width: 768px) {
	.tpm-entry .tpm-col--half { flex: 0 1 calc((100% - 40px) / 2); }
	.tpm-entry .tpm-col--third, .tpm-entry .tpm-col--quarter, .tpm-entry .tpm-col--sixth, .tpm-entry .tpm-col--fifth { flex: 0 1 calc((100% - 80px) / 3); }
	.tpm-entry .tpm-col--two-thirds { flex: 0 1 calc((100% - 40px) * 2 / 3); }
	.tpm-entry .tpm-col--three-quarters { flex: 0 1 calc((100% - 40px) * 3 / 4); }
	.tpm-entry .tpm-col--five-sixths { flex: 0 1 calc((100% - 40px) * 5 / 6); }
	.tpm-entry .tpm-row--inner > .tpm-col--half { flex-basis: calc((100% - 28px) / 2); }
	.tpm-entry .tpm-row--inner > .tpm-col--third { flex-basis: calc((100% - 56px) / 3); }
}
@media (min-width: 1024px) {
	.tpm-entry .tpm-col--quarter { flex-basis: calc((100% - 120px) / 4); }
	.tpm-entry .tpm-row--inner > .tpm-col--quarter { flex-basis: calc((100% - 84px) / 4); }
	.tpm-entry .tpm-col--sixth { flex-basis: calc((100% - 200px) / 6); }
	.tpm-entry .tpm-col--fifth { flex-basis: calc((100% - 160px) / 5); }
}
.tpm-entry .tpm-figure { margin: 0 0 1em; text-align: center; }
.tpm-entry .tpm-figure img { display: inline-block; max-width: 100%; }
.tpm-entry .tpm-figure a { display: inline-block; border-radius: 14px; transition: transform .25s ease, box-shadow .25s ease; }
.tpm-entry .tpm-figure a:hover { box-shadow: var(--tpm-shadow); transform: translateY(-4px); }
.tpm-entry .tpm-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin: 0 0 1.4em; }
.tpm-entry .tpm-gallery figure { margin: 0; }
.tpm-entry .tpm-gallery img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.tpm-entry .tpm-video, .tpm-entry .tpm-embed { margin: 0 0 1.4em; }
.tpm-entry .tpm-pdf a { display: inline-flex; padding: 10px 16px; border: 1px solid var(--tpm-line); border-radius: 10px; background: #fff; font-weight: 600; text-decoration: none; }
.tpm-entry .tpm-text-sep { padding-bottom: 8px; border-bottom: 1px solid var(--tpm-line); }
.tpm-entry .tpm-tab { margin: 0 0 1.6em; }
.tpm-entry .tpm-accordion { margin: 0 0 10px; border: 1px solid var(--tpm-line); border-radius: 12px; background: #fff; }
.tpm-entry .tpm-accordion summary { padding: 14px 18px; font-weight: 600; cursor: pointer; }
.tpm-entry .tpm-accordion__body { padding: 0 18px 14px; }

/* Early (2015) pages: fixed-size coloured boxes become responsive cards. */
.tpm-entry :is(.class1, .div1) { width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 0 20px !important; padding: 24px 24px 12px !important; border: 1px solid var(--tpm-line) !important; border-top: 3px solid var(--tpm-gold) !important; border-radius: var(--tpm-radius) !important; background: #fff !important; box-shadow: var(--tpm-shadow-sm) !important; }
.tpm-entry [style*="width: 350px"], .tpm-entry [style*="width:350px"] { width: auto !important; max-width: 100%; }
.tpm-entry p[style*="color: red"], .tpm-entry p[style*="color:red"] { color: var(--tpm-primary) !important; font-family: var(--tpm-serif); font-size: 1.1em; font-weight: 700; line-height: 1.35; }
.tpm-entry p[style*="background-color: green"], .tpm-entry p[style*="background-color:green"] { margin: 0 0 10px; padding: 10px 16px; border-radius: 10px; background: var(--tpm-night) !important; color: #fff !important; font-size: 15px; line-height: 1.4; }
.tpm-entry p[style*="background-color: green"] * { color: #fff !important; }

/* Article lists inside original pages ([tpm_post_grid]). */
.tpm-entry .tpm-card :is(h2, h3, p) { margin: 0; }
.tpm-entry .tpm-card a { overflow-wrap: normal; }
.tpm-entry .tpm-card__title { font-size: 20px; }
.tpm-entry .tpm-list-grid { margin: 8px 0 32px; }
.tpm-entry .tpm-card-grid { margin: 0; }
.tpm-grid-title { margin: 0 0 18px; font-size: 26px; }

/* FAQ accordions (original theme markup), numbered. */
.tpm-entry .qode-accordion-holder { margin: 0 0 2em; counter-reset: tpm-faq; }
.tpm-entry .qode-title-holder { position: relative; display: flex; align-items: center; gap: 16px; margin: 0 0 10px; padding: 18px 56px 18px 18px; border: 1px solid var(--tpm-line); border-radius: 14px; background: #fff; box-shadow: var(--tpm-shadow-sm); color: var(--tpm-ink); font-family: var(--tpm-serif); font-size: 18px; font-weight: 600; line-height: 1.4; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.tpm-entry .qode-title-holder::before { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--tpm-sand); color: var(--tpm-gold-deep); font-family: var(--tpm-sans); font-size: 14px; font-weight: 700; content: counter(tpm-faq, decimal-leading-zero); counter-increment: tpm-faq; }
.tpm-entry .qode-title-holder:hover { border-color: rgba(207, 165, 58, .7); transform: translateY(-1px); }
.tpm-entry .qode-title-holder::after { position: absolute; top: 50%; right: 22px; width: 9px; height: 9px; border-right: 2px solid var(--tpm-gold-deep); border-bottom: 2px solid var(--tpm-gold-deep); content: ""; transform: translateY(-70%) rotate(45deg); transition: transform .2s ease; }
.tpm-entry .qode-title-holder.is-open { margin-bottom: 0; border-color: var(--tpm-night); border-radius: 14px 14px 0 0; background: var(--tpm-night); color: #fff; }
.tpm-entry .qode-title-holder.is-open::before { background: var(--tpm-gold); color: var(--tpm-night); }
.tpm-entry .qode-title-holder.is-open::after { border-color: var(--tpm-gold-light); transform: translateY(-30%) rotate(-135deg); }
.tpm-entry .qode-tab-title, .tpm-entry .qode-tab-title-inner { color: inherit; }
.tpm-entry .qode-tab-title-icon, .tpm-entry .qode-accordion-mark { display: none; }
.tpm-entry .qode-accordion-content { margin: 0 0 12px; padding: 24px clamp(18px, 3vw, 32px) 8px; border: 1px solid var(--tpm-night); border-top: 0; border-radius: 0 0 14px 14px; background: #fff; }
.tpm-js .tpm-entry .qode-accordion-content:not(.is-open) { display: none; }

/* Titled post carousels (Book Summary). */
.tpm-entry .qode-blog-carousel-titled { margin: 0 0 2.2em; }
.tpm-entry .qode-bct-title-holder { position: relative; display: flex; align-items: center; gap: 10px; overflow: hidden; margin: 0 0 14px; padding: 6px; border-radius: 999px; background: var(--tpm-night-gradient) !important; }
.tpm-entry .qode-bct-title-holder h3 { flex: 1; margin: 0; color: #fff !important; font-family: var(--tpm-sans); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.tpm-entry :is(.qode-bct-caroufredsel-prev, .qode-bct-caroufredsel-next) { position: relative; display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: rgba(207, 165, 58, .18); font-size: 0; text-decoration: none; }
.tpm-entry :is(.qode-bct-caroufredsel-prev, .qode-bct-caroufredsel-next):hover { background: var(--tpm-gold); }
.tpm-entry :is(.qode-bct-caroufredsel-prev, .qode-bct-caroufredsel-next)::before { width: 8px; height: 8px; border-top: 2px solid #fff; border-right: 2px solid #fff; content: ""; }
.tpm-entry .qode-bct-caroufredsel-next::before { transform: translateX(-2px) rotate(45deg); }
.tpm-entry .qode-bct-caroufredsel-prev::before { transform: translateX(2px) rotate(-135deg); }
.tpm-entry .qode-bct-caroufredsel-nav-inner { display: none; }
.tpm-entry .qode-bct-posts { display: grid; grid-auto-columns: minmax(200px, calc((100% - 24px) / 3)); grid-auto-flow: column; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.tpm-entry .qode-bct-post { padding: 18px; border: 1px solid var(--tpm-line); border-top: 3px solid var(--tpm-gold); border-radius: 12px; background: #fff; scroll-snap-align: start; }
.tpm-entry .qode-bct-post .tpm-row { display: none; }
.tpm-entry .qode-bct-post-title { margin: 0 0 6px; font-size: 16px; line-height: 1.35; }
.tpm-entry .qode-bct-post-title a { color: var(--tpm-ink); text-decoration: none; }
.tpm-entry .qode-bct-post-title a:hover { color: var(--tpm-gold-deep); }
.tpm-entry .qode-bct-post-date { color: var(--tpm-muted); font-size: 13px; }
.tpm-entry .qode-bct-post-excerpt { display: none; }

/* Tabs (Books, language versions of excerpts). */
.tpm-entry .qode-advanced-tabs-nav { display: flex; flex-wrap: wrap; gap: 8px; width: fit-content; max-width: 100%; margin: 0 0 26px; padding: 6px; border-radius: 999px; background: var(--tpm-sand); list-style: none; box-sizing: border-box; }
.tpm-entry .qode-advanced-tabs-nav li { margin: 0; }
.tpm-entry .qode-advanced-tabs-nav h3 { margin: 0; font-size: 15px; }
.tpm-entry .qode-advanced-tabs-nav a { display: inline-flex; padding: 9px 20px; border-radius: 999px; color: var(--tpm-ink); font-family: var(--tpm-sans); font-weight: 600; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.tpm-entry .qode-advanced-tabs-nav a:hover { color: var(--tpm-gold-deep); }
.tpm-entry .qode-advanced-tabs-nav a[aria-selected=true] { background: var(--tpm-night); color: #fff; box-shadow: var(--tpm-shadow-sm); }
.tpm-js .tpm-entry .qode-advanced-tab-container[hidden] { display: none; }

/* Contact form copied from the original site (not connected to a handler yet). */
.tpm-entry .wpcf7-form .hidden-fields-container { display: none; }
.tpm-entry .wpcf7-form p { margin: 0 0 6px; color: var(--tpm-ink); font-size: 15px; font-weight: 600; }
.tpm-entry .wpcf7-form :is(input[type=text], input[type=email], textarea) { width: 100%; margin-bottom: 10px; padding: 12px 16px; border: 1px solid var(--tpm-line); border-radius: 12px; background: #fff; font: 400 16px/1.4 var(--tpm-sans); box-sizing: border-box; }
.tpm-entry .wpcf7-form :is(input, textarea):focus { border-color: var(--tpm-gold); outline: 3px solid rgba(207, 165, 58, .2); }
.tpm-entry .wpcf7-form textarea { min-height: 140px; }
.tpm-form-notice { margin: 12px 0 0; padding: 12px 14px; border-left: 3px solid var(--tpm-gold); border-radius: 0 10px 10px 0; background: var(--tpm-sand); color: var(--tpm-ink); font-size: 15px; font-weight: 400; }
.tpm-entry .instagram-media { min-width: 0 !important; max-width: 100% !important; }
.tpm-entry iframe.wp-embedded-content { display: none !important; }
.tpm-entry blockquote.wp-embedded-content { margin: 1.2em 0; padding: 16px 20px; border: 1px solid var(--tpm-line); border-left: 3px solid var(--tpm-gold); border-radius: 0 12px 12px 0; background: #fff; font-family: var(--tpm-sans); font-size: 16px; font-weight: 600; }

/* Tags and previous/next navigation. */
.tpm-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--tpm-line); }
.tpm-tags a { padding: 4px 12px; border-radius: 999px; background: var(--tpm-sand); color: var(--tpm-primary); font-size: 13px; font-weight: 500; text-decoration: none; }
.tpm-tags a:hover { background: var(--tpm-night); color: #fff; }
.tpm-tags__label { margin-right: 4px; color: var(--tpm-muted); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tpm-post-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.tpm-post-nav__link { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px; border: 1px solid var(--tpm-line); border-radius: var(--tpm-radius); background: #fff; color: var(--tpm-ink); font-family: var(--tpm-serif); font-weight: 600; line-height: 1.35; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.tpm-post-nav__link span { color: var(--tpm-gold-deep); font-family: var(--tpm-sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.tpm-post-nav__link--next { grid-column: 2; text-align: right; }
.tpm-post-nav__link:hover { border-color: var(--tpm-gold); box-shadow: var(--tpm-shadow-sm); color: var(--tpm-primary); transform: translateY(-2px); }

/* ── Cards (archives, search, article lists) ─────────────────────────── */
.tpm-archive > .tpm-wrap { padding-top: 44px; padding-bottom: 84px; }
.tpm-subcategories { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.tpm-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.tpm-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--tpm-line); border-radius: 18px; background: #fff; box-shadow: var(--tpm-shadow-sm); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.tpm-card:hover { border-color: rgba(207, 165, 58, .6); box-shadow: var(--tpm-shadow); transform: translateY(-4px); }
.tpm-card__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--tpm-sand); }
.tpm-card__media img { display: block; width: 100%; height: 100%; margin: 0; border-radius: 0 !important; object-fit: cover; transition: transform .5s ease; }
.tpm-card:hover .tpm-card__media img { transform: scale(1.05); }
.tpm-card__placeholder { position: absolute; inset: 0; display: block; background: var(--tpm-pattern) center / 72px, var(--tpm-night-gradient); }
.tpm-card__placeholder::after { position: absolute; inset: 0; background: url("/wp-content/themes/tpm-hello-child/assets/css/../images/site-icon-mark.png.webp") center / auto 58% no-repeat; content: ""; opacity: .9; }
.tpm-card__body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 20px 22px 22px; }
.tpm-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0; color: var(--tpm-muted); font-size: 13px; }
.tpm-card__label { color: var(--tpm-gold-deep); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tpm-card__label + time::before { margin-right: 10px; color: var(--tpm-line); content: "•"; }
.tpm-card__title { margin: 0; font-size: 20px; line-height: 1.32; }
.tpm-card__title a { color: var(--tpm-ink); text-decoration: none; }
.tpm-card__title a::after { position: absolute; inset: 0; content: ""; }
.tpm-card:hover .tpm-card__title a { color: var(--tpm-primary); }
.tpm-card__excerpt { display: -webkit-box; margin: 0; overflow: hidden; color: var(--tpm-muted); font-size: 15px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.tpm-card__more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; color: var(--tpm-primary); font-size: 14px; font-weight: 700; }
.tpm-card__more span { transition: transform .25s ease; }
.tpm-card:hover .tpm-card__more { color: var(--tpm-gold-deep); }
.tpm-card:hover .tpm-card__more span { transform: translateX(4px); }
.tpm-pagination { margin-top: 48px; }
.tpm-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.tpm-pagination .page-numbers { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid var(--tpm-line); border-radius: 999px; background: #fff; color: var(--tpm-ink); font-size: 15px; font-weight: 600; text-decoration: none; box-sizing: border-box; }
.tpm-pagination .page-numbers:hover { border-color: var(--tpm-gold); color: var(--tpm-gold-deep); }
.tpm-pagination .page-numbers.current { border-color: var(--tpm-night); background: var(--tpm-night); color: #fff; }
.tpm-pagination .page-numbers.dots { border: 0; background: none; }
.tpm-empty { padding: 28px; border: 1px dashed var(--tpm-line); border-radius: var(--tpm-radius); background: #fff; color: var(--tpm-muted); }
.tpm-chip-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.tpm-chip-list a { display: inline-flex; padding: 9px 16px; border: 1px solid var(--tpm-line); border-radius: 999px; background: #fff; color: var(--tpm-primary); font-size: 14.5px; font-weight: 600; text-decoration: none; box-shadow: var(--tpm-shadow-sm); }
.tpm-chip-list a:hover { border-color: var(--tpm-night); background: var(--tpm-night); color: #fff; }
.tpm-not-found > .tpm-wrap { padding-top: 32px; padding-bottom: 84px; }
.tpm-card-grid--spaced { margin-top: 28px; }
.tpm-more { margin-top: 24px; text-align: center; }

/* ── Homepage (Elementor) ────────────────────────────────────────────── */
.tpm-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 !important; color: var(--tpm-gold-deep); font-size: 12.5px; font-weight: 700; letter-spacing: .18em; line-height: 1.4 !important; text-transform: uppercase; }
.tpm-eyebrow::before { width: 22px; height: 2px; border-radius: 2px; background: var(--tpm-gold); content: ""; }
.tpm-center .tpm-eyebrow::after { width: 22px; height: 2px; border-radius: 2px; background: var(--tpm-gold); content: ""; }
.tpm-eyebrow--light { color: var(--tpm-gold-light); }
.tpm-center, .tpm-center .elementor-heading-title { text-align: center; }
.tpm-section-title .elementor-heading-title { margin: 8px 0 0; font-size: clamp(30px, 3.6vw, 42px); font-weight: 700; }
.tpm-hero { position: relative; background: radial-gradient(900px 420px at 85% -10%, rgba(207, 165, 58, .16), transparent 60%), linear-gradient(180deg, #f6efdf 0%, var(--tpm-bg) 100%); }
.tpm-hero::before { position: absolute; inset: 0; background: var(--tpm-pattern); background-size: 120px; content: ""; opacity: .07; pointer-events: none; }
.tpm-hero > .e-con-inner { position: relative; display: grid !important; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: start; gap: 40px !important; }
.tpm-hero > .e-con-inner > .e-con { width: 100% !important; min-width: 0; max-width: 100%; --width: 100%; }
.tpm-hero-carousel, .tpm-hero-carousel .swiper { width: 100%; min-width: 0; max-width: 100%; }
.tpm-hero__media { position: sticky; top: calc(var(--tpm-header-h) + 24px); }
.tpm-hero-carousel { overflow: hidden; border: 6px solid #fff; border-radius: var(--tpm-radius-lg); background: #fff; box-shadow: 0 30px 60px rgba(2, 63, 75, .18); }
.tpm-hero-carousel .swiper-slide-image, .tpm-hero-carousel img { display: block; width: 100%; height: auto; }
.tpm-hero-carousel .elementor-swiper-button { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: rgba(2, 63, 75, .72); color: #fff; box-shadow: 0 4px 14px rgba(0, 0, 0, .2); font-size: 18px; backdrop-filter: blur(4px); transition: background-color .2s ease; }
.tpm-hero-carousel .elementor-swiper-button:hover { background: var(--tpm-gold); }
.tpm-hero-carousel .elementor-swiper-button svg { width: 18px; height: 18px; fill: #fff; }
.tpm-hero-carousel .elementor-swiper-button-prev { left: 12px; }
.tpm-hero-carousel .elementor-swiper-button-next { right: 12px; }
.tpm-hero-carousel .swiper-pagination { bottom: 12px !important; }
.tpm-hero-carousel .swiper-pagination-bullet { width: 8px; height: 8px; background: #fff; opacity: .65; box-shadow: 0 0 0 1px rgba(0, 0, 0, .18); }
.tpm-hero-carousel .swiper-pagination-bullet-active { width: 24px; border-radius: 999px; background: var(--tpm-gold); opacity: 1; }
.tpm-hero__aside { padding: 30px !important; border: 1px solid var(--tpm-line); border-top: 4px solid var(--tpm-gold); border-radius: var(--tpm-radius-lg); background: #fff; box-shadow: var(--tpm-shadow); }
.tpm-youtube-banner img { display: block; width: 100%; height: auto; border: 1px solid var(--tpm-line); border-radius: 14px; transition: transform .25s ease, box-shadow .25s ease; }
.tpm-youtube-banner a:hover img { box-shadow: var(--tpm-shadow-sm); transform: translateY(-2px); }
.tpm-featured-list .elementor-icon-list-items { margin: 0; padding: 0; counter-reset: tpm-fa; }
.tpm-featured-list .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--tpm-line); }
.tpm-featured-list .elementor-icon-list-item:last-child { border-bottom: 0; }
.tpm-featured-list .elementor-icon-list-item a { display: flex; align-items: flex-start; gap: 12px; padding: 11px 2px; color: var(--tpm-ink); font-size: 15.5px; font-weight: 500; line-height: 1.45; text-decoration: none; transition: color .2s ease, padding .2s ease; }
.tpm-featured-list .elementor-icon-list-item a::before { flex: 0 0 auto; min-width: 22px; color: var(--tpm-gold-deep); font-family: var(--tpm-serif); font-size: 14px; font-weight: 700; content: counter(tpm-fa, decimal-leading-zero); counter-increment: tpm-fa; }
.tpm-featured-list .elementor-icon-list-item a:hover { padding-left: 6px; color: var(--tpm-primary); }
.tpm-featured-list .elementor-icon-list-icon { display: none; }
.tpm-featured-list .elementor-icon-list-text { color: inherit; }
.tpm-highlight { position: relative; overflow: hidden; border-radius: var(--tpm-radius); background: var(--tpm-night-gradient); }
.tpm-highlight::before { position: absolute; inset: 0; background: var(--tpm-pattern); background-size: 80px; content: ""; opacity: .14; pointer-events: none; }
.tpm-highlight > * { position: relative; }
.tpm-highlight__title { margin: 8px 0 0 !important; font-family: var(--tpm-serif); font-size: 19px; font-weight: 600; line-height: 1.4 !important; }
.tpm-highlight__title a { color: #fff; text-decoration: none; }
.tpm-highlight__title a:hover { color: var(--tpm-gold-light); text-decoration: underline; }
.tpm-band--tint { position: relative; overflow: hidden; background: var(--tpm-night-gradient); }
.tpm-band--tint::before { position: absolute; inset: 0; background: var(--tpm-pattern); background-size: 110px; content: ""; opacity: .1; pointer-events: none; }
.tpm-band--tint > .e-con-inner, .tpm-band--tint > .e-con { position: relative; }
.tpm-band--tint .tpm-eyebrow { color: var(--tpm-gold-light); }
.tpm-band--tint .tpm-section-title .elementor-heading-title { color: #fff; }
.tpm-feature-grid.e-con { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px !important; }
.tpm-feature-grid > .e-con { width: auto !important; max-width: none; --width: auto; }
.tpm-feature { position: relative; overflow: hidden; border: 1px solid rgba(255, 255, 255, .6); border-radius: 18px; background: #fff; box-shadow: 0 14px 30px rgba(1, 30, 37, .25); transition: transform .3s ease, box-shadow .3s ease; }
.tpm-feature::after { position: absolute; top: 0; right: 0; left: 0; height: 4px; background: var(--tpm-gold-gradient); content: ""; transform: scaleX(.25); transform-origin: left; transition: transform .35s ease; }
.tpm-feature:hover { box-shadow: 0 24px 48px rgba(1, 30, 37, .35); transform: translateY(-6px); }
.tpm-feature:hover::after { transform: scaleX(1); }
.tpm-feature .tpm-feature__icon .elementor-icon { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 16px; background: var(--tpm-night-gradient) !important; color: var(--tpm-gold-light) !important; font-size: 22px !important; }
.tpm-feature .tpm-feature__icon .elementor-icon svg { width: 22px; height: 22px; fill: var(--tpm-gold-light) !important; }
.tpm-feature__title .elementor-heading-title { margin: 6px 0 0; font-size: 21px; font-weight: 700; line-height: 1.3; }
.tpm-feature__text p { margin: 0; color: var(--tpm-muted); font-size: 15px; line-height: 1.6; }
.tpm-feature > .elementor-widget-button { margin-top: auto; padding-top: 6px; }
.tpm-feature .elementor-button { min-height: 42px; padding: 10px 20px; font-size: 14.5px; }

/* ── Footer ──────────────────────────────────────────────────────────── */
.tpm-footer { position: relative; overflow: hidden; background: var(--tpm-night); color: #a5c9ca; }
.tpm-footer::before { position: absolute; inset: 0; background: var(--tpm-pattern); background-size: 110px; content: ""; opacity: .06; pointer-events: none; }
.tpm-footer::after { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--tpm-gold-gradient); content: ""; }
.tpm-footer > .e-con { position: relative; }
.tpm-footer > .e-con:first-child > .e-con-inner { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.35fr) minmax(0, .9fr) minmax(0, .9fr); gap: 40px !important; }
.tpm-footer > .e-con:first-child > .e-con-inner > .e-con { width: 100% !important; min-width: 0; max-width: 100%; --width: 100%; }
.tpm-footer__col--brand { align-items: flex-start !important; }
.tpm-footer__col--brand .elementor-widget-image, .tpm-footer__col--brand .elementor-widget-social-icons { text-align: left; }
.tpm-footer .tpm-submenu-toggle { display: none; }
.tpm-footer .tpm-logo--footer img { width: 200px; }
.tpm-footer__about p { margin: 0; color: #b6d3d4; font-size: 15px; line-height: 1.7; }
.tpm-footer__title .elementor-heading-title { margin: 6px 0 14px; color: var(--tpm-gold-light); font-family: var(--tpm-sans); font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.tpm-footer :is(.tpm-footer__recent ul, .tpm-link-list__menu) { margin: 0; padding: 0; list-style: none; }
.tpm-footer :is(.tpm-footer__recent li, .tpm-link-list__menu li) { margin: 0; padding: 7px 0; border-bottom: 1px solid rgba(255, 255, 255, .07); }
.tpm-footer :is(.tpm-footer__recent li, .tpm-link-list__menu li):last-child { border-bottom: 0; }
.tpm-footer :is(.tpm-footer__recent a, .tpm-link-list a) { color: #dcecec; font-size: 15px; line-height: 1.45; text-decoration: none; transition: color .2s ease; }
.tpm-footer :is(.tpm-footer__recent a, .tpm-link-list a):hover { color: var(--tpm-gold-light); }
.tpm-footer__recent h5 { display: none; }
.tpm-social .elementor-social-icons-wrapper { display: flex; gap: 10px; }
.tpm-social .elementor-social-icon { display: inline-grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(207, 165, 58, .45); border-radius: 50%; background: transparent; color: var(--tpm-gold-light); font-size: 16px; transition: background-color .2s ease, transform .2s ease; }
.tpm-social .elementor-social-icon svg { width: 16px; height: 16px; fill: var(--tpm-gold-light); }
.tpm-social .elementor-social-icon:hover { background: var(--tpm-gold); transform: translateY(-2px); }
.tpm-social .elementor-social-icon:hover svg { fill: var(--tpm-night); }
.tpm-footer__bar { border-top: 1px solid rgba(255, 255, 255, .08); }
.tpm-footer__legal p { margin: 0; color: #8fb8ba; font-size: 14px; text-align: center; }

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 1240px) {
	.tpm-primary-nav .tpm-menu > li > a { padding-inline: 8px; font-size: 14.5px; }
	.tpm-logo img { width: 170px; }
}
@media (max-width: 1365px) {
	.tpm-primary-nav { display: none; }
	.tpm-mobile-nav { position: relative; display: block; }
	.tpm-mobile-nav > summary { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 18px; border: 1px solid rgba(207, 165, 58, .55); border-radius: 999px; color: var(--tpm-gold-light); font-size: 15px; font-weight: 600; list-style: none; cursor: pointer; }
	.tpm-mobile-nav > summary::-webkit-details-marker { display: none; }
	.tpm-mobile-nav[open] > summary { background: var(--tpm-gold); color: var(--tpm-night); }
	.tpm-mobile-nav__panel { position: absolute; top: calc(100% + 16px); right: 0; z-index: 30; display: grid; gap: 4px; width: min(400px, calc(100vw - 32px)); max-height: calc(100vh - var(--tpm-header-h) - 40px); overflow-y: auto; padding: 14px; border: 1px solid var(--tpm-line); border-top: 3px solid var(--tpm-gold); border-radius: 16px; background: #fff; box-shadow: var(--tpm-shadow); box-sizing: border-box; overscroll-behavior: contain; }
	.tpm-mobile-nav__label { margin: 12px 4px 2px; color: var(--tpm-gold-deep); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
	.tpm-mobile-nav .tpm-menu { display: grid; gap: 1px; }
	.tpm-mobile-nav .tpm-menu a { display: block; padding: 10px 12px; border-radius: 8px; color: var(--tpm-ink); font-size: 15.5px; font-weight: 600; line-height: 1.35; text-decoration: none; }
	.tpm-mobile-nav .tpm-menu a:hover, .tpm-mobile-nav .tpm-menu a:focus-visible { background: var(--tpm-sand); color: var(--tpm-gold-deep); }
	.tpm-mobile-nav .tpm-submenu-toggle { display: none; }
	.tpm-mobile-nav .tpm-submenu { display: grid; margin: 0 0 6px 14px; padding-left: 8px; border-left: 2px solid var(--tpm-line); }
	.tpm-mobile-nav .tpm-submenu a { padding: 7px 10px; color: var(--tpm-muted); font-size: 14.5px; font-weight: 500; }
}
@media (max-width: 1024px) {
	.tpm-hero > .e-con-inner { grid-template-columns: minmax(0, 1fr); }
	.tpm-hero__media { position: static; }
	.tpm-hero .tpm-hero__media > .tpm-hero-carousel { width: 100%; max-width: 600px !important; margin-inline: auto; align-self: center; }
	.tpm-feature-grid.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpm-footer > .e-con:first-child > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	body { font-size: 16px; }
	:root { --tpm-header-h: 64px; }
	.tpm-wrap { padding-inline: 16px; }
	.tpm-logo img { width: 140px; }
	.tpm-mobile-nav > summary span { display: none; }
	.tpm-mobile-nav > summary { width: 44px; justify-content: center; padding: 0; }
	.tpm-page-header { padding: 38px 0 34px; }
	.tpm-entry-wrap { padding-top: 28px; padding-bottom: 56px; }
	.tpm-single--post .tpm-entry { padding: 20px 18px; border-radius: 16px; }
	.tpm-entry { font-size: 16.5px; }
	.tpm-entry .alignleft, .tpm-entry .alignright { float: none; margin: 0 auto 1em; }
	.tpm-entry .qode-title-holder { gap: 12px; padding: 14px 44px 14px 14px; font-size: 16.5px; }
	.tpm-entry .qode-title-holder::before { flex-basis: 32px; width: 32px; height: 32px; font-size: 12.5px; }
	.tpm-card-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.tpm-post-nav { grid-template-columns: minmax(0, 1fr); }
	.tpm-post-nav__link--next { grid-column: 1; }
	.tpm-hero__aside { padding: 20px !important; }
	.tpm-feature-grid.e-con { grid-template-columns: minmax(0, 1fr); }
	.tpm-footer > .e-con:first-child > .e-con-inner { grid-template-columns: minmax(0, 1fr); gap: 28px !important; }
	.tpm-search-form { flex-wrap: wrap; }
	.tpm-search-form button { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ── Contact form ────────────────────────────────────────────────────── */
.tpm-contact { padding: clamp(20px, 3vw, 32px); border: 1px solid var(--tpm-line); border-top: 4px solid var(--tpm-gold); border-radius: var(--tpm-radius-lg); background: #fff; box-shadow: var(--tpm-shadow-sm); }
.tpm-contact__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.tpm-contact p { margin: 0 0 16px; }
.tpm-contact label { display: block; margin: 0 0 6px; color: var(--tpm-ink); font-size: 14.5px; font-weight: 600; }
.tpm-contact label span { color: var(--tpm-muted); font-weight: 400; }
.tpm-contact input[type=text], .tpm-contact input[type=email], .tpm-contact textarea { width: 100%; padding: 12px 16px; border: 1px solid var(--tpm-line); border-radius: 12px; background: var(--tpm-bg); font: 400 16px/1.5 var(--tpm-sans); box-sizing: border-box; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }
.tpm-contact textarea { min-height: 150px; resize: vertical; }
.tpm-contact :is(input, textarea):focus { border-color: var(--tpm-gold); background: #fff; outline: 0; box-shadow: 0 0 0 4px rgba(207, 165, 58, .2); }
.tpm-contact .tpm-contact__trap { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.tpm-contact__submit { display: inline-flex; min-height: 48px; align-items: center; padding: 12px 30px; border: 0; border-radius: 999px; background: var(--tpm-gold-gradient); color: var(--tpm-night); font: 700 15px var(--tpm-sans); box-shadow: 0 6px 16px rgba(168, 128, 31, .28); cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.tpm-contact__submit:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(168, 128, 31, .36); }
.tpm-contact__notice { margin: 0 0 18px; padding: 14px 16px; border-left: 4px solid var(--tpm-gold); border-radius: 0 12px 12px 0; background: var(--tpm-sand); font-weight: 500; }
.tpm-contact__notice--ok { border-color: #2e8b57; background: #edf7f0; }
.tpm-contact__notice--error { border-color: #b3402a; background: #fbeeea; }
@media (max-width: 600px) { .tpm-contact__row { grid-template-columns: minmax(0, 1fr); } }

/* ── Article extras: reading time, share, related ────────────────────── */
.tpm-readtime { padding-left: 12px; border-left: 1px solid rgba(255, 255, 255, .3); }
.tpm-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 28px; }
.tpm-share__label { margin-right: 4px; color: var(--tpm-muted); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tpm-share__btn { padding: 7px 14px; border: 1px solid var(--tpm-line); border-radius: 999px; background: #fff; color: var(--tpm-primary); font: 600 13px var(--tpm-sans); text-decoration: none; cursor: pointer; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.tpm-share__btn:hover, .tpm-share__btn.is-done { border-color: var(--tpm-night); background: var(--tpm-night); color: #fff; }
.tpm-related { margin-top: 56px; }
.tpm-related h2 { margin: 0 0 20px; font-size: 26px; }
.tpm-single--post .tpm-entry-wrap { max-width: 1000px; }
.tpm-single--post .tpm-related .tpm-card-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

/* ── Motion ──────────────────────────────────────────────────────────── */
.tpm-progress { position: fixed; top: 0; left: 0; z-index: 1100; width: 100%; height: 3px; background: var(--tpm-gold-gradient); transform: scaleX(0); transform-origin: left; pointer-events: none; }
.admin-bar .tpm-progress { top: 32px; }
.tpm-totop { position: fixed; right: 22px; bottom: 22px; z-index: 900; display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(207, 165, 58, .6); border-radius: 50%; background: var(--tpm-night); color: var(--tpm-gold-light); box-shadow: var(--tpm-shadow); cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .25s ease, transform .25s ease, background-color .2s ease, color .2s ease; }
.tpm-totop.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.tpm-totop:hover { background: var(--tpm-gold); color: var(--tpm-night); }
.tpm-js .tpm-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--tpm-delay, 0s); }
.tpm-js .tpm-reveal.is-in { opacity: 1; transform: none; }
.tpm-hero__media, .tpm-hero__aside { animation: tpm-rise .9s cubic-bezier(.2, .7, .2, 1) both; }
.tpm-hero__aside { animation-delay: .15s; }
@keyframes tpm-rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
.tpm-page-title, .tpm-breadcrumbs { animation: tpm-rise .7s cubic-bezier(.2, .7, .2, 1) both; }
.elementor-widget-button .elementor-button, .tpm-contact__submit { position: relative; overflow: hidden; }
.elementor-widget-button .elementor-button::after, .tpm-contact__submit::after { position: absolute; top: 0; left: -70%; width: 50%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent); content: ""; transform: skewX(-20deg); transition: left .6s ease; }
.elementor-widget-button .elementor-button:hover::after, .tpm-contact__submit:hover::after { left: 130%; }
@media (prefers-reduced-motion: reduce) { .tpm-js .tpm-reveal { opacity: 1; transform: none; } .tpm-hero__media, .tpm-hero__aside, .tpm-page-title, .tpm-breadcrumbs { animation: none; } }

/* contact page form spacing */
.tpm-contact { margin-top: 20px; }

/* ════════════════════════════════════════════════════════════════════════
   HEADER — desktop two-tier layout (≥1366px), consolidated.
   Brand row (logo + tagline) on top, menu row below; the brand row folds
   away on scroll and the bar turns to frosted glass (#masthead.is-condensed,
   toggled in site.js). Below 1366px the slide-down menu is used instead.
   ════════════════════════════════════════════════════════════════════════ */
.tpm-header > .e-con-inner { max-width: 1500px !important; }
.tpm-header-tagline, .tpm-nav-mark { display: none; }
.tpm-cta-menu { margin-left: 6px; }
.tpm-primary-nav .tpm-cta-menu > li > a { min-height: 40px; padding: 8px 18px; border-radius: 999px; background: var(--tpm-gold-gradient); color: var(--tpm-night); font-weight: 700; box-shadow: 0 4px 12px rgba(168, 128, 31, .3); transition: transform .2s ease, box-shadow .2s ease; }
.tpm-primary-nav .tpm-cta-menu > li > a::after { display: none; }
.tpm-primary-nav .tpm-cta-menu > li > a:hover { color: var(--tpm-night); transform: translateY(-1px); box-shadow: 0 8px 18px rgba(168, 128, 31, .4); }
.tpm-mobile-nav .tpm-cta-menu { margin: 8px 0 0; }
.tpm-mobile-nav .tpm-cta-menu a { background: var(--tpm-gold-gradient); color: var(--tpm-night); text-align: center; }
.tpm-mobile-nav .tpm-cta-menu a:hover { background: var(--tpm-gold-gradient); color: var(--tpm-night); }
#masthead .tpm-header { transition: background-color .3s ease, box-shadow .3s ease; }
#masthead.is-condensed .tpm-header, #masthead.is-condensed { background: rgba(2, 63, 75, .8); -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px); }

@media (min-width: 1366px) {
	:root { --tpm-header-h: 125px; }
	#masthead { position: relative; height: var(--tpm-header-h); box-shadow: none; background: var(--tpm-night); }
	#masthead.is-condensed { background: var(--tpm-night); -webkit-backdrop-filter: none; backdrop-filter: none; }
	.admin-bar #masthead { top: 0; }
	#masthead .tpm-header { position: fixed; top: 0; right: 0; left: 0; z-index: 1000; min-height: 0; background: var(--tpm-night); box-shadow: 0 1px 0 rgba(207, 165, 58, .35), 0 10px 30px rgba(1, 38, 46, .25); }
	.admin-bar #masthead .tpm-header { top: 32px; }
	.tpm-header > .e-con-inner { display: grid !important; max-width: 1440px !important; grid-template-columns: auto 1fr; grid-template-areas: "logo tagline" "menu menu"; align-items: center; gap: 0 !important; padding: 0 24px; }
	.tpm-header .tpm-logo { grid-area: logo; width: 158px !important; padding: 8px 0 6px; max-height: 90px; overflow: hidden; transition: max-height .3s ease, padding .3s ease, opacity .25s ease; }
	.tpm-header .tpm-logo img { width: 158px; max-width: none; }
	.tpm-header .tpm-header-nav, .tpm-header .tpm-header-nav > .elementor-widget-container, .tpm-header .tpm-header-nav .elementor-shortcode, .tpm-header-menu { display: contents; }
	.tpm-header-tagline { display: block; grid-area: tagline; margin: 0; justify-self: end; max-height: 60px; overflow: hidden; color: var(--tpm-gold-light); font-size: 12.5px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; transition: max-height .3s ease, opacity .25s ease; }
	.tpm-primary-nav { grid-area: menu; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; border-top: 1px solid rgba(255, 255, 255, .1); }
	.tpm-main-links { display: flex; flex: 1; align-items: center; justify-content: flex-start; gap: 4px; min-width: 0; }
	.tpm-header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 4px; }
	.tpm-nav-mark { display: block; width: 0; overflow: hidden; opacity: 0; transition: width .3s ease, opacity .25s ease, margin .3s ease; }
	.tpm-nav-mark img { display: block; width: 22px; height: auto; border-radius: 0; }
	.tpm-primary-nav .tpm-menu > li > a { padding: 8px 10px; font-size: 15px; }
	.tpm-primary-nav .tpm-menu > li.tpm-has-submenu > a { padding-right: 2px; }
	.tpm-primary-nav .tpm-menu > li > a::after { right: 10px; left: 10px; }
	.tpm-primary-nav .tpm-menu > li.tpm-has-submenu > a::after { right: 2px; }
	/* short gold dividers between top-level titles */
	.tpm-main-links .tpm-menu > li + li::before, .tpm-main-links .tpm-resource-menu > li::before { width: 1px; height: 16px; margin-inline: 5px; flex: 0 0 auto; align-self: center; border-radius: 1px; background: linear-gradient(180deg, transparent, rgba(207, 165, 58, .75), transparent); content: ""; }
	.tpm-cta-menu { margin: 0 6px 0 0; }
	.tpm-primary-nav .tpm-submenu { top: calc(100% + 1px); }
	.tpm-search-pop__panel { top: calc(100% + 12px); }
	/* condensed state (after scrolling): frosted bar */
	#masthead.is-condensed .tpm-header { background: rgba(2, 63, 75, .82); -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px); }
	#masthead.is-condensed .tpm-header .tpm-logo { max-height: 0; padding: 0; opacity: 0; }
	#masthead.is-condensed .tpm-header-tagline { max-height: 0; opacity: 0; }
	#masthead.is-condensed .tpm-nav-mark { width: 22px; margin-right: 8px; opacity: 1; }
	#masthead.is-condensed .tpm-primary-nav { border-top-color: transparent; }
}
/* 1560px and wider: room for Contact, Ask and Search beside the full menu (also in the condensed bar) */
@media (min-width: 1560px) {
	.tpm-primary-nav .tpm-menu > li > a { padding-inline: 7px; }
	.tpm-primary-nav .tpm-menu > li > a::after { right: 7px; left: 7px; }
	.tpm-primary-nav .tpm-menu > li.tpm-has-submenu > a::after { right: 2px; }
}
/* 1366–1559px: tighter spacing so the menu fits with classic 15px scrollbars and in the condensed bar */
@media (min-width: 1366px) and (max-width: 1559px) {
	.tpm-header > .e-con-inner { max-width: 1280px !important; padding: 0 20px; }
	.tpm-primary-nav { gap: 8px; }
	.tpm-primary-nav .tpm-menu > li > a { padding-inline: 5px; font-size: 13.5px; }
	.tpm-primary-nav .tpm-menu > li > a::after { right: 5px; left: 5px; }
	.tpm-primary-nav .tpm-menu > li.tpm-has-submenu > a::after { right: 2px; }
	.tpm-main-links .tpm-menu > li + li::before, .tpm-main-links .tpm-resource-menu > li::before { margin-inline: 4px; }
	.tpm-primary-nav .tpm-cta-menu > li > a { padding-inline: 13px; }
	.tpm-header-actions { gap: 2px; }
	.tpm-cta-menu { margin-right: 2px; }
	.tpm-search-pop { margin-left: 4px; }
	#masthead.is-condensed .tpm-nav-mark { width: 18px; margin-right: 6px; }
	#masthead.is-condensed .tpm-nav-mark img { width: 18px; }
}

/* ════════════════════════════════════════════════════════════════════════
   HOMEPAGE HERO — sized to the screen so the poster and all featured
   articles are visible on first view (laptops), with ambient motion.
   ════════════════════════════════════════════════════════════════════════ */
.tpm-hero { --hero-h: clamp(420px, calc(100svh - var(--tpm-header-h) - 56px), 800px); overflow: hidden; isolation: isolate; }
.tpm-hero > .e-con-inner { grid-template-columns: auto minmax(0, 1fr); align-items: stretch; gap: clamp(20px, 3vw, 40px) !important; padding-block: clamp(14px, 2.4vh, 32px) !important; }
.tpm-hero > .e-con-inner > .tpm-hero__media { position: static; width: calc(var(--hero-h) * .8) !important; max-width: 46vw; flex: none; }
.tpm-hero > .e-con-inner > .tpm-hero__aside { width: 100% !important; min-width: 0; }
.tpm-hero-carousel { height: var(--hero-h); border-width: 4px; }
.tpm-hero-carousel .swiper, .tpm-hero-carousel .swiper-wrapper, .tpm-hero-carousel .swiper-slide, .tpm-hero-carousel .swiper-slide-inner, .tpm-hero-carousel figure { height: 100%; margin: 0; }
.tpm-hero-carousel .swiper-slide-image, .tpm-hero-carousel img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.tpm-hero__aside { min-height: var(--hero-h); height: auto; justify-content: space-between; gap: clamp(8px, 1.4vh, 16px) !important; padding: clamp(14px, 2.2vh, 26px) clamp(18px, 2vw, 28px) !important; background: rgba(255, 255, 255, .86) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.tpm-youtube-banner { max-width: 330px; }
.tpm-youtube-banner img { max-height: clamp(56px, 8vh, 86px); width: auto; margin-inline: 0; object-fit: contain; }
.tpm-featured-list .elementor-icon-list-item a { padding-block: clamp(3px, .85vh, 9px); font-size: clamp(13.5px, 1.9vh, 15.5px); line-height: 1.35; }
.tpm-featured-list .elementor-icon-list-item a::after { margin-left: auto; padding-left: 8px; color: var(--tpm-gold); content: "→"; opacity: 0; transform: translateX(-6px); transition: opacity .2s ease, transform .2s ease; }
.tpm-featured-list .elementor-icon-list-item a:hover::after, .tpm-featured-list .elementor-icon-list-item a:focus-visible::after { opacity: 1; transform: none; }
.tpm-highlight { padding: clamp(12px, 1.8vh, 20px) 22px !important; }
.tpm-highlight__title { font-size: clamp(16px, 2.2vh, 19px); }
.tpm-hero__aside .elementor-widget-button .elementor-button { min-height: 44px; }
/* ambient motion: two slow drifting light orbs (GPU: transform/opacity only) */
.tpm-hero::after { position: absolute; top: -30%; right: -18%; z-index: -1; width: 70vmax; height: 70vmax; border-radius: 50%; background: radial-gradient(circle at center, rgba(207, 165, 58, .22), transparent 62%); content: ""; pointer-events: none; animation: tpm-drift 26s ease-in-out infinite alternate; will-change: transform; }
.tpm-hero > .e-con-inner::before { position: absolute; bottom: -40%; left: -22%; z-index: -1; width: 60vmax; height: 60vmax; border-radius: 50%; background: radial-gradient(circle at center, rgba(9, 98, 106, .16), transparent 64%); content: ""; pointer-events: none; animation: tpm-drift 32s ease-in-out -8s infinite alternate-reverse; will-change: transform; }
@keyframes tpm-drift { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-6vmax, 4vmax, 0) scale(1.12); } }
.tpm-hero.is-offscreen::after, .tpm-hero.is-offscreen > .e-con-inner::before { animation-play-state: paused; }
@media (max-width: 1024px) {
	.tpm-hero { --hero-h: auto; }
	.tpm-hero > .e-con-inner { grid-template-columns: minmax(0, 1fr); }
	.tpm-hero > .e-con-inner > .tpm-hero__media { width: 100% !important; max-width: 560px; margin-inline: auto; }
	.tpm-hero-carousel { height: auto; aspect-ratio: 4 / 5; }
	.tpm-hero__aside { min-height: 0; }
	.tpm-featured-list .elementor-icon-list-item a { padding-block: 11px; font-size: 15.5px; }
	.tpm-youtube-banner img { max-height: none; width: 100%; }
}
/* medium-height laptops (~700–820px viewport) */
@media (min-width: 1025px) and (max-height: 820px) {
	.tpm-hero > .e-con-inner { padding-block: 12px !important; }
	.tpm-hero { --hero-h: clamp(400px, calc(100svh - var(--tpm-header-h) - 40px), 800px); }
	.tpm-hero__aside { padding-block: 14px !important; gap: 8px !important; }
	.tpm-youtube-banner img { max-height: 52px; }
	.tpm-featured-list .elementor-icon-list-item a { padding-block: 3px; font-size: 14px; }
	.tpm-highlight { padding: 10px 20px !important; }
}
/* short laptops (≤720px viewport): hide small labels to make room */
@media (min-width: 1025px) and (max-height: 720px) {
	.tpm-hero > .e-con-inner { padding-block: 10px !important; }
	.tpm-hero { --hero-h: clamp(400px, calc(100svh - var(--tpm-header-h) - 36px), 800px); }
	.tpm-hero__aside { padding-block: 12px !important; gap: 6px !important; }
	.tpm-youtube-banner img { max-height: 46px; }
	.tpm-hero__aside .tpm-eyebrow, .tpm-highlight .tpm-eyebrow { display: none; }
	.tpm-featured-list .elementor-icon-list-item a { padding-block: 2px; font-size: 13.5px; }
	.tpm-highlight { padding: 8px 18px !important; }
	.tpm-hero__aside .elementor-widget-button .elementor-button { min-height: 40px; padding-block: 8px; }
}

/* ════════════════════════════════════════════════════════════════════════
   HIGHLIGHTS BAND — countdown to 15 Sha'ban + live site statistics
   ([tpm_countdown] and [tpm_stats] in Elementor Shortcode widgets).
   ════════════════════════════════════════════════════════════════════════ */
.tpm-band--highlights { position: relative; overflow: hidden; }
.tpm-highlights-panel { max-width: 1200px; margin-inline: auto; width: 100%; position: relative; overflow: hidden; border: 1px solid rgba(207, 165, 58, .35); border-radius: 26px; background: var(--tpm-night-gradient); box-shadow: 0 30px 60px rgba(2, 63, 75, .22); isolation: isolate; }
.tpm-highlights-panel::before { position: absolute; inset: 0; z-index: -1; background: var(--tpm-pattern); background-size: 90px; content: ""; opacity: .1; }
.tpm-highlights-panel::after { position: absolute; top: -50%; right: -10%; z-index: -1; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(207, 165, 58, .28), transparent 65%); content: ""; animation: tpm-drift 22s ease-in-out infinite alternate; will-change: transform; }
.tpm-highlights-panel .elementor-heading-title { color: #fff; }
.tpm-highlights-panel .tpm-eyebrow { color: var(--tpm-gold-light); }
.tpm-highlights-panel .tpm-highlights-text p { margin: 0; color: #c6dfe0; }
.tpm-highlights-panel .tpm-btn--ghost .elementor-button { border-color: rgba(236, 213, 154, .6); color: var(--tpm-gold-light); }
.tpm-highlights-panel .tpm-btn--ghost .elementor-button:hover { border-color: var(--tpm-gold); background: var(--tpm-gold); color: var(--tpm-night); }
.tpm-countdown__units { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 4px 0 14px; }
.tpm-countdown__unit { padding: 16px 8px 12px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 18px; background: rgba(255, 255, 255, .06); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); text-align: center; }
.tpm-countdown__num { display: block; color: #fff; font-family: var(--tpm-serif); font-size: clamp(32px, 4vw, 52px); font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.tpm-countdown__label { display: block; margin-top: 8px; color: var(--tpm-gold-light); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.tpm-countdown__date { margin: 0 0 14px; color: #fff; font-size: 16px; font-weight: 600; }
.tpm-countdown__date span { color: #a8cccd; font-weight: 400; }
.tpm-countdown__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.tpm-countdown__btn { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid rgba(236, 213, 154, .55); border-radius: 999px; background: transparent; color: var(--tpm-gold-light); font: 600 14px var(--tpm-sans); text-decoration: none; cursor: pointer; transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.tpm-countdown__btn:hover, .tpm-countdown__btn:focus-visible { background: var(--tpm-gold); color: var(--tpm-night); transform: translateY(-1px); }
.tpm-countdown__note { margin: 12px 0 0; color: #8fb8ba; font-size: 13px; }
.tpm-countdown.is-today .tpm-countdown__units { display: none; }
.tpm-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.tpm-stat { padding: 18px 18px 16px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 18px; background: rgba(255, 255, 255, .06); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: transform .3s ease, border-color .3s ease, background-color .3s ease; }
.tpm-stat:hover { border-color: rgba(207, 165, 58, .6); background: rgba(255, 255, 255, .09); transform: translateY(-3px); }
.tpm-stat a { display: block; color: inherit; text-decoration: none; }
.tpm-stat__num { display: block; color: #fff; font-family: var(--tpm-serif); font-size: clamp(28px, 3vw, 40px); font-weight: 700; line-height: 1.05; font-variant-numeric: tabular-nums; }
.tpm-stat__label { display: block; margin-top: 6px; color: #c6dfe0; font-size: 14px; }
@media (max-width: 1024px) { .tpm-highlights-panel > .e-con-inner, .tpm-highlights-panel.e-con { flex-direction: column !important; } }
@media (max-width: 480px) {
	.tpm-countdown__units { gap: 8px; }
	.tpm-countdown__unit { padding: 12px 4px 10px; border-radius: 14px; }
	.tpm-countdown__label { font-size: 10.5px; letter-spacing: .08em; }
	.tpm-stats { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
	.tpm-stat { padding: 14px 12px; }
}

/* ════════════════════════════════════════════════════════════════════════
   MICRO-INTERACTIONS
   ════════════════════════════════════════════════════════════════════════ */
/* cards: gold ring + lift, title underline sweep, pill category label */
.tpm-card:hover, .tpm-card:focus-within { border-color: rgba(207, 165, 58, .7); box-shadow: 0 0 0 1px rgba(207, 165, 58, .35), var(--tpm-shadow); }
.tpm-card__title a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .35s ease, color .2s ease; }
.tpm-card:hover .tpm-card__title a, .tpm-card__title a:focus-visible { background-size: 100% 1px; }
.tpm-card__label { padding: 3px 10px; border-radius: 999px; background: var(--tpm-sand); letter-spacing: .06em; }
/* feature boxes: icon lifts and glows */
.tpm-feature .tpm-feature__icon .elementor-icon { transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease; }
.tpm-feature:hover .tpm-feature__icon .elementor-icon { box-shadow: 0 10px 24px rgba(2, 63, 75, .3); transform: translateY(-3px) rotate(-4deg); }
/* speaker/poster grids (12 Talks, claimants): gentle zoom inside a clipped frame */
.tpm-entry .tpm-row .tpm-col--quarter .tpm-figure, .tpm-entry .tpm-row .tpm-col--third .tpm-figure { overflow: hidden; border-radius: 14px; }
.tpm-entry .tpm-row .tpm-col--quarter .tpm-figure img, .tpm-entry .tpm-row .tpm-col--third .tpm-figure img { transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.tpm-entry .tpm-row .tpm-col--quarter .tpm-figure:hover img, .tpm-entry .tpm-row .tpm-col--third .tpm-figure:hover img { transform: scale(1.04); }
.tpm-entry .elementor-widget-image img { transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .4s ease; }
.tpm-entry .elementor-widget-image:hover img { box-shadow: var(--tpm-shadow); transform: translateY(-3px); }
/* FAQ accordions: smooth open/close (height via grid rows; triggered by the user, so no CLS) */
.tpm-js .tpm-entry .qode-accordion-content { display: grid !important; grid-template-rows: 0fr; margin: 0; padding: 0; border-width: 0; visibility: hidden; transition: grid-template-rows .35s cubic-bezier(.2, .7, .2, 1), visibility 0s .35s, margin .35s ease; }
.tpm-js .tpm-entry .qode-accordion-content > .qode-accordion-content-inner { min-height: 0; overflow: hidden; }
.tpm-js .tpm-entry .qode-accordion-content.is-open { grid-template-rows: 1fr; margin: 0 0 12px; border-width: 1px; border-top-width: 0; visibility: visible; transition: grid-template-rows .35s cubic-bezier(.2, .7, .2, 1), visibility 0s, margin .35s ease; }
.tpm-js .tpm-entry .qode-accordion-content > .qode-accordion-content-inner { padding: 0 clamp(18px, 3vw, 32px); }
.tpm-js .tpm-entry .qode-accordion-content.is-open > .qode-accordion-content-inner { padding-block: 22px 8px; }
.tpm-entry .qode-title-holder::after { transition: transform .3s cubic-bezier(.2, .7, .2, 1), border-color .2s ease; }
/* tabs: no flash of every panel before the script runs; fade between panels */
.tpm-js .tpm-entry .qode-advanced-tabs:not(.is-ready) > .qode-advanced-tab-container ~ .qode-advanced-tab-container { display: none; }
.tpm-entry .qode-advanced-tab-container:not([hidden]) { animation: tpm-fade .35s ease both; }
@keyframes tpm-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* YouTube click-to-play previews (loads the real player only when asked) */
.tpm-yt { position: relative; display: block; width: 100%; max-width: 100%; margin: 0 auto 1em; overflow: hidden; border: 0; border-radius: 14px; background: #000; aspect-ratio: 16 / 9; cursor: pointer; box-shadow: var(--tpm-shadow-sm); }
.tpm-yt img { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; border-radius: 0 !important; object-fit: cover; opacity: .9; transition: transform .5s ease, opacity .3s ease; }
.tpm-yt__play { position: absolute; top: 50%; left: 50%; display: grid; width: 68px; height: 68px; place-items: center; border-radius: 50%; background: rgba(2, 63, 75, .78); box-shadow: 0 0 0 4px rgba(236, 213, 154, .55); transform: translate(-50%, -50%); transition: transform .25s ease, background-color .25s ease; }
.tpm-yt__play svg { width: 26px; height: 26px; margin-left: 4px; fill: #fff; }
.tpm-yt:hover img, .tpm-yt:focus-visible img { opacity: 1; transform: scale(1.03); }
.tpm-yt:hover .tpm-yt__play, .tpm-yt:focus-visible .tpm-yt__play { background: var(--tpm-gold); transform: translate(-50%, -50%) scale(1.08); }
.tpm-yt:hover .tpm-yt__play svg, .tpm-yt:focus-visible .tpm-yt__play svg { fill: var(--tpm-night); }
.tpm-yt__title { position: absolute; right: 0; bottom: 0; left: 0; margin: 0; padding: 26px 14px 12px; background: linear-gradient(transparent, rgba(0, 0, 0, .7)); color: #fff; font: 600 14px/1.35 var(--tpm-sans); text-align: left; }
.tpm-yt.no-thumb { background: var(--tpm-pattern) center / 80px, var(--tpm-night-gradient); }
.tpm-yt iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; margin: 0; border: 0; }

/* ════════════════════════════════════════════════════════════════════════
   MOBILE ACTION BAR + TOUCH TARGETS (≥44×44px)
   ════════════════════════════════════════════════════════════════════════ */
.tpm-actionbar { display: none; }
@media (max-width: 1365px) {
	.tpm-actionbar { position: fixed; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); left: 12px; z-index: 950; display: grid; grid-template-columns: 1fr 1.4fr; gap: 8px; padding: 8px; border: 1px solid rgba(207, 165, 58, .4); border-radius: 999px; background: rgba(2, 63, 75, .86); -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px); box-shadow: 0 14px 34px rgba(1, 38, 46, .35); opacity: 0; pointer-events: none; transform: translateY(130%); transition: transform .35s cubic-bezier(.2, .7, .2, 1), opacity .25s ease; }
	.tpm-actionbar.is-visible { opacity: 1; pointer-events: auto; transform: none; }
	.tpm-actionbar a, .tpm-actionbar button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 999px; font: 700 15px var(--tpm-sans); text-decoration: none; cursor: pointer; }
	.tpm-actionbar__search { background: rgba(255, 255, 255, .1); color: #fff; }
	.tpm-actionbar__cta { background: var(--tpm-gold-gradient); color: var(--tpm-night); }
	.tpm-actionbar svg { width: 18px; height: 18px; }
	body.has-actionbar .tpm-totop { bottom: 88px; }
	body.has-actionbar .tpm-footer__bar { padding-bottom: 84px !important; }
	/* mobile menu rows */
	.tpm-mobile-nav .tpm-menu a { display: flex; min-height: 44px; align-items: center; }
	.tpm-mobile-nav .tpm-submenu a { min-height: 44px; }
}
@media (min-width: 1366px) { .tpm-actionbar { display: none !important; } }
/* footer and breadcrumb links: full-height hit areas */
.tpm-footer :is(.tpm-footer__recent a, .tpm-link-list a) { display: flex; min-height: 44px; align-items: center; padding-block: 6px; }
.tpm-footer :is(.tpm-footer__recent li, .tpm-link-list__menu li) { padding: 0; }
.tpm-breadcrumbs a { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.tpm-share__btn { min-width: 44px; justify-content: center; }
@media (max-width: 1024px) { .tpm-featured-list .elementor-icon-list-item a { min-height: 44px; align-items: center; } }
.tpm-share__btn, .tpm-tags a, .tpm-chip { min-height: 44px; display: inline-flex; align-items: center; }
.tpm-feature .elementor-button { min-height: 44px; }
.tpm-entry :is(.qode-bct-caroufredsel-prev, .qode-bct-caroufredsel-next) { flex-basis: 44px; width: 44px; height: 44px; }
.tpm-hero-carousel .swiper-pagination-bullet { position: relative; }
.tpm-hero-carousel .swiper-pagination-bullet::after { position: absolute; inset: -18px -6px; content: ""; }
.tpm-hero-carousel .elementor-swiper-button { width: 46px; height: 46px; }

/* Smooth scrolling that respects the current header height (set by site.js) */
html { scroll-padding-top: calc(var(--tpm-scroll-offset, var(--tpm-header-h)) + 16px); }

@media (prefers-reduced-motion: reduce) {
	.tpm-hero::after, .tpm-hero > .e-con-inner::before, .tpm-highlights-panel::after { animation: none; }
	.tpm-js .tpm-entry .qode-accordion-content, .tpm-actionbar, .tpm-card__title a { transition: none; }
}

/* ════════════════════════════════════════════════════════════════════════
   FEATURES v3 — instant search, text size, continue reading, Hijri date
   ════════════════════════════════════════════════════════════════════════ */
.tpm-search-form.has-suggest { position: relative; }
.tpm-suggest { position: absolute; top: calc(100% + 8px); right: 0; left: 0; z-index: 60; max-height: min(70vh, 460px); margin: 0; padding: 6px; overflow-y: auto; border: 1px solid var(--tpm-line); border-radius: 16px; background: #fff; box-shadow: var(--tpm-shadow); list-style: none; text-align: left; }
.tpm-suggest[hidden] { display: none; }
.tpm-suggest li { margin: 0; }
.tpm-suggest a { display: flex; min-height: 44px; flex-direction: column; justify-content: center; gap: 2px; padding: 8px 12px; border-radius: 10px; color: var(--tpm-ink); text-decoration: none; }
.tpm-suggest [aria-selected=true] a, .tpm-suggest a:hover, .tpm-suggest a:focus-visible { background: var(--tpm-sand); }
.tpm-suggest__title { font-size: 15px; font-weight: 600; line-height: 1.35; }
.tpm-suggest__title mark { padding: 0 1px; border-radius: 3px; background: rgba(207, 165, 58, .3); color: inherit; }
.tpm-suggest__kind { color: var(--tpm-gold-deep); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.tpm-suggest__all a { flex-direction: row; align-items: center; margin-top: 4px; border-top: 1px solid var(--tpm-line); border-radius: 0 0 10px 10px; color: var(--tpm-primary); font-size: 14px; font-weight: 700; }
.tpm-page-header .tpm-suggest { color: var(--tpm-ink); }

.tpm-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; }
.tpm-tools__group { display: inline-flex; gap: 4px; }
.tpm-tools__btn { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 8px 16px; border: 1px solid var(--tpm-line); border-radius: 999px; background: #fff; color: var(--tpm-primary); font: 600 14px var(--tpm-sans); cursor: pointer; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.tpm-tools__btn svg { width: 18px; height: 18px; }
.tpm-tools__btn:hover, .tpm-tools__btn.is-on { border-color: var(--tpm-night); background: var(--tpm-night); color: #fff; }
.tpm-single--post .tpm-entry { font-size: calc(17.5px * var(--tpm-text-scale, 1)); }

.tpm-resume { position: fixed; bottom: 22px; left: 22px; z-index: 940; display: flex; max-width: min(380px, calc(100vw - 110px)); align-items: stretch; overflow: hidden; border: 1px solid rgba(207, 165, 58, .45); border-radius: 16px; background: rgba(2, 63, 75, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: var(--tpm-shadow); opacity: 0; transform: translateY(16px); transition: opacity .35s ease, transform .35s ease; }
.tpm-resume.is-visible { opacity: 1; transform: none; }
.tpm-resume a { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 3px; padding: 12px 6px 12px 16px; color: #fff; text-decoration: none; }
.tpm-resume__label { color: var(--tpm-gold-light); font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.tpm-resume__title { overflow: hidden; font-family: var(--tpm-serif); font-size: 15px; font-weight: 600; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.tpm-resume button { flex: 0 0 44px; border: 0; background: transparent; color: #a8cccd; font-size: 22px; cursor: pointer; }
.tpm-resume button:hover { color: #fff; }
body.has-actionbar .tpm-resume { bottom: 88px; }
@media (max-width: 1365px) { .tpm-resume { right: 12px; left: 12px; max-width: none; } }

.tpm-hijri-today { display: inline-block; margin-right: 18px; padding-right: 18px; border-right: 1px solid rgba(236, 213, 154, .35); color: #fff; letter-spacing: .12em; }
.tpm-hijri-today:empty { display: none; }
@media (prefers-reduced-motion: reduce) { .tpm-resume { transition: none; } }

/* ════════════════════════════════════════════════════════════════════════
   SECTION HUBS (Elementor: Who Is Mahdi) + "in this section" navigation
   ════════════════════════════════════════════════════════════════════════ */
.tpm-hub-hero { position: relative; overflow: hidden; background: radial-gradient(700px 420px at 78% 40%, rgba(207, 165, 58, .18), transparent 65%), var(--tpm-night-gradient); color: #c6dfe0; }
.tpm-hub-hero::before { position: absolute; inset: 0; background: var(--tpm-pattern); background-size: 96px; content: ""; opacity: .14; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 60%); mask-image: linear-gradient(90deg, transparent 0%, #000 60%); }
.tpm-hub-hero::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: var(--tpm-gold-gradient); content: ""; }
.tpm-hub-hero > .e-con-inner { position: relative; z-index: 1; }
.tpm-hub__title .elementor-heading-title { margin: 0; color: #fff; font-size: clamp(38px, 5.2vw, 62px); font-weight: 700; line-height: 1.1; animation: tpm-rise .7s cubic-bezier(.2, .7, .2, 1) both; }
.tpm-hub__title .elementor-heading-title::after { display: block; width: 64px; height: 3px; margin-top: 18px; border-radius: 3px; background: var(--tpm-gold-gradient); content: ""; }
.tpm-hub__intro p { max-width: 680px; margin: 0 0 12px; color: #d2e6e6; font-size: 17.5px; line-height: 1.75; }
.tpm-hub__intro p.tpm-hub__praise { color: var(--tpm-gold-light); font-family: var(--tpm-serif); font-size: 20px; font-style: italic; }
.tpm-hub__intro em { color: #fff; }
.tpm-hub__calligraphy img { width: auto; max-height: 360px; filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .4)); animation: tpm-rise .9s .1s cubic-bezier(.2, .7, .2, 1) both; }
.tpm-hub__art { position: relative; }
.tpm-hub__art::before { position: absolute; top: 50%; left: 50%; width: 300px; height: 300px; border: 1px solid rgba(207, 165, 58, .3); border-radius: 50%; content: ""; transform: translate(-50%, -50%); box-shadow: 0 0 0 28px rgba(207, 165, 58, .05), 0 0 0 56px rgba(207, 165, 58, .03); }
@media (max-width: 1024px) {
	.tpm-hub__calligraphy img { max-height: 220px; }
	.tpm-hub__art::before { width: 200px; height: 200px; }
}

@media (max-width: 767px) {
	.tpm-hub__calligraphy img { max-height: 150px; }
	.tpm-hub__art::before { width: 150px; height: 150px; }
}

.tpm-feature--light { border-color: var(--tpm-line); box-shadow: var(--tpm-shadow-sm); }
.tpm-feature--light:hover { box-shadow: var(--tpm-shadow); }
.tpm-feature--light .tpm-feature__text p { color: var(--tpm-ink); }

.tpm-section-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 32px; padding: 10px 12px; border: 1px solid var(--tpm-line); border-radius: 18px; background: #fff; box-shadow: var(--tpm-shadow-sm); }
.tpm-section-nav__label { padding-left: 6px; color: var(--tpm-gold-deep); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.tpm-section-nav__links { display: flex; min-width: 0; flex: 1; flex-wrap: wrap; gap: 6px; }
.tpm-section-nav a { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 15px; border-radius: 999px; background: var(--tpm-sand); color: var(--tpm-primary); font-size: 14.5px; font-weight: 600; line-height: 1.2; text-decoration: none; white-space: nowrap; transition: background-color .2s ease, color .2s ease; }
.tpm-section-nav a:hover, .tpm-section-nav a:focus-visible { background: var(--tpm-night); color: #fff; }
.tpm-section-nav a[aria-current] { background: var(--tpm-night); color: var(--tpm-gold-light); }
.tpm-hub__nav { width: 100%; min-width: 0; max-width: 100%; }
.tpm-hub__nav .tpm-section-nav { margin: 0; }
@media (max-width: 767px) {
	.tpm-section-nav { flex-direction: column; align-items: stretch; gap: 6px; padding: 10px; }
	.tpm-section-nav__links { width: 100%; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
	.tpm-section-nav__links::-webkit-scrollbar { display: none; }
	.tpm-section-nav a { scroll-snap-align: start; }
}

.tpm-quote { position: relative; text-align: center; }
.tpm-quote::before { display: block; margin-bottom: 4px; color: var(--tpm-gold); font-family: var(--tpm-serif); font-size: 72px; line-height: .6; content: "“"; }
.tpm-quote p { margin: 0; }
.tpm-quote .tpm-quote__by { margin-bottom: 14px; color: var(--tpm-gold-light); font-family: var(--tpm-serif); font-size: 22px; }
.tpm-quote .tpm-quote__ar { margin-bottom: 16px; color: #fff; font-family: var(--tpm-arabic); font-size: clamp(28px, 4vw, 44px); line-height: 1.8; }
.tpm-quote .tpm-quote__en { color: #fff; font-family: var(--tpm-serif); font-size: clamp(20px, 2.6vw, 30px); font-weight: 600; line-height: 1.45; }

.tpm-pillar-grid.e-con { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px !important; }
.tpm-pillar-grid > .e-con { width: auto !important; max-width: none; --width: auto; }
.tpm-pillar { position: relative; border: 1px solid var(--tpm-line); border-radius: 18px; background: #fff; box-shadow: var(--tpm-shadow-sm); transition: transform .3s ease, box-shadow .3s ease; }
.tpm-pillar:hover { box-shadow: var(--tpm-shadow); transform: translateY(-4px); }
.tpm-pillar__motif img { width: auto; height: 40px; }
.tpm-pillar__title .elementor-heading-title { margin: 4px 0 0; font-size: 24px; font-weight: 700; }
.tpm-pillar__text p { margin: 0 0 8px; color: var(--tpm-ink); font-size: 15.5px; line-height: 1.7; }
.tpm-pillar__text p.tpm-cite { color: var(--tpm-gold-deep); font-size: 14px; font-weight: 600; }
.tpm-pillar > .elementor-widget-button { margin-top: auto; padding-top: 6px; }
@media (max-width: 1024px) { .tpm-pillar-grid.e-con { grid-template-columns: minmax(0, 1fr); } }

.tpm-hub-articles { background: var(--tpm-sand); }
.elementor-widget.tpm-center { align-self: center; }

/* ── Books: each title is a download card (PDF / Google Drive badge) ── */
.tpm-page-books .tpm-entry .tpm-row--inner { gap: 10px 20px; }
.tpm-page-books .tpm-entry .tpm-block + .tpm-block { margin-top: 0; }
.tpm-page-books .tpm-row--inner .tpm-col { display: flex; flex-direction: column; gap: 10px; }
.tpm-page-books .tpm-row--inner .tpm-block p { margin: 0; }
.tpm-page-books .tpm-row--inner .tpm-block a { position: relative; display: flex; min-height: 64px; align-items: center; gap: 14px; padding: 12px 64px 12px 14px; border: 1px solid var(--tpm-line); border-radius: 14px; background: #fff; box-shadow: var(--tpm-shadow-sm); color: var(--tpm-ink); font-size: 15px; font-weight: 600; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.tpm-page-books .tpm-row--inner .tpm-block a::before { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 10px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ecd59a' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5V5a2 2 0 0 1 2-2h13v15H6a2 2 0 0 0-2 2zm0 0A2 2 0 0 0 6 21.5h13'/%3E%3Cpath d='M9 7h6'/%3E%3C/svg%3E") center / 20px no-repeat, var(--tpm-night-gradient); content: ""; }
.tpm-page-books .tpm-row--inner .tpm-block a::after { position: absolute; top: 50%; right: 14px; padding: 3px 8px; border-radius: 999px; background: var(--tpm-sand); color: var(--tpm-gold-deep); font-size: 11px; font-weight: 700; letter-spacing: .08em; content: "Open"; transform: translateY(-50%); }
.tpm-page-books .tpm-row--inner .tpm-block a[href$=".pdf"]::after { content: "PDF"; }
.tpm-page-books .tpm-row--inner .tpm-block a[href*="drive.google"]::after { content: "Drive"; }
.tpm-page-books .tpm-row--inner .tpm-block a:hover, .tpm-page-books .tpm-row--inner .tpm-block a:focus-visible { border-color: var(--tpm-gold); box-shadow: var(--tpm-shadow); transform: translateY(-2px); }
.tpm-page-books .tpm-row--inner p[dir="rtl"] a { padding: 12px 14px 12px 64px; font-family: var(--tpm-arabic); font-size: 17px; font-weight: 400; }
.tpm-page-books .tpm-row--inner p[dir="rtl"] a::after { right: auto; left: 14px; }

/* ════════════════════════════════════════════════════════════════════════
   ASK THE KNOWLEDGEBASE — [tpm_ask], header button, dialog, homepage band
   ════════════════════════════════════════════════════════════════════════ */
.tpm-ask-open { display: grid; width: 40px; height: 40px; padding: 0; place-items: center; border: 1px solid rgba(207, 165, 58, .55); border-radius: 50%; background: transparent; color: var(--tpm-gold-light); cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.tpm-ask-open:hover, .tpm-ask-open:focus-visible { background: var(--tpm-gold); color: var(--tpm-night); }
.tpm-ask__label { display: block; margin: 0 0 10px; color: var(--tpm-ink); font-family: var(--tpm-serif); font-size: 20px; font-weight: 700; }
.tpm-ask__row { display: flex; gap: 8px; }
.tpm-ask__row input { min-width: 0; min-height: 50px; flex: 1; padding: 12px 16px; border: 1.5px solid var(--tpm-line); border-radius: 999px; background: #fff; color: var(--tpm-ink); font: 16px var(--tpm-sans); }
.tpm-ask__row input:focus { border-color: var(--tpm-gold); outline: none; box-shadow: 0 0 0 4px rgba(207, 165, 58, .2); }
.tpm-ask__row button { min-height: 50px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--tpm-gold-gradient); color: var(--tpm-night); font: 700 15px var(--tpm-sans); cursor: pointer; }
.tpm-ask__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; }
.tpm-ask__chip { min-height: 40px; padding: 8px 14px; border: 1px solid var(--tpm-line); border-radius: 999px; background: var(--tpm-sand); color: var(--tpm-primary); font: 600 13.5px var(--tpm-sans); cursor: pointer; }
.tpm-ask__chip:hover { border-color: var(--tpm-night); background: var(--tpm-night); color: #fff; }
.tpm-ask__results:not(:empty) { margin-top: 20px; }
.tpm-ask.is-busy .tpm-ask__results { opacity: .6; }
.tpm-ask__passage { margin: 0 0 14px; padding: 16px 18px; border: 1px solid var(--tpm-line); border-left: 4px solid var(--tpm-gold); border-radius: 12px; background: #fff; }
.tpm-ask__passage blockquote { margin: 0; padding: 0; border: 0; color: var(--tpm-ink); font-size: 15.5px; font-style: normal; line-height: 1.7; }
.tpm-ask__passage mark { padding: 0 1px; border-radius: 3px; background: rgba(207, 165, 58, .3); color: inherit; }
.tpm-ask__passage figcaption { margin-top: 10px; color: var(--tpm-muted); font-size: 13.5px; }
.tpm-ask__passage figcaption a { color: var(--tpm-primary); font-weight: 700; }
.tpm-ask__more-label { margin: 18px 0 6px; color: var(--tpm-gold-deep); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.tpm-ask__more { margin: 0; padding-left: 18px; }
.tpm-ask__more li { margin: 4px 0; }
.tpm-ask__more a, .tpm-ask__status a { color: var(--tpm-primary); font-weight: 600; }
.tpm-ask__status { margin: 12px 0 0; color: var(--tpm-muted); font-size: 14.5px; }
.tpm-ask__note { margin: 16px 0 0; color: var(--tpm-muted); font-size: 13px; }

.tpm-ask-dialog { width: min(720px, calc(100vw - 24px)); max-height: min(86vh, 860px); padding: 0; border: 0; border-radius: 22px; background: var(--tpm-bg); color: var(--tpm-ink); box-shadow: 0 30px 80px rgba(1, 30, 37, .45); }
.tpm-ask-dialog::backdrop { background: rgba(2, 63, 75, .6); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.tpm-ask-dialog[open] { animation: tpm-rise .35s cubic-bezier(.2, .7, .2, 1) both; }
.tpm-ask-dialog__head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; padding: 14px 14px 14px 24px; background: var(--tpm-night-gradient); }
.tpm-ask-dialog__title { margin: 0; color: var(--tpm-gold-light); font-size: 12.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.tpm-ask-dialog__close { width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: #fff; font-size: 26px; cursor: pointer; }
.tpm-ask-dialog__close:hover { background: rgba(255, 255, 255, .12); }
.tpm-ask-dialog .tpm-ask { padding: 22px 24px 26px; }
@media (max-width: 767px) {
	.tpm-ask-dialog { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; }
	.tpm-ask-dialog .tpm-ask { padding: 18px 16px 24px; }
	.tpm-ask__row button { padding: 0 18px; }
}
@media (prefers-reduced-motion: reduce) { .tpm-ask-dialog[open] { animation: none; } }

.tpm-band--ask .tpm-ask { padding: 28px; border: 1px solid var(--tpm-line); border-radius: 22px; background: #fff; box-shadow: var(--tpm-shadow-sm); }
.tpm-band--ask .tpm-ask__label { display: none; }
@media (max-width: 767px) { .tpm-band--ask .tpm-ask { padding: 18px 14px; } }
/* Hello Elementor colours focused/hovered buttons pink; keep the site palette. */
.tpm-ask__chip:focus { background: var(--tpm-sand); color: var(--tpm-primary); }
.tpm-ask .tpm-ask__chip:hover, .tpm-ask .tpm-ask__chip:focus-visible { border-color: var(--tpm-night); background: var(--tpm-night); color: #fff; }
.tpm-ask__row button:hover, .tpm-ask__row button:focus { background: var(--tpm-gold-gradient); color: var(--tpm-night); filter: brightness(1.06); }
.tpm-ask-open:focus { background: transparent; color: var(--tpm-gold-light); }
.tpm-header-actions .tpm-ask-open:hover, .tpm-header-actions .tpm-ask-open:focus-visible { background: var(--tpm-gold); color: var(--tpm-night); }
.tpm-ask-dialog__close:focus { background: transparent; color: #fff; }
.tpm-ask-dialog .tpm-ask-dialog__close:hover, .tpm-ask-dialog .tpm-ask-dialog__close:focus-visible { background: rgba(255, 255, 255, .12); color: #fff; }

/* ── Print: just the title and the article, in black on white ── */
@media print {
	#masthead, .elementor-location-header, footer, .elementor-location-footer, .tpm-footer, .tpm-tools, .tpm-share, .tpm-post-nav, .tpm-related, .tpm-tags, .tpm-actionbar, .tpm-resume, .tpm-progress, .tpm-totop, .tpm-section-nav, .tpm-ask-dialog, .tpm-breadcrumbs, .tpm-yt { display: none !important; }
	body, .tpm-single, .tpm-entry, .tpm-page-header { background: #fff !important; color: #000 !important; box-shadow: none !important; }
	.tpm-page-header { padding: 0 0 12px !important; }
	.tpm-page-header::before, .tpm-page-header::after, .tpm-page-title::after { display: none !important; }
	.tpm-page-title, .tpm-page-meta { color: #000 !important; }
	.tpm-entry { padding: 0 !important; border: 0 !important; font-size: 12pt !important; }
	.tpm-entry a { color: #000; text-decoration: underline; }
	.tpm-entry img { max-width: 60% !important; page-break-inside: avoid; }
	h2, h3 { page-break-after: avoid; }
	a[href]::after { content: none !important; }
	.tpm-page-meta .tpm-chip { display: none !important; }
}
.tpm-mobile-nav__ask { width: 100%; min-height: 46px; margin: 10px 0 4px; border: 1px solid rgba(207, 165, 58, .55); border-radius: 999px; background: transparent; color: var(--tpm-gold-light); font: 600 15px var(--tpm-sans); cursor: pointer; }
.tpm-mobile-nav .tpm-mobile-nav__ask:hover, .tpm-mobile-nav .tpm-mobile-nav__ask:focus { background: var(--tpm-gold); color: var(--tpm-night); }

/* ════════════════════════════════════════════════════════════════════════
   v5 — SENIOR'S DESIGN (2 Nov 2026): header, homepage sections, footer
   ════════════════════════════════════════════════════════════════════════ */
/* Header: logo · tagline (centre) · Hijri date (right); gold pill on the current page; no dividers */
.tpm-header-date { display: none; }
@media (min-width: 1366px) {
	.tpm-header > .e-con-inner { grid-template-columns: auto 1fr auto; grid-template-areas: "logo tagline date" "menu menu menu"; }
	.tpm-header-tagline { justify-self: center; font-family: var(--tpm-serif); font-size: 15px; letter-spacing: .14em; }
	.tpm-header-date { display: block; grid-area: date; justify-self: end; max-height: 60px; margin: 0; overflow: hidden; color: #fff; font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transition: max-height .3s ease, opacity .25s ease; }
	.tpm-header-date .tpm-hijri-today { margin: 0; padding: 0; border: 0; }
	#masthead.is-condensed .tpm-header-date { max-height: 0; opacity: 0; }
	.tpm-main-links .tpm-menu > li + li::before, .tpm-main-links .tpm-resource-menu > li::before { display: none; }
	.tpm-main-links { gap: 6px; }
	.tpm-primary-nav .tpm-menu > li.is-current > a { border-radius: 8px; background: var(--tpm-gold-gradient); color: var(--tpm-night); }
	.tpm-primary-nav .tpm-menu > li.is-current > a::after { display: none; }
	.tpm-primary-nav .tpm-menu > li.is-current > .tpm-submenu-toggle { color: var(--tpm-gold-light); }
}
.tpm-home-item > a::before { display: inline-block; width: 15px; height: 15px; margin-right: 7px; vertical-align: -2px; background: currentColor; content: ""; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2.5 2 9.3h2.4V17h4.4v-4.6h2.4V17h4.4V9.3H18z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2.5 2 9.3h2.4V17h4.4v-4.6h2.4V17h4.4V9.3H18z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Hero */
.tpm-hero2 { position: relative; background-color: var(--tpm-night); }
.tpm-hero2::before { position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(1, 46, 56, .94) 0%, rgba(1, 46, 56, .82) 34%, rgba(1, 46, 56, .25) 62%, rgba(1, 46, 56, 0) 78%) !important; content: "" !important; opacity: 1 !important; }
.tpm-hero2 > .e-con-inner { position: relative; z-index: 1; }
.tpm-hero2 .elementor-shape-bottom { z-index: 1; }
.tpm-hero2 .elementor-shape-bottom svg { filter: drop-shadow(0 -2.5px 0 var(--tpm-gold)); }
.tpm-hero2__title .elementor-heading-title { margin: 0; color: #fff; font-size: clamp(36px, 4.4vw, 60px); font-weight: 700; line-height: 1.1; text-shadow: 0 2px 18px rgba(0, 0, 0, .35); animation: tpm-rise .7s cubic-bezier(.2, .7, .2, 1) both; }
.tpm-hero2__tagline .elementor-heading-title { margin: 0; color: #ecce6e; font-family: var(--tpm-serif); font-size: clamp(20px, 2.3vw, 31px); font-weight: 600; line-height: 1.25; animation: tpm-rise .8s .08s cubic-bezier(.2, .7, .2, 1) both; }
.tpm-hero2__tagline .elementor-heading-title::after { display: block; width: min(470px, 100%); height: 14px; margin-top: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 14'%3E%3Cpath d='M0 7h222M248 7h222' stroke='%23cfa53a' stroke-width='1.2'/%3E%3Cpath d='M235 1l6 6-6 6-6-6z' fill='none' stroke='%23ecce6e' stroke-width='1.4'/%3E%3C/svg%3E") left center / 100% 100% no-repeat; content: ""; }
.tpm-hero2__text p { max-width: 560px; margin: 0; color: #e3f1f1; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; }
.tpm-hero2__btn .elementor-button { min-height: 52px; padding: 14px 26px; font-size: 16px; }
.tpm-btn--light .elementor-button { border: 1.5px solid rgba(255, 255, 255, .75); background: rgba(2, 63, 75, .35); color: #fff; box-shadow: none; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.tpm-btn--light .elementor-button:hover, .tpm-btn--light .elementor-button:focus-visible { border-color: var(--tpm-gold-light); background: rgba(2, 63, 75, .6); color: #fff; }
.elementor-button .elementor-button-icon svg { width: 1.1em; height: 1.1em; fill: currentColor; }

/* Quick links */
.tpm-quick-row > .e-con-inner { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px !important; }
.tpm-quick-row > .e-con-inner > .e-con { width: auto !important; --width: auto; }
.tpm-quick { border: 1px solid var(--tpm-line); border-radius: 14px; background: #fff; box-shadow: var(--tpm-shadow-sm); color: var(--tpm-ink); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.tpm-quick:hover, .tpm-quick:focus-visible { border-color: rgba(207, 165, 58, .6); box-shadow: var(--tpm-shadow); transform: translateY(-3px); }
.tpm-quick > .e-con { min-width: 0; flex: 1; }
.tpm-quick__icon .elementor-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 14px; background: var(--tpm-sand); color: var(--tpm-gold-deep); font-size: 26px; }
.tpm-quick__icon .elementor-icon svg { width: 26px; height: 26px; fill: var(--tpm-gold-deep); }
.tpm-quick__title .elementor-heading-title { display: inline-block; margin: 0; padding-bottom: 3px; border-bottom: 2px solid var(--tpm-gold); color: var(--tpm-night); font-size: 18px; font-weight: 700; line-height: 1.25; }
.tpm-quick__sub p { margin: 4px 0 0; color: var(--tpm-muted); font-size: 13.5px; line-height: 1.35; }
.tpm-quick__arrow .elementor-icon { color: var(--tpm-night); font-size: 24px; }
.tpm-quick__arrow .elementor-icon svg { width: 24px; height: 24px; fill: var(--tpm-night); transition: transform .25s ease; }
.tpm-quick:hover .tpm-quick__arrow svg { transform: translateX(3px); }

/* 12 Talks */
.tpm-talks { position: relative; overflow: hidden; border: 1px solid rgba(207, 165, 58, .45); border-radius: 18px; background: var(--tpm-night-gradient); box-shadow: var(--tpm-shadow); }
.tpm-talks::before { position: absolute; inset: 0; background: var(--tpm-pattern); background-size: 110px; content: ""; opacity: .07; pointer-events: none; }
.tpm-talks > .e-con { position: relative; }
.tpm-talks__title .elementor-heading-title { display: flex; align-items: center; gap: 12px; margin: 0; color: #fff; font-size: clamp(20px, 2.1vw, 27px); font-weight: 700; line-height: 1.25; }
.tpm-talks__title .elementor-heading-title::before { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M7.5 5.5v9l7-4.5z' fill='%23023f4b'/%3E%3C/svg%3E") center / 20px no-repeat; content: ""; }
.tpm-talks__yt .elementor-button { min-height: 40px; padding: 8px 14px; border: 0; background: transparent; color: #fff; box-shadow: none; font-size: 14px; }
.tpm-talks__yt .elementor-button .elementor-button-icon svg { width: 22px; height: 22px; fill: #ff2b2b; }
.tpm-talks__yt .elementor-button:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.tpm-talks__body { display: grid !important; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px !important; }
.tpm-talks__body > * { width: auto !important; min-width: 0; --width: auto; }
.tpm-talks__scroller { position: relative; min-width: 0; }
.tpm-talks__row { display: flex !important; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; scrollbar-color: rgba(207, 165, 58, .6) transparent; scrollbar-width: thin; }
.tpm-talk { position: relative; width: calc((100% - 32px) / 3) !important; min-width: 200px; flex: 0 0 auto; overflow: hidden; padding-bottom: 14px !important; border: 1.5px solid rgba(207, 165, 58, .8); border-radius: 12px; background: #02505c; scroll-snap-align: start; --width: auto; }
.tpm-talk__img { align-self: stretch; }
.tpm-talk__img img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .4s ease; }
.tpm-talk:hover .tpm-talk__img img { transform: scale(1.04); }
.tpm-talk__badge { position: absolute; top: 10px; left: 10px; margin: 0; padding: 3px 10px; border-radius: 6px; background: var(--tpm-gold-gradient); color: var(--tpm-night); font-size: 12.5px; font-weight: 800; }
.tpm-talk > .elementor-widget-text-editor:has(.tpm-talk__badge) { position: static; }
.tpm-talk__title { padding: 0 12px; }
.tpm-talk__title .elementor-heading-title { display: -webkit-box; min-height: 2.7em; margin: 0; overflow: hidden; color: #fff; font-family: var(--tpm-serif); font-size: 15.5px; font-weight: 600; line-height: 1.35; text-align: center; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.tpm-talk__watch .elementor-button { min-height: 38px; padding: 8px 18px; font-size: 14px; }
.tpm-talks__arrow { position: absolute; top: calc(50% - 40px); z-index: 2; display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(207, 165, 58, .7); border-radius: 50%; background: rgba(2, 63, 75, .85); color: var(--tpm-gold-light); cursor: pointer; transition: background-color .2s ease, opacity .2s ease; }
.tpm-talks__arrow:hover, .tpm-talks__arrow:focus-visible { background: var(--tpm-gold); color: var(--tpm-night); }
.tpm-talks__arrow--prev { left: -8px; }
.tpm-talks__arrow--next { right: -8px; }
.tpm-talks__arrow[disabled] { opacity: 0; pointer-events: none; }
.tpm-talks__topics { border-radius: 14px; background: linear-gradient(160deg, #fcf6e6 0%, #f4e6c0 100%); }
.tpm-talks__topics-title .elementor-heading-title { margin: 0; color: var(--tpm-night); font-size: 20px; font-weight: 700; }
.tpm-talks__list ol { margin: 0; padding: 0; counter-reset: talk; list-style: none; }
.tpm-talks__list li { position: relative; margin: 0; padding: 6px 0 6px 36px; color: var(--tpm-ink); font-size: 14px; line-height: 1.4; counter-increment: talk; }
.tpm-talks__list li::before { position: absolute; top: 5px; left: 0; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--tpm-gold-gradient); color: var(--tpm-night); content: counter(talk); font-size: 12px; font-weight: 800; }
.tpm-talks__topics.is-collapsed .tpm-talks__list li:nth-child(n+6) { display: none; }
.tpm-talks__all { align-self: center; }

/* Reflection + responsibilities, knowledge + call to action: two columns */
.tpm-pair > .e-con-inner { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 24px !important; }
.tpm-pair > .e-con-inner > .e-con { width: auto !important; min-width: 0; --width: auto; }
.tpm-reflect { position: relative; overflow: hidden; border-radius: 16px; background: radial-gradient(500px 260px at 50% 0%, rgba(207, 165, 58, .14), transparent 70%), var(--tpm-night-gradient); color: #deeded; text-align: center; box-shadow: var(--tpm-shadow); }
.tpm-reflect::before { position: absolute; inset: 10px; border: 1px solid rgba(207, 165, 58, .55); border-radius: 10px; content: ""; pointer-events: none; }
.tpm-reflect::after { position: absolute; inset: 0; background: var(--tpm-pattern); background-size: 96px; content: ""; opacity: .06; pointer-events: none; }
.tpm-reflect > * { position: relative; z-index: 1; }
.tpm-reflect__title { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0; color: #ecce6e; font-family: var(--tpm-serif); font-size: clamp(19px, 1.8vw, 23px); font-weight: 700; }
.tpm-reflect__title::before, .tpm-reflect__title::after { width: 54px; height: 10px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 10'%3E%3Cpath d='M0 5h44' stroke='%23cfa53a'/%3E%3Cpath d='M49 1l4 4-4 4-4-4z' fill='%23cfa53a'/%3E%3C/svg%3E") center / contain no-repeat; content: ""; }
.tpm-reflect__title::after { transform: scaleX(-1); }
.tpm-reflection p { margin: 0; }
.tpm-reflect__ar { margin-bottom: 12px !important; color: #fff; font-family: var(--tpm-arabic); font-size: clamp(24px, 2.6vw, 34px); line-height: 1.75; }
.tpm-reflect__en { color: #fff; font-size: 16.5px; line-height: 1.6; }
.tpm-reflect__ref { margin-top: 8px !important; font-size: 13.5px; }
.tpm-reflect__ref a { color: #ecce6e; text-decoration: none; }
.tpm-reflect__ref a:hover { text-decoration: underline; }
.tpm-reflect__note { margin: 8px auto 0; padding-top: 12px; border-top: 1px solid rgba(207, 165, 58, .35); color: #c4dddd; font-size: 14px; }
.tpm-reflect .tpm-reflection ~ .tpm-reflection { display: none; }
.tpm-reflect.is-ready .tpm-reflection { display: none; }
.tpm-reflect.is-ready .tpm-reflection.is-active { display: block; animation: tpm-fade .5s ease both; }
@keyframes tpm-fade { from { opacity: 0; } to { opacity: 1; } }
.elementor-editor-active .tpm-reflect .tpm-reflection { display: block !important; }
.tpm-reflect__dots { position: relative; z-index: 1; display: flex; justify-content: center; gap: 6px; margin-top: 4px; }
.tpm-reflect__dots button { width: 24px; height: 24px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.tpm-reflect__dots button::before { display: block; width: 9px; height: 9px; margin: auto; border-radius: 50%; background: rgba(255, 255, 255, .45); content: ""; transition: background-color .2s ease, transform .2s ease; }
.tpm-reflect__dots button[aria-pressed="true"]::before { background: var(--tpm-gold); transform: scale(1.25); }
.tpm-reflect__dots button:focus { background: transparent; }

.tpm-duties { border: 1px solid var(--tpm-line); border-radius: 16px; background: linear-gradient(180deg, #fff 0%, #fbf6ea 100%); box-shadow: var(--tpm-shadow-sm); }
.tpm-duties__icon .elementor-icon { color: var(--tpm-gold-deep); font-size: 30px; }
.tpm-duties__icon .elementor-icon svg { width: 34px; height: 34px; fill: var(--tpm-gold-deep); }
.tpm-duties__title .elementor-heading-title { margin: 0; color: var(--tpm-night); font-size: clamp(19px, 1.8vw, 23px); font-weight: 700; }
.tpm-duties__grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px !important; }
.tpm-duties__grid > .e-con { width: auto !important; --width: auto; }
.tpm-duty { overflow: hidden; border: 1px solid var(--tpm-line); border-radius: 12px; background: #fff; color: var(--tpm-night); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.tpm-duty:hover, .tpm-duty:focus-visible { box-shadow: var(--tpm-shadow); transform: translateY(-3px); }
.tpm-duty__icon { aspect-ratio: 1 / .9; background: radial-gradient(circle at 50% 35%, rgba(207, 165, 58, .3), transparent 60%), var(--tpm-night-gradient); }
.tpm-duty__icon .elementor-icon-wrapper { display: grid; height: 100%; place-items: center; }
.tpm-duty__icon .elementor-icon { color: #ecce6e; font-size: 40px; transition: transform .3s ease; }
.tpm-duty__icon .elementor-icon svg { width: 42px; height: 42px; fill: #ecce6e; }
.tpm-duty:hover .tpm-duty__icon .elementor-icon { transform: scale(1.1); }
.tpm-duty__label p { margin: 0; padding: 10px 8px 12px; font-size: 14px; font-weight: 600; line-height: 1.3; text-align: center; }

.tpm-know__icon .elementor-icon { color: var(--tpm-night); font-size: 28px; }
.tpm-know__icon .elementor-icon svg { width: 30px; height: 30px; fill: var(--tpm-night); }
.tpm-know__title .elementor-heading-title { margin: 0; color: var(--tpm-night); font-size: clamp(22px, 2.2vw, 28px); font-weight: 700; }
.tpm-know__item { border-bottom: 1px solid var(--tpm-line); color: var(--tpm-ink); text-decoration: none; }
.tpm-know__item:last-child { border-bottom: 0; }
.tpm-know__img { width: 120px !important; flex: 0 0 120px; }
.tpm-know__img img { display: block; width: 120px; height: 68px; border-radius: 8px; object-fit: cover; }
.tpm-know__text { min-width: 0; flex: 1; }
.tpm-know__item-title .elementor-heading-title { margin: 0; color: var(--tpm-night); font-size: 17px; font-weight: 700; line-height: 1.3; }
.tpm-know__item:hover .tpm-know__item-title .elementor-heading-title { text-decoration: underline; text-decoration-color: var(--tpm-gold); text-underline-offset: 3px; }
.tpm-know__sub p { margin: 0; color: var(--tpm-muted); font-size: 13.5px; line-height: 1.4; }
.tpm-know__more { margin: 0; color: var(--tpm-gold-deep); font-size: 13.5px; font-weight: 700; white-space: nowrap; }

.tpm-cta2 { position: relative; overflow: hidden; min-height: 280px; border: 1px solid rgba(207, 165, 58, .4); border-radius: 16px; box-shadow: var(--tpm-shadow); }
.tpm-cta2::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1, 52, 62, .85) 0%, rgba(1, 52, 62, .55) 55%, rgba(1, 52, 62, 0) 85%) !important; content: "" !important; opacity: 1 !important; }
.tpm-cta2 > * { position: relative; z-index: 1; max-width: 72%; }
.tpm-cta2__title .elementor-heading-title { margin: 0; color: #ecce6e; font-family: var(--tpm-serif); font-size: clamp(26px, 2.8vw, 36px); font-style: italic; font-weight: 600; line-height: 1.2; }
.tpm-cta2__text p { margin: 0; color: #fff; font-size: 17px; line-height: 1.55; }

/* Footer */
.tpm-footer2__top { border-bottom: 1px solid rgba(207, 165, 58, .25); }
.tpm-footer2 .tpm-logo--footer img { width: 150px; }
.tpm-footer2__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 0; }
.tpm-footer2__links a { display: inline-flex; min-height: 44px; align-items: center; padding: 0 16px; color: #e2f0f0; font-size: 15px; text-decoration: none; }
.tpm-footer2__links a + a { border-left: 1px solid rgba(207, 165, 58, .5); }
.tpm-footer2__links a:hover { color: var(--tpm-gold-light); }
.tpm-footer2__follow { margin: 0; color: #fff; font-size: 15px; font-weight: 600; }
.tpm-footer2 .tpm-social .elementor-social-icon { width: 38px; height: 38px; }
.tpm-footer2__bottom { text-align: center; }
.tpm-footer2__prayer p { margin: 0; color: #ecce6e; font-family: var(--tpm-serif); font-size: clamp(15px, 1.5vw, 18px); font-weight: 600; }
.tpm-footer2__prayer p::after { display: block; width: 90px; height: 12px; margin: 10px auto 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 12'%3E%3Cpath d='M0 6h36M54 6h36' stroke='%23cfa53a'/%3E%3Cpath d='M45 1l5 5-5 5-5-5z' fill='none' stroke='%23ecce6e' stroke-width='1.3'/%3E%3C/svg%3E") center / contain no-repeat; content: ""; }

/* Video dialog (12 Talks "Watch Now") */
.tpm-video-dialog { width: min(960px, calc(100vw - 24px)); padding: 0; border: 0; border-radius: 14px; background: #000; box-shadow: 0 30px 80px rgba(0, 0, 0, .6); }
.tpm-video-dialog::backdrop { background: rgba(1, 34, 41, .82); }
.tpm-video-dialog__frame { aspect-ratio: 16 / 9; }
.tpm-video-dialog__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.tpm-video-dialog__close { position: absolute; top: 8px; right: 8px; z-index: 1; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .55); color: #fff; font-size: 26px; cursor: pointer; }
.tpm-video-dialog__close:hover, .tpm-video-dialog__close:focus { background: rgba(0, 0, 0, .8); color: #fff; }

/* Menu cards (About Us, Resources, Sitemap) */
.tpm-menu-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin: 12px 0 32px; }
.tpm-menu-card { padding: 18px 20px; border: 1px solid var(--tpm-line); border-top: 3px solid var(--tpm-gold); border-radius: 12px; background: #fff; }
.tpm-menu-card__title { margin: 0 0 8px; font-size: 18px; }
.tpm-menu-card__title a { color: var(--tpm-night); text-decoration: none; }
.tpm-menu-card ul { margin: 0; padding-left: 18px; }
.tpm-menu-card li { margin: 4px 0; font-size: 15px; }
.tpm-sitemap-cats { columns: 3 220px; padding-left: 18px; }
.tpm-sitemap-cats li { margin: 4px 0; break-inside: avoid; }
.tpm-sitemap-cats span { color: var(--tpm-muted); font-size: 13px; }

/* Responsive */
@media (max-width: 1100px) {
	.tpm-quick-row > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpm-talks__body { grid-template-columns: minmax(0, 1fr); }
	.tpm-talk { width: calc((100% - 16px) / 2) !important; }
	.tpm-pair > .e-con-inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
	.tpm-hero2::before { background: linear-gradient(180deg, rgba(1, 46, 56, .55) 0%, rgba(1, 46, 56, .4) 55%, rgba(1, 46, 56, 0) 72%) !important; }
	.tpm-hero2__btn, .tpm-hero2__btn .elementor-button { width: 100%; }
	.tpm-quick-row > .e-con-inner { grid-template-columns: minmax(0, 1fr); gap: 12px !important; }
	.tpm-talk { width: 78% !important; }
	.tpm-talks__arrow { display: none; }
	.tpm-duties__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpm-reflect { padding: 26px 20px !important; }
	.tpm-know__img, .tpm-know__img img { width: 88px !important; flex-basis: 88px; height: 56px; }
	.tpm-know__more { display: none; }
	.tpm-cta2 > * { max-width: 100%; }
	.tpm-footer2__top > .e-con-inner { flex-direction: column !important; }
	.tpm-footer2__links a { padding: 0 10px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .tpm-hero2__title .elementor-heading-title, .tpm-hero2__tagline .elementor-heading-title, .tpm-reflect.is-ready .tpm-reflection.is-active { animation: none; } }
/* v5 fit-and-finish */
.tpm-duties__grid { flex: 1 1 auto; }
.tpm-duty__icon { flex: 1 1 auto; min-height: 110px; aspect-ratio: auto; }
.tpm-know__item > .elementor-widget:last-child { flex: 0 0 auto; }
.tpm-footer2__top > .e-con-inner > .elementor-widget-text-editor { flex: 1 1 auto; }
.tpm-footer2__links { flex-wrap: nowrap; }
.tpm-footer2__links a { white-space: nowrap; }
.tpm-footer2__follow { white-space: nowrap; }
@media (min-width: 1366px) and (max-width: 1559px) { .tpm-primary-nav .tpm-menu > li > a { padding-inline: 8px; } }
@media (max-width: 1100px) { .tpm-footer2__links { flex-wrap: wrap; } }
.tpm-talks__row { container-type: inline-size; }
.tpm-talk { width: calc((100cqw - 32px) / 3) !important; flex: 0 0 auto !important; }
@media (max-width: 1100px) { .tpm-talk { width: calc((100cqw - 16px) / 2) !important; } }
@media (max-width: 767px) { .tpm-talk { width: 78cqw !important; } }
.tpm-duties__grid { flex-grow: 1 !important; grid-auto-rows: 1fr; }
.tpm-footer2__top > .e-con-inner > .e-con { flex: 0 0 auto !important; }
.tpm-footer2__top > .e-con-inner > .elementor-widget-text-editor { flex: 1 1 auto !important; min-width: 0; }
.tpm-hero2 .elementor-shape-bottom .elementor-shape-fill { stroke: var(--tpm-gold); stroke-width: 3px; vector-effect: non-scaling-stroke; }
.tpm-footer2__top > .e-con-inner { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; }
.tpm-footer2__top > .e-con-inner > * { width: auto !important; max-width: none; --width: auto; }
.tpm-footer2 .tpm-social .elementor-social-icons-wrapper { flex-wrap: nowrap; }
.tpm-duty__icon .elementor-icon svg { width: 52px; height: 52px; }
.tpm-talks__scroller { display: flex; align-self: stretch; }
.tpm-talks__scroller > .tpm-talks__row { flex: 1 1 auto; align-items: stretch !important; }
.tpm-talk__title { display: flex; flex: 1 1 auto; align-items: center; }
.tpm-talks__arrow { top: calc(100cqw * 0 + 58px); }
@media (max-width: 767px) {
	.tpm-footer2__top > .e-con-inner { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
	.tpm-footer2__links { flex-wrap: wrap; }
}
.tpm-footer.tpm-footer2 .tpm-footer2__top > .e-con-inner { grid-template-columns: auto minmax(0, 1fr) auto !important; }
.tpm-talk__title { flex: 0 0 auto; }
.tpm-talk > .elementor-widget-button { margin-top: auto; }
@media (max-width: 767px) { .tpm-footer.tpm-footer2 .tpm-footer2__top > .e-con-inner { grid-template-columns: minmax(0, 1fr) !important; } }
.tpm-know__item, .tpm-know > .e-con:first-child, .tpm-duties > .e-con:first-child, .tpm-quick, .tpm-talks__head { flex-direction: row !important; }
.tpm-menu-cards { align-items: start; }
/* Statistics on light pages (About Us) */
.tpm-entry .tpm-stats { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 20px 0 32px; }
.tpm-entry .tpm-stat { border-color: var(--tpm-line); background: #fff; box-shadow: var(--tpm-shadow-sm); }
.tpm-entry .tpm-stat:hover { background: #fff; }
.tpm-entry .tpm-stat__num { color: var(--tpm-night); }
.tpm-entry .tpm-stat__label { color: var(--tpm-muted); }
.tpm-entry .tpm-stat a { text-decoration: none; }
.tpm-mobile-nav .tpm-mobile-nav__ask { border-color: var(--tpm-gold); background: var(--tpm-sand); color: var(--tpm-night); }

/* ════════════════════════════════════════════════════════════════════════
   v6 — senior's second set of mockups (2 Nov 2026), combined with v5
   ════════════════════════════════════════════════════════════════════════ */
/* Hero: taglines take turns in the same place (no layout shift); dots under the buttons */
.tpm-hero2__taglines { display: grid !important; }
.tpm-hero2__taglines > .elementor-widget { grid-area: 1 / 1; width: 100% !important; transition: opacity .7s ease; }
.tpm-hero2__taglines:not(.is-ready) > .elementor-widget:not(:first-child) { visibility: hidden; }
.tpm-hero2__taglines.is-ready > .elementor-widget { opacity: 0; }
.tpm-hero2__taglines.is-ready > .elementor-widget.is-active { opacity: 1; }
.elementor-editor-active .tpm-hero2__taglines { display: flex !important; }
.elementor-editor-active .tpm-hero2__taglines > .elementor-widget { visibility: visible; opacity: 1; }
.tpm-hero2__dots { display: flex; gap: 4px; margin-top: 6px; }
.tpm-hero2__dots button { width: 26px; height: 26px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.tpm-hero2__dots button::before { display: block; width: 9px; height: 9px; margin: auto; border-radius: 50%; background: rgba(255, 255, 255, .45); content: ""; transition: background-color .2s ease, width .2s ease; }
.tpm-hero2__dots button[aria-pressed="true"]::before { width: 22px; border-radius: 6px; background: var(--tpm-gold); }
.tpm-hero2__dots button:hover, .tpm-hero2__dots button:focus { background: transparent; }

/* Quick links: icon on top, centred */
.tpm-quick-row .tpm-quick { flex-direction: column !important; justify-content: center; text-align: center; }
.tpm-quick-row .tpm-quick__icon .elementor-icon { width: 58px; height: 58px; margin-bottom: 4px; background: transparent; color: var(--tpm-night); font-size: 34px; }
.tpm-quick-row .tpm-quick__icon .elementor-icon svg { width: 36px; height: 36px; fill: var(--tpm-night); }
.tpm-quick-row .tpm-quick__title .elementor-heading-title { padding-bottom: 0; border-bottom: 0; font-size: 18px; }
.tpm-quick-row .tpm-quick:hover .tpm-quick__icon svg { fill: var(--tpm-gold-deep); }

/* Two-thirds / one-third rows */
.tpm-pair--wide > .e-con-inner { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }

/* 12 Talks strip: thumbnails with a play button; the whole card is a link (plays on the page) */
.tpm-talks { justify-content: center; }
.tpm-talks__yt .elementor-button .elementor-button-icon svg { width: 14px; height: 14px; fill: var(--tpm-gold-light); }
.tpm-talks__yt .elementor-button { color: var(--tpm-gold-light); }
.tpm-talk { width: calc((100cqw - 42px) / 4) !important; min-width: 150px; padding: 0 !important; border: 0; background: transparent; color: #fff; text-decoration: none; }
.tpm-talk__img { position: relative; overflow: hidden; border: 1.5px solid rgba(207, 165, 58, .7); border-radius: 10px; }
.tpm-talk__img::after { position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; border-radius: 50%; background: rgba(2, 63, 75, .78) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M7.5 5.5v9l7-4.5z' fill='%23fff'/%3E%3C/svg%3E") 55% 50% / 22px no-repeat; box-shadow: 0 0 0 2px rgba(255, 255, 255, .85); content: ""; transform: translate(-50%, -50%); transition: background-color .2s ease, transform .2s ease; }
.tpm-talk:hover .tpm-talk__img::after, .tpm-talk:focus-visible .tpm-talk__img::after { background-color: rgba(207, 165, 58, .95); transform: translate(-50%, -50%) scale(1.08); }
.tpm-talk__badge { top: 8px; left: 8px; padding: 2px 8px; font-size: 11.5px; }
.tpm-talk__title { padding: 0 2px; }
.tpm-talk__title .elementor-heading-title { min-height: 2.7em; font-size: 14px; text-align: left; }
.tpm-talks__arrow { top: calc(30% - 20px); }

/* Today's Mahdavi Reflection: cream card */
.tpm-reflect { border: 1px solid rgba(207, 165, 58, .55); background: radial-gradient(420px 220px at 50% 0%, rgba(207, 165, 58, .18), transparent 70%), linear-gradient(170deg, #fffaf0 0%, #f5e8c8 100%); color: var(--tpm-ink); box-shadow: var(--tpm-shadow-sm); }
.tpm-reflect::before { inset: 8px; border-color: rgba(207, 165, 58, .45); }
.tpm-reflect::after { opacity: .05; }
.tpm-reflect__title { color: var(--tpm-night); font-size: 20px; }
.tpm-reflect__ar { color: var(--tpm-night); font-size: clamp(22px, 2.1vw, 28px); }
.tpm-reflect__en { color: var(--tpm-ink); font-size: 15px; }
.tpm-reflect__ref { color: var(--tpm-gold-deep); }
.tpm-reflect__more { margin-top: 6px !important; font-size: 14px; }
.tpm-reflect__more a { color: var(--tpm-primary); font-weight: 700; text-decoration: none; }
.tpm-reflect__more a:hover { text-decoration: underline; }
.tpm-reflect__dots button::before { background: rgba(2, 63, 75, .25); }

/* Featured Articles header + Stay Connected */
.tpm-know__all { margin: 0; font-size: 14px; }
.tpm-know__all a { color: var(--tpm-gold-deep); font-weight: 700; text-decoration: none; }
.tpm-know__all a:hover { text-decoration: underline; }
.tpm-know__head { flex-direction: row !important; }
.tpm-connect { position: relative; overflow: hidden; border-radius: 16px; background: radial-gradient(360px 200px at 50% 0%, rgba(207, 165, 58, .2), transparent 70%), var(--tpm-night-gradient); text-align: center; box-shadow: var(--tpm-shadow); }
.tpm-connect::before { position: absolute; inset: 0; background: var(--tpm-pattern); background-size: 96px; content: ""; opacity: .07; pointer-events: none; }
.tpm-connect > * { position: relative; }
.tpm-connect__title .elementor-heading-title { margin: 0; color: #fff; font-size: 24px; font-weight: 700; }
.tpm-connect__text p { margin: 0; color: #d2e6e6; font-size: 15px; line-height: 1.55; }
.tpm-connect .elementor-widget-button { width: 100%; max-width: 260px; }
.tpm-connect .elementor-button { width: 100%; }
.tpm-connect__yt .elementor-button { background: #e62117; color: #fff; box-shadow: 0 6px 16px rgba(230, 33, 23, .3); }
.tpm-connect__yt .elementor-button:hover, .tpm-connect__yt .elementor-button:focus-visible { color: #fff; filter: brightness(1.08); }

@media (max-width: 1100px) {
	.tpm-talk { width: calc((100cqw - 28px) / 3) !important; }
}
@media (max-width: 767px) {
	.tpm-quick-row > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpm-quick-row .tpm-quick__title .elementor-heading-title { font-size: 16px; }
	.tpm-talk { width: 62cqw !important; }
}
@media (prefers-reduced-motion: reduce) { .tpm-hero2__taglines > .elementor-widget { transition: none; } }
.tpm-talks__head { flex-wrap: nowrap !important; }
.tpm-talks__head > .elementor-widget-heading { min-width: 0; flex: 1 1 auto; }
.tpm-talks__head > .elementor-widget-button { flex: 0 0 auto; }
.tpm-talks__title .elementor-heading-title { font-size: clamp(19px, 1.7vw, 23px); }
.tpm-talk { width: calc((100cqw - 28px) / 3) !important; }
.tpm-talk__title .elementor-heading-title { font-size: 15px; }
.tpm-know__all { white-space: nowrap; }
.tpm-reflect__title { gap: 10px; }
.tpm-reflect__title::before, .tpm-reflect__title::after { width: 30px; flex: 0 0 30px; }
@media (max-width: 1100px) { .tpm-talk { width: calc((100cqw - 28px) / 3) !important; } }
@media (max-width: 767px) { .tpm-talk { width: 62cqw !important; } .tpm-talks__head { flex-wrap: wrap !important; } }
@media (max-width: 1100px) { .tpm-pair--wide > .e-con-inner { grid-template-columns: minmax(0, 1fr); } }
.tpm-know__item, .tpm-know__head, .tpm-know__head > .e-con, .tpm-duties > .e-con:first-child { flex-wrap: nowrap !important; }
.tpm-talks__scroller { flex: 0 0 auto; } .tpm-talk > * { flex-shrink: 0; }
.tpm-talk { flex-wrap: nowrap !important; }
.tpm-talk { height: auto !important; align-self: flex-start !important; }
/* Talks row as a horizontally scrolling grid: three columns visible (two-thirds of a phone width on phones) */
.tpm-talks__row { display: grid !important; grid-auto-flow: column; grid-auto-columns: calc((100% - 28px) / 3); align-items: start; gap: 14px !important; container-type: normal; }
.tpm-talk { width: auto !important; min-width: 0; }
@media (max-width: 1100px) { .tpm-talk { width: auto !important; } }
@media (max-width: 767px) { .tpm-talks__row { grid-auto-columns: 64%; } .tpm-talk { width: auto !important; } }
/* Final QA: quick-link titles line up when a subtitle wraps; footer stacks below desktop width */
.tpm-quick-row .tpm-quick { justify-content: flex-start !important; }
@media (max-width: 1100px) {
	.tpm-footer.tpm-footer2 .tpm-footer2__top > .e-con-inner { grid-template-columns: minmax(0, 1fr) !important; justify-items: center; text-align: center; }
	.tpm-footer2__links { gap: 0 4px; }
	.tpm-footer2__links a { padding: 0 8px; }
	.tpm-footer2__top > .e-con-inner > .e-con { justify-content: center !important; justify-self: stretch; }
}
@media (max-width: 767px) { .tpm-footer2__links a + a { border-left: 0; } }
.tpm-entry .tpm-faq-button { flex: 1 1 auto; }
.tpm-entry .tpm-faq-button:focus-visible { outline: 0; box-shadow: none; }
.tpm-entry .qode-title-holder:has(.tpm-faq-button:focus-visible) { outline: 3px solid var(--tpm-gold); outline-offset: 2px; }
/* The whole mosque stays in view: photo at full hero height on the right (the curve below must not cover its base); on phones at full width under the buttons */
.tpm-hero2 { background-position: right top !important; background-size: auto calc(100% - 30px) !important; }
@media (min-width: 1101px) { .tpm-hero2::before { background: linear-gradient(90deg, rgba(1, 46, 56, .92) 0%, rgba(1, 46, 56, .68) 34%, rgba(1, 46, 56, 0) 58%) !important; } }
@media (min-width: 768px) and (max-width: 1100px) {
	.tpm-hero2 { background-position: right calc(100% - 30px) !important; background-size: auto 84% !important; }
	.tpm-hero2__copy { width: 58% !important; --width: 58%; }
	.tpm-hero2::before { background: linear-gradient(180deg, var(--tpm-night) 0%, var(--tpm-night) 15%, transparent 38%), linear-gradient(90deg, rgba(1, 46, 56, .9) 0%, rgba(1, 46, 56, .72) 42%, rgba(1, 46, 56, 0) 66%) !important; }
}
@media (max-width: 767px) {
	.tpm-hero2 { background-position: center calc(100% - 20px) !important; background-size: 100% auto !important; }
}
/* Hero photo credit (required by the photo's licence) */
.tpm-hero2__credit { position: absolute; right: 24px; bottom: 66px; z-index: 2; width: auto !important; max-width: min(560px, 90%); }
.tpm-hero2__credit p { margin: 0; padding: 3px 10px; border-radius: 6px; background: rgba(1, 46, 56, .72); color: #e3f1f1; font-size: 12px; line-height: 1.5; }
.tpm-hero2__credit a { color: #f3dc9f; text-decoration: underline; white-space: nowrap; }
.tpm-hero2__text p { text-shadow: 0 1px 10px rgba(0, 0, 0, .55); }
@media (max-width: 767px) { .tpm-hero2__credit { position: static; max-width: 100%; margin: 4px 0 50vw !important; } .tpm-hero2__credit p { padding: 0; background: transparent; font-size: 11.5px; } }

