/**/#dm .dmSocialHub:not(.gapSpacing) .socialHubInnerDiv a:not(:last-child){margin-right:5px}.socialHubIcon{display:flex!important;align-items:center;justify-content:center}.socialHubIcon svg{fill:currentColor;width:80%;height:80%}
.socialHubIcon.style1,.socialHubIcon.style4,.socialHubIcon.style6,.socialHubIcon.style7{background:#617379}.socialHubIcon.style7{box-shadow:0 5px 0 0 #475459}.style1.dmSocialTiktok,.style4.dmSocialTiktok{background:#000}
.style1.dmSocialFacebook,.style4.dmSocialFacebook{background:#1877f2}.style1.dmSocialTwitter,.style4.dmSocialTwitter{background:#0f1419}.style1.dmSocialGooglePlus,.style4.dmSocialGooglePlus{background:#da4835}
.style1.dmSocialInstagram,.style4.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style1.dmSocialYoutube,.style4.dmSocialYoutube{background:red}
.style1.dmSocialLinkedin,.style4.dmSocialLinkedin{background:#2867b2}.style1.dmSocialYelp,.style4.dmSocialYelp{background:#e43340}.style1.dmSocialPinterest,.style4.dmSocialPinterest{background:#c8232c}
.style1.dmSocialVimeo,.style4.dmSocialVimeo{background:#1ab7ea}.style1.dmSocialPicasa,.style4.dmSocialPicasa{background:#be81d1}.style1.dmSocialFoursquare,.style4.dmSocialFoursquare{background:#ef4b78}
.style1.dmSocialRss,.style4.dmSocialRss{background:#f39200}.style1.dmSocialReddit,.style4.dmSocialReddit{background:#ff4500}.style1.dmSocialEmail,.style4.dmSocialEmail{background:#617379}.style1.dmSocialSnapchat,.style4.dmSocialSnapchat{background:#fffc00}
.style1.dmSocialTripadvisor,.style4.dmSocialTripadvisor{background:#589442}.style1.dmSocialWaze,.style4.dmSocialWaze{background:#56cbe7}.style1.dmSocialGoogleMyBusiness,.style4.dmSocialGoogleMyBusiness{background:#477cdf}
.style1.dmSocialWhatsapp,.style4.dmSocialWhatsapp{background:#25d366}.style1.dmSocialPhone,.style4.dmSocialPhone{background:#616c79}.style1:after{content:"";width:44px;height:28px;display:block;position:absolute;top:0;left:0;z-index:-1;border-radius:10px}
.style1.dmSocialEmail:after,.style1.dmSocialFacebook:after,.style1.dmSocialFoursquare:after,.style1.dmSocialGoogleMyBusiness:after,.style1.dmSocialGooglePlus:after,.style1.dmSocialInstagram:after,.style1.dmSocialLinkedin:after,.style1.dmSocialPhone:after,.style1.dmSocialPicasa:after,.style1.dmSocialPinterest:after,.style1.dmSocialReddit:after,.style1.dmSocialRss:after,.style1.dmSocialSnapchat:after,.style1.dmSocialTripadvisor:after,.style1.dmSocialTwitter:after,.style1.dmSocialVimeo:after,.style1.dmSocialYelp:after,.style1.dmSocialYoutube:after{background:#fff;opacity:.2}
.style2.dmSocialTiktok{color:#000}.style2.dmSocialFacebook{color:#1877f2}.style2.dmSocialTwitter{color:#0f1419}.style2.dmSocialGooglePlus{color:#da4835}.style2.dmSocialInstagram:before{background-image:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.style2.dmSocialYoutube{color:red}.style2.dmSocialLinkedin{color:#2867b2}.style2.dmSocialYelp{color:#e43340}.style2.dmSocialPinterest{color:#c8232c}.style2.dmSocialVimeo{color:#1ab7ea}.style2.dmSocialPicasa{color:#be81d1}
.style2.dmSocialFoursquare{color:#ef4b78}.style2.dmSocialRss{color:#f39200}.style2.dmSocialReddit{color:#ff4500}.style2.dmSocialEmail{color:#617379}.style2.dmSocialSnapchat{color:#fffc00}.style2.dmSocialTripadvisor{color:#589442}
.style2.dmSocialGoogleMyBusiness:before{color:#477cdf}.style2.dmSocialWaze:before{color:#56cbe7}.style2.dmSocialWhatsapp:before{color:#25d366}.style2.dmSocialPhone{color:#616c79}.style6.dmSocialTiktok{background:#000}
.style6.dmSocialFacebook{background:#1877f2}.style6.dmSocialTwitter{background:#0f1419}.style6.dmSocialGooglePlus{background:#da4835}.style6.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}
.style6.dmSocialYoutube{background:red}.style6.dmSocialLinkedin{background:#2867b2}.style6.dmSocialYelp{background:#e43340}.style6.dmSocialPinterest{background:#c8232c}.style6.dmSocialVimeo{background:#1ab7ea}
.style6.dmSocialPicasa{background:#be81d1}.style6.dmSocialFoursquare{background:#ef4b78}.style6.dmSocialRss{background:#f39200}.style6.dmSocialReddit{background:#ff4500}.style6.dmSocialEmail{background:#617379}
.style6.dmSocialSnapchat{background:#fffc00}.style6.dmSocialTripadvisor{background:#589442}.style6.dmSocialWaze{background:#56cbe7}.style6.dmSocialGoogleMyBusiness{background:#477cdf}.style6.dmSocialWhatsapp{background:#25d366}
.style6.dmSocialPhone{background:#616c79}.style7.dmSocialTiktok{background:#000}.style7.dmSocialFacebook{background:#1877f2;box-shadow:0 5px 0 0 #4b68a5}.style7.dmSocialTwitter{background:#0f1419}.style7.dmSocialGooglePlus{background:#da4835;box-shadow:0 5px 0 0 #c44130}
.style7.dmSocialInstagram{box-shadow:0 5px 0 0 #ad2271;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style7.dmSocialYoutube{background:red;box-shadow:0 5px 0 0 #b3392c}
.style7.dmSocialLinkedin{background:#2867b2;box-shadow:0 5px 0 0 #1278b1}.style7.dmSocialYelp{background:#e43340;box-shadow:0 5px 0 0 #b62933}.style7.dmSocialPinterest{background:#c8232c;box-shadow:0 5px 0 0 #a21a2d}
.style7.dmSocialVimeo{background:#1ab7ea;box-shadow:0 5px 0 0 #1592bb}.style7.dmSocialPicasa{background:#be81d1;box-shadow:0 5px 0 0 #9867a7}.style7.dmSocialFoursquare{background:#ef4b78;box-shadow:0 5px 0 0 #da3b67}
.style7.dmSocialRss{background:#f39200;box-shadow:0 5px 0 0 #c27500}.style7.dmSocialReddit{background:#ff4500;box-shadow:0 5px 0 0 #ae5534}.style7.dmSocialEmail{background:#617379;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialSnapchat{background:#fffc00;box-shadow:0 5px 0 0 #d1d05d}.style7.dmSocialTripadvisor{background:#589442;box-shadow:0 5px 0 0 #4e7b3e}.style7.dmSocialWaze{background:#56cbe7;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialGoogleMyBusiness{background:#477cdf;box-shadow:0 5px 0 0 #475459}.style7.dmSocialWhatsapp{background:#25d366;box-shadow:0 5px 0 0 #475459}.style7.dmSocialPhone{background:#616c79;box-shadow:0 5px 0 0 #4a5458}/**/.dmSocialHub{clear:both}#dm .dmSocialHub .horizontal a,#dm .dmSocialHub.gapSpacing .socialHubWrapper{display:block}#dm .dmSocialHub.gapSpacing .socialHubInnerDiv{display:flex;flex-wrap:wrap;column-gap:5px;justify-content:center}
#dm .dmSocialHub.alignedLeft .socialHubInnerDiv,#dm .dmSocialHub.alignedLeft h3,.dmSocialHub>div.horizontal{text-align:left}#dm .dmSocialHub a{display:inline-block;text-decoration:none;margin:0;vertical-align:bottom}
#dm .dmSocialHub>h3,.dmSocialHub>div{text-align:inherit}#dm .dmSocialHub.alignedCenter .socialHubInnerDiv,#dm .dmSocialHub.alignedCenter h3{text-align:center}#dm .dmSocialHub.alignedRight .socialHubInnerDiv,#dm .dmSocialHub.alignedRight h3{text-align:right}
a span.socialHubIcon{width:44px;height:44px;font-size:27px;display:inline-block;text-align:center;margin-right:0;margin-bottom:5px;line-height:44px;box-sizing:border-box;background-image:none!important}
.socialHubIcon[class^=icon-]:before,[class*=" icon-"]:before{cursor:pointer}.socialHubIcon.style1{font-size:24px;border-radius:10px;color:#fff;position:relative;z-index:1}.socialHubIcon.style2{font-size:29px}
.socialHubIcon.style3{font-size:24px;border-radius:50%;border:3px solid #fff;color:#fff}.socialHubIcon.style4{font-size:24px;border-radius:10px;color:#fff;position:relative}.socialHubIcon.style5{color:#fff}
.socialHubIcon.style6,.socialHubIcon.style7{font-size:24px;border-radius:50%;color:#fff}.socialHubIcon.style7{border-radius:10px;position:relative;margin-bottom:10px}.socialHubIcon.style8{font-size:24px;border-radius:50%;color:#fff;background:#000}
.socialHubIcon.style9{color:#333;font-size:29px}@media(min-width:768px) and (max-width:1024px){.dmRoot #dm .dmStandardTablet .dmSocialHub.dmSocialHome .socialHubIcon{width:36px;height:36px;background-size:auto}
}#dm .dmSocialHub .socialHubWrapper{display:inline-block;max-width:100%}/**/.hamburgerButton{display:block;background-color:transparent;border:0;padding:0;margin:0}.hamburgerButton,.hamburgerButton svg{width:100%;height:100%}/**/.dmLargeBody #dm .dmRespRow .dmRespCol.large-11 .dmform[data-layout=layout-2] .dmform-wrapper .dmformsubmit.dmWidget,.dmLargeBody #dm .dmRespRow .dmRespCol.large-12 .dmform[data-layout=layout-2] .dmform-wrapper .dmformsubmit.dmWidget{width:fit-content}
#dm .dmformsubmit input[type=submit]{text-align:inherit}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput label:not(.for-checkable),#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput label:not(.for-checkable){width:75px;vertical-align:top;white-space:normal}
#dm .dmBody div.dmform[data-layout=layout-2] .dmforminput:not(.g-recaptcha):not(.frc-captcha){justify-content:flex-start!important}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-1] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-1] .dmforminput{display:block}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-1] .dmforminput>:not(label):not(div):not(small):not(.frc-banner),#dm div.dmInner .dmform[data-layout=layout-1] .dmforminput>:not(label):not(div):not(small):not(.frc-banner){background:0;border:2px solid #000;display:inline-block}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput{-js-display:flex;display:flex}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput input:not([type=checkbox]):not([type=radio]),#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput textarea,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>input,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>textarea{width:calc(100% - 80px)}
#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>.resizeHandler{height:100%;bottom:0}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-3] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-3] .dmforminput{margin-top:20px}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-3] .dmforminput>:not(label):not(div):not(small):not(.frc-banner),#dm div.dmInner .dmform[data-layout=layout-3] .dmforminput>:not(label):not(div):not(small):not(.frc-banner){background:0;border:0;border-radius:0;-webkit-appearance:none;border-bottom:1px solid;height:30px}
#dm div.dmInner .frc-captcha.dmforminput.dmRespDesignCol{border:0}#dm div.dmInner .frc-captcha.dmforminput.dmRespDesignCol .frc-banner{border:0;position:inherit}#dm div.dmInner .dmform .dmforminput .radiowrapper span{line-height:normal}
#dm div.dmInner .dmform .dmforminput .checkboxwrapper span,#dm div.dmInner .dmform .dmforminput .optinwrapper div{vertical-align:text-bottom;line-height:normal;display:inline}#dm div.dmInner .dmform .dmforminput .optinwrapper div p.rteBlock{display:inline}
#dm div.dmInner .dmform .dmforminput .horizontal.checkboxwrapper span,#dm div.dmInner .dmform .dmforminput .horizontal.optinwrapper div div,#dm div.dmInner .dmform .dmforminput .horizontal.radiowrapper span{margin:0 15px 0 3px}
#dm div.dmInner .dmform .dmforminput .horizontal{-js-display:flex;display:flex;flex-wrap:wrap}#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput .horizontal{-js-display:inline-flex;display:inline-flex}
#dm div.dmInner .dmform .dmforminput .horizontal div{-js-display:flex;display:flex}#dm div.dmInner .dmform .dmforminput .horizontal input{flex-shrink:0;margin-top:.2em}#dm div.dmInner .dmform .dmforminput label[hide=true],#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=checkbox].checkable-input,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=checkbox].checkable-input+span,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=radio].checkable-input,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=radio].checkable-input+span,.dmform .dmforminput[data-skip-in-editor=true]{display:none}
.dmform .dmform-field-error{display:none;color:#b00020;background-color:#fef5f5;font-size:12px;padding:6px 12px;margin-top:4px;border-radius:4px}.dmform .dmform-field-error::before{content:"";display:inline-block;width:16px;height:16px;margin-right:4px;vertical-align:text-top;background:url('data:image/svg+xml,<svgwidth="16"height="20"viewBox="001620"fill="none"xmlns="http://www.w3.org/2000/svg"><maskid="mask0_7704_320"style="mask-type:alpha"maskUnits="userSpaceOnUse"x="1"y="3"width="14"height="14"><pathd="M8.000243.33325C11.68013.3334314.66636.3203514.666310.0002C14.666113.6811.6816.66618.0002416.6663C4.3203516.66631.3334313.68011.3332510.0002C1.333256.320244.320243.333258.000243.33325ZM7.3332512.0002V13.3333H8.66626V12.0002H7.33325ZM8.000246.66626C7.633586.666267.333256.966597.333257.33325V10.0002C7.3334310.36687.6336910.66638.0002410.6663C8.3666510.66618.6660810.36678.6662610.0002V7.33325C8.666266.966698.366766.666448.000246.66626Z"fill="black"/></mask><gmask="url(%23mask0_7704_320)"><recty="2"width="16"height="16"fill="%23B00020"/></g></svg>') no-repeat center/contain;background-repeat:no-repeat;background-position:center;background-size:contain}
.dmform .inputError{outline:1px solid red!important}.dmform.required-asterisk .required>label::after{content:"*";display:inline-block;margin-inline-start:5px;color:#f11111}
.dmform .dmforminput label{display:block;overflow:hidden;text-overflow:ellipsis}.dmforminput.newLine{clear:both}.dmform .dmWidgetClear{clear:both;display:block}#dm .dmform.form-rtl-direction .dmform-title{text-align:right}
#dm .dmform.form-rtl-direction .checkboxwrapper,#dm .dmform.form-rtl-direction .dmforminput input,#dm .dmform.form-rtl-direction .optinwrapper,#dm .dmform.form-rtl-direction .radiowrapper,#dm .dmform.form-rtl-direction label,#dm .dmform.form-rtl-direction textarea{direction:rtl;text-align:right}
#dm .dmform.form-rtl-direction .checkboxwrapper,#dm .dmform.form-rtl-direction .fileUploadLink,#dm .dmform.form-rtl-direction .optinwrapper,#dm .dmform.form-rtl-direction .radiowrapper{float:right;clear:both}
#dm .dmform.form-rtl-direction .dmRespDesignRow .dmRespDesignCol{float:right;text-align:right}#dm .dmform.form-rtl-direction .dmWidget.R{float:left}.u_dm .dmform a.fileUploadLink{text-decoration:underline;cursor:pointer}
.dmform .fileUploadLink{cursor:pointer}.dmform[data-layout=layout-2] .checkboxwrapper,.dmform[data-layout=layout-2] .optinwrapper,.dmform[data-layout=layout-2] .radiowrapper{justify-content:flex-start!important;text-align:left!important;text-overflow:unset}
.dmform[data-layout=layout-2] .dmforminput label{margin-right:5px}#dmRoot.dmLargeBody #dm .dmWidget.dmformsubmit{max-width:100%;padding:0}.dmLargeBody #dm .large-3 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-4 .dmformsubmit.dmWidget{width:150px}
.dmLargeBody #dm .large-10 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-5 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-6 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-7 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-8 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-9 .dmformsubmit.dmWidget{width:200px}
.dmLargeBody #dm .large-11 .dmformsubmit.dmformsubmit,.dmLargeBody #dm .large-12 .dmformsubmit.dmformsubmit{width:280px}.dmMobileBody #dm .dmRespRow .dmRespCol.small-12 .dmform-wrapper .dmformsubmit{width:91%;max-width:91%;padding:0 10px;float:left}
.inFormLayoutMode .dmform.inlineEditorFormSelected .dmforminput{transition:all .1s linear}.dmMobileBody .dmform .dmforminput label{white-space:normal}.dmform .newLineButton,.dmform .resizeHandler,.dmform.inlineEditorFormSelected .large-1 .resizeHandler span.dm-icon-chevron-left,.dmform.inlineEditorFormSelected .large-12 .resizeHandler span.dm-icon-chevron-right{visibility:hidden}
.dmform.inlineEditorFormSelected .resizeHandler{visibility:visible;height:calc(100% - 30px);position:absolute;bottom:5px;right:10px;cursor:col-resize;z-index:999}.dmform.inlineEditorFormSelected .newLineButton{visibility:visible;position:absolute;left:24px;bottom:calc(50% - 22px);padding:4px;cursor:pointer}
.dmform.inlineEditorFormSelected .newLineButton:before{display:inline-block}.dmform.inlineEditorFormSelected .newLine .newLineButton:before{-webkit-transform:rotateZ(180deg)}.dmform.inlineEditorFormSelected .resizeHandler span{font-size:9px;position:relative;top:50%;margin-top:-4px;color:#666}
.dmform.inlineEditorFormSelected .resizeHandler span.dm-icon-chevron-right{margin-left:4px}.dmform.inlineEditorFormSelected .resizeHandler .handle{background-color:#666;height:100%;background:url(/editor/nee/images/common/2ColumnsArrows.png) no-repeat center 50%,url(/editor/nee/images/common/bluePic.png) repeat-y center;border-right:0;right:-5px;width:12px}
.dmform .m-recaptcha{margin-top:0;margin-bottom:10px}.dmform .grecaptcha-badge[data-style=bottomleft],.dmform .grecaptcha-badge[data-style=bottomright]{z-index:999;opacity:0}.dmform.active .grecaptcha-badge[data-style=bottomleft],.dmform.active .grecaptcha-badge[data-style=bottomright]{opacity:1}
[data-captcha-position=bottomleft] .g-recaptcha,[data-captcha-position=bottomright] .g-recaptcha{padding:0;margin:0}div.dmInner input[type=date],div.dmInner input[type=time]{font-size:16px;background-color:rgba(102,102,102,.15);border:2px solid #fff;width:100%;margin:3px 0;height:40px;padding:0 10px}
#dm div.dmInner .native-inputs .contact-checkable-container label.for-checkable{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;overflow:visible}#dm div.dmInner .native-inputs .contact-checkable-container .contact-checkable-img{margin-left:0;margin-bottom:0}
#dm div.dmInner .native-inputs .contact-checkable-container input[type=checkbox].checkable-input,#dm div.dmInner .native-inputs .contact-checkable-container input[type=radio].checkable-input{display:initial;width:1em;height:1em;margin:8px .3em 8px 0;order:1}
#dm div.dmInner .native-inputs .contact-checkable-container input[type=checkbox].checkable-input:checked~span.img-wrapper>img,#dm div.dmInner .native-inputs .contact-checkable-container input[type=radio].checkable-input:checked~span.img-wrapper>img{border:3px solid transparent}
#dm div.dmInner .native-inputs .contact-checkable-container div,#dm div.dmInner .native-inputs .contact-checkable-container span:not(.img-wrapper){order:2}#dm div.dmInner .native-inputs .contact-checkable-container span.img-wrapper{order:0;width:100%}
#dm .dmform:has(.spacing-container) .dmform-wrapper{overflow:clip}#dm .dmform:has(.spacing-container) .dmform-title.dmwidget-title{padding-inline:0;margin-block-start:0}#dm .dmform:has(.spacing-container) .spacing-container{margin:-7.5px;border:1px solid transparent;overflow:hidden}
#dm .dmform:has(.spacing-container) .spacing-container .dmforminput{margin-top:0;padding:7.5px}#dm .dmform:has(.spacing-container) .spacing-container textarea{display:block}#dm .dmform:has(.spacing-container) .spacing-container .m-recaptcha{margin-bottom:0}
#dm .dmform:has(.spacing-container) .spacing-container .g-recaptcha:has(.grecaptcha-badge:not([data-style=inline])){position:absolute}#dm .dmform:has(.spacing-container) form.dmRespDesignRow{padding:0}
#dm .dmform:has(.spacing-container) form.dmRespDesignRow .dmformsubmit{margin:0;margin-block-start:20px}#dm .dmform:is(.horizontal-alignment) form.dmRespDesignRow{display:flex;flex-direction:row;align-items:flex-end}
#dm .dmform:is(.horizontal-alignment) form.dmRespDesignRow .dmformsubmit{margin-block-end:5px}#dm .dmform:is(.horizontal-alignment).form-rtl-direction form{flex-direction:row-reverse}/**/.dmform{clear:both}.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=email],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=number],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=password],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=tel],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=text],.dmPageBody:not(.inputs-css-clean) div.dmInner select,.dmPageBody:not(.inputs-css-clean) div.dmInner textarea,div.dmInner .dmform input[type=email],div.dmInner .dmform input[type=number],div.dmInner .dmform input[type=password],div.dmInner .dmform input[type=tel],div.dmInner .dmform input[type=text],div.dmInner .dmform select,div.dmInner .dmform textarea{font-size:16px;background-color:rgba(102,102,102,.15);border:2px solid #fff;width:100%;margin:3px 0;height:40px;padding:0 10px}
.dmPageBody:not(.inputs-css-clean) div.dmInner textarea,div.dmInner .dmform textarea{height:80px;padding:10px;min-height:50px}.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=reset],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=submit],div.dmInner .dmform input[type=reset],div.dmInner .dmform input[type=submit]{margin:5px auto;width:100%;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;height:30px!important;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;font-size:16px;border:0;outline:0}
.dmPageBody:not(.inputs-css-clean) div.dmInner select[multiple],div.dmInner .dmform select[multiple]{height:auto}.dmPageBody:not(.inputs-css-clean) div.dmInner select option:not(:disabled),div.dmInner .dmform select option:not(:disabled){color:initial}
.dmPageBody:not(.inputs-css-clean) div.dmInner select option,div.dmInner .dmform select option{background-color:#fff}.dmforminput{text-align:left}#dm .dmform .dmformsubmit{margin:20px 15px}.dmform .dmformsubmit .R{float:right}
.dmform-title{padding-right:15px;padding-left:15px}div.dmInner .dmformsubmit input[type=submit]{height:auto!important}@media(max-width:767px){.dmRoot #dm .dmform input[type=submit]{width:100%}.dmRoot #dm .dmform.dmContactDefaultForm input[type=submit]{width:91%}
#dm .dmform-wrapper .dmformsubmit{width:91%;max-width:91%;padding:0 10px;float:left}}.dmformcaptcha,.dmforminput{margin-top:10px;padding-left:.9375em;padding-right:.9375em}.dmRoot #dm .dmRespRow .dmRespCol.large-10 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-5 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-6 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-7 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-8 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-9 .dmform-wrapper .dmformsubmit{min-width:200px;width:auto}
.dmRoot #dm .dmRespRow .dmRespCol.large-11 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-12 .dmform-wrapper .dmformsubmit{min-width:280px;width:auto}div.dmInner .filewrapper{margin:3px 0;height:40px}
#dmRoot #dm .dmWidget.dmformsubmit{max-width:100%}/**/embed,object{max-width:100%;height:100%}img{max-width:100%;-ms-interpolation-mode:bicubic;display:inline-block}textarea{height:auto;min-height:50px}select{width:100%}.text-left{text-align:left!important}
.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.hide{display:none}.antialiased{-webkit-font-smoothing:antialiased}.dmRespDesignRow{position:relative;width:100%;margin:0 auto;max-width:960px;*zoom:1;padding-top:15px;padding-bottom:15px}
.dmRespDesignRow .dmRespDesignRow.collapse:after,.dmRespDesignRow .dmRespDesignRow.collapse:before,.dmRespDesignRow .dmRespDesignRow:after,.dmRespDesignRow .dmRespDesignRow:before,.dmRespDesignRow:after,.dmRespDesignRow:before{content:" ";display:table}
.dmRespDesignRow .dmRespDesignRow.collapse:after,.dmRespDesignRow .dmRespDesignRow:after,.dmRespDesignRow:after{clear:both}@media(min-width:1025px){.rows-1200 .dmRespDesignRow,.rows-1200 .dmRespRow:not(.fullBleedMode) .dmRespColsWrapper{max-width:1200px}
}.dmRespDesignRow .column,.dmRespDesignRow .dmRespDesignCol{position:relative;width:100%;display:inline-block;vertical-align:top;float:left}.dmRespDesignRow.collapse .dmRespDesignCol{position:relative;padding-left:0;padding-right:0;float:left}
.dmRespDesignRow .dmRespDesignRow{width:auto;margin-top:0;margin-bottom:0;max-width:none;*zoom:1}.dmRespDesignRow .dmRespDesignRow.collapse{width:auto;margin:0;max-width:none;*zoom:1}@media(max-width:767px){.dmRespDesignRow .dmRespDesignCol{position:relative;padding-left:15px;padding-right:15px;float:left}
.flex-element .small-3:first-child,.flex-element .small-4:first-child,.flex-element .small-6:first-child{padding-left:0}.flex-element .small-3:last-child,.flex-element .small-4:last-child,.flex-element .small-6:last-child{padding-right:0}
.dmRespDesignRow .small-1{position:relative;width:8.33333%}.dmRespDesignRow .small-2{position:relative;width:16.66667%}.dmRespDesignRow .small-3{position:relative;width:25%}.dmRespDesignRow .small-4{position:relative;width:33.33333%}
.dmRespDesignRow .small-5{position:relative;width:41.66667%}.dmRespDesignRow .small-6{position:relative;width:50%}.dmRespDesignRow .small-7{position:relative;width:58.33333%}.dmRespDesignRow .small-8{position:relative;width:66.66667%}
.dmRespDesignRow .small-9{position:relative;width:75%}.dmRespDesignRow .small-10{position:relative;width:83.33333%}.dmRespDesignRow .small-11{position:relative;width:91.66667%}.dmRespDesignRow .small-12{position:relative;width:100%}
}@media(min-width:768px) and (max-width:1024px){.dmRespDesignRow .medium-1{position:relative;width:8.33333%}.dmRespDesignRow .medium-2{position:relative;width:16.66667%}.dmRespDesignRow .medium-3{position:relative;width:25%}
.dmRespDesignRow .medium-4{position:relative;width:33.33333%}.dmRespDesignRow .medium-5{position:relative;width:41.66667%}.dmRespDesignRow .medium-6{position:relative;width:50%}.dmRespDesignRow .medium-7{position:relative;width:58.33333%}
.dmRespDesignRow .medium-8{position:relative;width:66.66667%}.dmRespDesignRow .medium-9{position:relative;width:75%}.dmRespDesignRow .medium-10{position:relative;width:83.33333%}.dmRespDesignRow .medium-11{position:relative;width:91.66667%}
.dmRespDesignRow .medium-12{position:relative;width:100%}}@media(min-width:1025px){.dmRespDesignRow .large-1{position:relative;width:8.33333%}.dmRespDesignRow .large-2{position:relative;width:16.66667%}
.dmRespDesignRow .large-3{position:relative;width:25%}.dmRespDesignRow .large-4{position:relative;width:33.33333%}.dmRespDesignRow .large-5{position:relative;width:41.66667%}.dmRespDesignRow .large-6{position:relative;width:50%}
.dmRespDesignRow .large-7{position:relative;width:58.33333%}.dmRespDesignRow .large-8{position:relative;width:66.66667%}.dmRespDesignRow .large-9{position:relative;width:75%}.dmRespDesignRow .large-10{position:relative;width:83.33333%}
.dmRespDesignRow .large-11{position:relative;width:91.66667%}.dmRespDesignRow .large-12{position:relative;width:100%}}/**/.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center{text-align:center!important}.dmNewParagraph[data-version] .text-align-right{text-align:right!important}
.dmNewParagraph[data-version] .text-align-justify{text-align:justify!important}.dmNewParagraph[data-version] .ql-indent-1{padding:0 1em;padding-inline-end:0;padding-inline-start:3em}.dmNewParagraph[data-version] .ql-indent-2{padding:0 2em;padding-inline-end:0;padding-inline-start:6em}
.dmNewParagraph[data-version] .ql-indent-3{padding:0 3em;padding-inline-end:0;padding-inline-start:9em}.dmNewParagraph[data-version] .ql-indent-4{padding:0 4em;padding-inline-end:0;padding-inline-start:12em}
.dmNewParagraph[data-version] .ql-indent-5{padding:0 5em;padding-inline-end:0;padding-inline-start:15em}.dmNewParagraph[data-version] .ql-indent-6{padding:0 6em;padding-inline-end:0;padding-inline-start:18em}
.dmNewParagraph[data-version] .ql-indent-7{padding:0 7em;padding-inline-end:0;padding-inline-start:21em}.dmNewParagraph[data-version] .ql-indent-8{padding:0 8em;padding-inline-end:0;padding-inline-start:24em}
.dmNewParagraph[data-version] .ql-indent-9{padding:0 9em;padding-inline-end:0;padding-inline-start:27em}.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] [class*=size-]{width:auto!important;height:auto!important}
.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] h3,.dmNewParagraph[data-version] h4,.dmNewParagraph[data-version] h5,.dmNewParagraph[data-version] h6,.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] p,.dmNewParagraph[data-version] ul{margin-top:0;margin-bottom:0}
.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] ul{padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.dmNewParagraph[data-version] ol>li,.dmNewParagraph[data-version] ul>li{list-style-type:none;text-indent:-1.5em;margin:0 1em;margin-inline-end:0;margin-inline-start:2em}
.dmNewParagraph[data-version] ol>li:before,.dmNewParagraph[data-version] ul>li:before{min-width:1em;display:inline-block;margin-right:.5em;margin-inline-start:0;margin-inline-end:.5em;text-align:right;text-align:end}
.dmNewParagraph[data-version] ul .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ul .ql-indent-1:before{font-weight:700;content:"○"}
.dmNewParagraph[data-version] ul .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ul .ql-indent-2:before,.dmNewParagraph[data-version] ul .ql-indent-3:before,.dmNewParagraph[data-version] ul .ql-indent-4:before,.dmNewParagraph[data-version] ul .ql-indent-5:before,.dmNewParagraph[data-version] ul .ql-indent-6:before,.dmNewParagraph[data-version] ul .ql-indent-7:before,.dmNewParagraph[data-version] ul .ql-indent-8:before,.dmNewParagraph[data-version] ul .ql-indent-9:before{font-weight:700;content:"■"}
.dmNewParagraph[data-version] ul .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ul .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}
.dmNewParagraph[data-version] ul .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ul .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}
.dmNewParagraph[data-version] ul .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ul .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ul .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}
.dmNewParagraph[data-version] ul>li:before{font-weight:700;content:"•";font-family:Arial}.dmNewParagraph[data-version] ul.custom-list-1>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"○";transform:scale(1);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-2>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"★";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-3>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"➞";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-4>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"＋";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-5>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"－";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-6>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✓";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-7>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✗";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ol .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ol .ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ol .ql-indent-2:before{content:counter(list-2,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ol .ql-indent-3:before{content:counter(list-3,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}.dmNewParagraph[data-version] ol .ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ol .ql-indent-5:before{content:counter(list-5,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}.dmNewParagraph[data-version] ol .ql-indent-6:before{content:counter(list-6,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ol .ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ol .ql-indent-8:before{content:counter(list-8,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}.dmNewParagraph[data-version] ol .ql-indent-9:before{content:counter(list-9,decimal) ". "}
.dmNewParagraph[data-version] ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.dmNewParagraph[data-version] ol li:before{content:counter(list-0,decimal) ". "}
.dmNewParagraph[data-version] a{vertical-align:initial}@media(min-width:768px) and (max-width:1024px){.dmNewParagraph[data-version] .t-text-align-left{text-align:left!important}.dmNewParagraph[data-version] .t-text-align-center{text-align:center!important}
.dmNewParagraph[data-version] .t-text-align-right{text-align:right!important}.dmNewParagraph[data-version] .t-text-align-justify{text-align:justify!important}}@media(max-width:767px){.dmRoot .dmNewParagraph[data-version] .m-text-align-left{text-align:left!important}
.dmRoot .dmNewParagraph[data-version] .m-text-align-center{text-align:center!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-right{text-align:right!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-justify{text-align:justify!important}
}.inlineBindingLink{color:inherit!important;text-decoration:inherit!important}/**/.graphicWidget{width:200px;height:200px;margin:10px auto;text-align:center}.graphicWidget svg.svg{width:100%;height:100%;color:#000;fill:#000}.graphicWidgetV2{width:60px;height:60px}.graphicWidgetV3{font-size:0}/**/.imageWidget{position:relative}.imageWidget a,.imageWidget span.image-caption{font-style:italic;text-align:center}.imageWidget a[data-caption]::after,.imageWidget span[data-caption]::after{content:attr(data-caption);display:block;line-height:100%}
.imageWidget.with-caption a::after,.imageWidget.with-caption span.image-caption::after{margin-top:12px}.imageWidget img[width][height]{height:auto}[data-flex-site] #fcontainer .imageWidget:after,[data-flex-site] #flex-footer .imageWidget:after,[data-flex-site] #flex-header .imageWidget:after{content:none}
[data-flex-site] #fcontainer .imageWidget:before,[data-flex-site] #flex-footer .imageWidget:before,[data-flex-site] #flex-header .imageWidget:before{font-size:80px;transform:none}.imageWidget.hover img.hover-image,.imageWidget:hover img.hover-image{display:initial}
.imageWidget.hover.hasHover img:not(.hover-image),.imageWidget:hover.hasHover img:not(.hover-image){display:none!important}.imageWidget img.hover-image,.imageWidget img.logo-on-scroll{display:none}
/* Custom Widgets Styles */
/*
 * ================================================================
 * About Service Card Widget
 * © Haywood Creative — www.haywoodcreative.co
 * ================================================================
 */

.widget-ff560d {
  /* ============================
     CSS VARIABLES
  ============================ */
  --ac-primary:       #404868;
  --ac-primary-dark:  #2e3450;
  --ac-primary-light: rgba(64, 72, 104, 0.1);
  --ac-primary-glow:  rgba(64, 72, 104, 0.28);
  --ac-book:          #b49c84;
  --ac-book-dark:     #9a8570;
  --ac-book-light:    rgba(180, 156, 132, 0.12);
  --ac-book-glow:     rgba(180, 156, 132, 0.38);
  --ac-text:          #1e2235;
  --ac-text-light:    #6b7280;
  --ac-text-muted:    #9ca3af;
  --ac-bg-card:       #ffffff;
  --ac-border:        #e5e7eb;
  --ac-radius:        20px;
  --ac-shadow:        0 4px 24px rgba(64, 72, 104, 0.08);
  --ac-shadow-hover:  0 12px 40px rgba(64, 72, 104, 0.18);
  --ac-transition:    0.38s cubic-bezier(0.4, 0, 0.2, 1);
  --ac-tab-radius:    50px;
  --ac-swipe-dur:     0.42s;

  font-family: inherit;
  color: var(--ac-text);
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;

  /* ============================
     ACCESSIBILITY UTILITY
  ============================ */
  .ac-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
  }

  /* ============================
     WIDGET WRAPPER
  ============================ */
  .ac-widget-wrapper {
    width: 100%;
    padding: clamp(24px, 5vw, 56px) clamp(16px, 4vw, 32px);
    background: transparent;
    box-sizing: border-box;
  }

  .ac-widget-inner {
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
  }

  /* ============================
     WIDGET HEADER
  ============================ */
  .ac-widget-header {
    text-align: center;
    margin-bottom: clamp(24px, 4vw, 40px);
    animation: ac-fade-up 0.6s ease both;
  }

  .ac-widget-title {
    font-size: clamp(1.6rem, 4vw, 2.6rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ac-text);
    margin: 0 0 8px;
    line-height: 1.15;
  }

  .ac-widget-subtitle {
    font-size: clamp(0.9rem, 2vw, 1rem);
    color: var(--ac-text-light);
    margin: 0;
    font-weight: 400;
    letter-spacing: 0.01em;
  }

  /* ============================
     TABS BAR
  ============================ */
  .ac-tabs-bar {
    position: relative;
    display: flex;
    gap: 4px;
    background: #fff;
    border-radius: var(--ac-tab-radius);
    padding: 5px;
    margin-bottom: clamp(16px, 3vw, 28px);
    box-shadow: 0 2px 12px rgba(64, 72, 104, 0.08);
    border: 1px solid var(--ac-border);
    animation: ac-fade-up 0.65s 0.1s ease both;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap;
    width: 100%;
    box-sizing: border-box;

    &::-webkit-scrollbar { display: none; }
  }

  .ac-tab-btn {
    flex: 1;
    min-width: max-content;
    position: relative;
    z-index: 1;
    padding: clamp(8px, 1.5vw, 10px) clamp(12px, 2vw, 22px);
    border: none;
    background: transparent;
    border-radius: calc(var(--ac-tab-radius) - 4px);
    font-size: clamp(0.74rem, 1.4vw, 0.9rem);
    font-weight: 600;
    color: var(--ac-text-light);
    cursor: pointer;
    transition: color var(--ac-transition), background var(--ac-transition), box-shadow var(--ac-transition);
    white-space: nowrap;
    letter-spacing: 0.01em;

    &.active {
      color: #fff;
      background: var(--ac-primary);
      box-shadow: 0 4px 16px var(--ac-primary-glow);
    }

    &:not(.active):hover {
      color: var(--ac-primary);
      background: var(--ac-primary-light);
    }

    &:focus-visible {
      outline: 2px solid var(--ac-primary);
      outline-offset: 2px;
    }
  }

  /* ============================
     TAB PANELS
  ============================ */
  .ac-tab-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    height: 0;
    overflow: hidden;

    &.active {
      position: relative;
      height: auto;
      overflow: visible;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    &.entering-tab-right { animation: ac-slide-tab-right 0.38s cubic-bezier(0.4, 0, 0.2, 1) both; }
    &.entering-tab-left  { animation: ac-slide-tab-left  0.38s cubic-bezier(0.4, 0, 0.2, 1) both; }
    &.entering-tab-fade  { animation: ac-fade-in-panel   0.42s cubic-bezier(0.4, 0, 0.2, 1) both; }
  }

  /* FER + ST + ABFT + CH + MBT tab panels: always use block layout when active */
  .ac-fer-tab-panel,
  .ac-st-tab-panel,
  .ac-abft-tab-panel,
  .ac-ch-tab-panel,
  .ac-mbt-tab-panel {
    &.active {
      display: block;
    }
  }

  .ac-tab-panels-container {
    position: relative;
  }

  /* ============================
     CARDS VIEWPORT & TRACK
  ============================ */
  .ac-cards-viewport {
    overflow: hidden;
    border-radius: var(--ac-radius);
  }

  .ac-cards-track {
    display: flex;
  }

  /* ============================
     SERVICE CARD
  ============================ */
  .ac-card {
    flex: 0 0 100%;
    min-width: 0;
    background: var(--ac-bg-card);
    border-radius: var(--ac-radius);
    box-shadow: var(--ac-shadow);
    overflow: hidden;
    contain: layout style;
    transition: box-shadow var(--ac-transition);
    border: 1px solid var(--ac-border);

    &:hover { box-shadow: var(--ac-shadow-hover); }
  }

  .ac-card-layout {
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 420px;
  }

  /* ============================
     CARD IMAGE
  ============================ */
  .ac-card-image-wrap {
    position: relative;
    margin: 0;
    overflow: hidden;
    background: #e8e4df;

    &::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.22) 50%, transparent 70%);
      transform: translateX(-100%);
      transition: transform 0.7s ease;
    }

    &:hover::after { transform: translateX(100%); }
  }

  .ac-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .ac-card:hover .ac-card-image { transform: scale(1.04); }

  .ac-img-shimmer {
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg, rgba(64,72,104,0.04) 0%, transparent 100%);
    pointer-events: none;
  }

  /* ============================
     CARD CONTENT
  ============================ */
  .ac-card-content {
    display: flex;
    flex-direction: column;
    padding: clamp(20px, 3vw, 32px) clamp(18px, 3vw, 28px) clamp(18px, 2.5vw, 24px);
    gap: clamp(14px, 2vw, 20px);
    min-width: 0;
  }

  .ac-card-body { flex: 1; min-width: 0; }

  .ac-service-tag {
    display: inline-block;
    padding: 4px 12px;
    background: var(--ac-primary-light);
    color: var(--ac-primary);
    font-size: 0.7rem;
    font-weight: 700;
    border-radius: 50px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 10px;
    animation: ac-pop 0.5s 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  }

  .ac-service-name {
    font-size: clamp(1.1rem, 2.5vw, 1.75rem);
    font-weight: 800;
    color: var(--ac-text);
    margin: 0 0 6px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    word-break: break-word;
  }

  .ac-service-tagline {
    font-size: clamp(0.82rem, 1.5vw, 0.92rem);
    color: var(--ac-primary);
    font-weight: 600;
    margin: 0 0 10px;
    letter-spacing: 0.01em;
  }

  .ac-service-desc {
    font-size: clamp(0.82rem, 1.5vw, 0.9rem);
    color: var(--ac-text-light);
    line-height: 1.7;
    margin: 0;
    p { margin: 0; }
  }

  /* ============================
     NAVIGATION ARROWS
  ============================ */
  .ac-card-nav {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
  }

  .ac-arrow-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(34px, 5vw, 40px);
    height: clamp(34px, 5vw, 40px);
    background: #fff;
    border: 1.5px solid var(--ac-border);
    border-radius: 50%;
    cursor: pointer;
    color: var(--ac-primary);
    transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    flex-shrink: 0;

    &::before {
      content: '';
      position: absolute;
      inset: 0;
      background: var(--ac-primary);
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
      border-radius: inherit;
      z-index: 0;
    }

    svg { position: relative; z-index: 1; transition: color 0.28s ease; }

    &:hover::before { transform: scaleX(1); }
    &:hover {
      color: #fff;
      border-color: var(--ac-primary);
      box-shadow: 0 4px 14px var(--ac-primary-glow);
      transform: scale(1.08);
    }
    &:focus-visible { outline: 2px solid var(--ac-primary); outline-offset: 3px; }
    &:disabled {
      opacity: 0.3;
      cursor: not-allowed;
      transform: none;
      box-shadow: none;
      &::before { display: none; }
    }
  }

  .ac-card-counter {
    font-size: 0.8rem;
    color: var(--ac-text-muted);
    font-weight: 600;
    letter-spacing: 0.04em;
    min-width: 40px;
    text-align: center;
    flex-shrink: 0;
  }

  /* ============================
     CARD FOOTER
  ============================ */
  .ac-card-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 2px;
    flex-wrap: wrap;
  }

  /* ============================
     SHARE BUTTON & PANEL
  ============================ */
  .ac-share-wrapper { position: relative; }

  .ac-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: clamp(7px, 1.2vw, 9px) clamp(14px, 2vw, 18px);
    border: 1.5px solid var(--ac-border);
    border-radius: 50px;
    background: #fff;
    color: var(--ac-text);
    font-size: clamp(0.78rem, 1.4vw, 0.85rem);
    font-weight: 600;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    white-space: nowrap;

    &::before {
      content: '';
      position: absolute;
      inset: 0;
      background: var(--ac-primary);
      transform: translateX(-101%);
      transition: transform var(--ac-swipe-dur) cubic-bezier(0.4, 0, 0.2, 1);
      z-index: 0;
    }

    span, svg { position: relative; z-index: 1; transition: color 0.3s ease; }

    &:hover::before { transform: translateX(0); }
    &:hover { border-color: var(--ac-primary); color: #fff; box-shadow: 0 4px 16px var(--ac-primary-glow); }
    &:focus-visible { outline: 2px solid var(--ac-primary); outline-offset: 3px; }
    &[aria-expanded="true"] { background: var(--ac-primary); color: #fff; border-color: var(--ac-primary); }
  }

  .ac-share-panel {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 0;
    min-width: 175px;
    background: #fff;
    border: 1px solid var(--ac-border);
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(64, 72, 104, 0.14);
    padding: 8px;
    z-index: 200;
    opacity: 0;
    transform: translateY(8px) scale(0.96);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);

    &.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
  }

  .ac-share-action {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border: none;
    background: transparent;
    color: var(--ac-text);
    font-size: 0.84rem;
    font-weight: 500;
    cursor: pointer;
    border-radius: 8px;
    text-decoration: none;
    width: 100%;
    text-align: left;
    transition: background 0.18s ease, color 0.18s ease;

    &:hover { background: var(--ac-primary-light); color: var(--ac-primary); }
    &:focus-visible { outline: 2px solid var(--ac-primary); outline-offset: 2px; }
  }

  /* ============================
     BOOK BUTTON
  ============================ */
  .ac-book-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: clamp(8px, 1.2vw, 10px) clamp(18px, 2.5vw, 28px);
    background: var(--ac-book);
    color: #fff;
    border: none;
    border-radius: 50px;
    font-size: clamp(0.78rem, 1.4vw, 0.88rem);
    font-weight: 700;
    cursor: pointer;
    letter-spacing: 0.02em;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    white-space: nowrap;

    &::before {
      content: '';
      position: absolute;
      inset: 0;
      background: var(--ac-book-dark);
      transform: translateX(-101%);
      transition: transform var(--ac-swipe-dur) cubic-bezier(0.4, 0, 0.2, 1);
      z-index: 0;
    }

    span, * { position: relative; z-index: 1; }

    &:hover::before { transform: translateX(0); }
    &:hover { box-shadow: 0 6px 20px var(--ac-book-glow); transform: translateY(-1px); }
    &:focus-visible { outline: 2px solid var(--ac-book); outline-offset: 3px; }
    &.ac-pulse { animation: ac-pulse 0.6s cubic-bezier(0.4, 0, 0.2, 1); }
  }

  /* ============================
     DOT INDICATORS
  ============================ */
  .ac-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
    padding: 4px;
  }

  .ac-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ac-border);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;

    &.active { width: 24px; border-radius: 50px; background: var(--ac-primary); }
    &:hover:not(.active) { background: var(--ac-text-light); transform: scale(1.2); }
    &:focus-visible { outline: 2px solid var(--ac-primary); outline-offset: 3px; }
  }

  /* ============================
     ATTRIBUTION
  ============================ */
  .ac-attribution {
    text-align: center;
    margin: 20px 0 0;
    font-size: 0.72rem;
    color: var(--ac-text-muted);
    letter-spacing: 0.03em;

    a {
      color: inherit;
      text-decoration: none;
      transition: color 0.2s ease;
      &:hover { color: var(--ac-primary); }
    }
  }

  /* ============================
     COPY TOAST
  ============================ */
  .ac-copy-toast {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(60px);
    background: var(--ac-primary);
    color: #fff;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
    z-index: 9999;
    opacity: 0;
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;
    box-shadow: 0 6px 24px var(--ac-primary-glow);
    white-space: nowrap;

    &.show { opacity: 1; transform: translateX(-50%) translateY(0); }
  }

  /* ============================
     HIDDEN SEO META
  ============================ */
  meta.ac-seo-meta { display: none; }

  /* ============================
     KEYFRAMES
  ============================ */
  @keyframes ac-fade-up {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  @keyframes ac-pop {
    from { opacity: 0; transform: scale(0.6); }
    to   { opacity: 1; transform: scale(1); }
  }
  @keyframes ac-pulse {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.07); }
    70%  { transform: scale(0.97); }
    100% { transform: scale(1); }
  }
  @keyframes ac-slide-tab-right {
    from { opacity: 0; transform: translateX(40px); }
    to   { opacity: 1; transform: translateX(0); }
  }
  @keyframes ac-slide-tab-left {
    from { opacity: 0; transform: translateX(-40px); }
    to   { opacity: 1; transform: translateX(0); }
  }
  @keyframes ac-fade-in-panel {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* ======================================================
     SCHEMA THERAPY — Rich Content Panel
  ====================================================== */

  .ac-st-panel {
    background: var(--ac-bg-card);
    border-radius: var(--ac-radius);
    border: 1px solid var(--ac-border);
    box-shadow: var(--ac-shadow);
    overflow: visible;
  }

  /* === Hero Banner === */
  .ac-st-hero {
    background: linear-gradient(135deg, #3d5a80 0%, #2c4a6e 100%);
    padding: clamp(28px, 5vw, 44px) clamp(24px, 5vw, 40px) clamp(24px, 4vw, 36px);
    color: #fff;
    position: relative;
    overflow: hidden;
    border-radius: var(--ac-radius) var(--ac-radius) 0 0;

    &::before {
      content: '';
      position: absolute;
      top: -40%;
      right: -10%;
      width: 55%;
      height: 200%;
      background: rgba(255,255,255,0.04);
      border-radius: 50%;
      pointer-events: none;
    }
  }

  .ac-st-badge {
    display: inline-block;
    padding: 4px 12px;
    background: rgba(180,156,132,0.28);
    color: #e8d9c8;
    font-size: 0.68rem;
    font-weight: 700;
    border-radius: 50px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 12px;
  }

  .ac-st-title {
    font-size: clamp(1.3rem, 3.5vw, 2.1rem);
    font-weight: 800;
    color: #fff !important;
    margin: 0 0 12px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    max-width: 640px;
  }

  .ac-st-lead {
    font-size: clamp(0.86rem, 1.8vw, 1rem);
    color: rgba(255,255,255,0.82);
    line-height: 1.65;
    margin: 0 0 20px;
    max-width: 640px;
  }

  .ac-st-hero-cred {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 4px;
    flex-wrap: wrap;
  }

  .ac-st-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid rgba(255,255,255,0.28);
    box-shadow: 0 2px 12px rgba(0,0,0,0.22);
    background: rgba(255,255,255,0.1);
  }

  .ac-st-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .ac-st-cred-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
  }

  .ac-st-cred-name {
    font-size: clamp(0.8rem, 1.5vw, 0.9rem);
    font-weight: 700;
    color: rgba(255,255,255,0.95);
    line-height: 1.2;
    letter-spacing: 0.01em;
  }

  .ac-st-cred-detail {
    font-size: clamp(0.7rem, 1.3vw, 0.78rem);
    color: rgba(255,255,255,0.58);
    line-height: 1.5;
    word-break: break-word;
  }

  /* === Two-column body === */
  .ac-st-body {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 0;
    align-items: start;
  }

  /* === Main column === */
  .ac-st-main {
    padding: clamp(24px, 4vw, 36px) clamp(24px, 4vw, 36px) clamp(28px, 4vw, 40px);
    border-right: 1px solid var(--ac-border);
    min-width: 0;
  }

  .ac-st-section {
    margin-bottom: clamp(24px, 3.5vw, 32px);

    &:last-child { margin-bottom: 0; }
  }

  .ac-st-section-title {
    font-size: clamp(0.92rem, 2vw, 1.08rem);
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 12px;
    letter-spacing: -0.01em;
  }

  .ac-st-p {
    font-size: clamp(0.82rem, 1.6vw, 0.91rem);
    color: var(--ac-text-light);
    line-height: 1.72;
    margin: 0 0 12px;

    &:last-child { margin-bottom: 0; }

    strong { color: var(--ac-text); font-weight: 600; }
  }

  /* === Accordion === */
  .ac-st-accordion-section {
    border: 1px solid var(--ac-border);
    border-radius: 14px;
    overflow: hidden;
  }

  .ac-st-accordion-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: clamp(13px, 2vw, 18px) clamp(14px, 2.5vw, 22px);
    background: #fafafa;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 12px;
    transition: background 0.2s ease;

    &:hover { background: var(--ac-primary-light); }
    &:focus-visible { outline: 2px solid var(--ac-primary); outline-offset: -2px; }

    .ac-st-section-title { margin: 0; flex: 1; }
  }

  .ac-st-accordion-trigger[aria-expanded="true"] {
    background: var(--ac-primary-light);

    .ac-st-chevron { transform: rotate(180deg); }
  }

  .ac-st-chevron {
    color: var(--ac-primary);
    flex-shrink: 0;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .ac-st-accordion-body {
    padding: clamp(14px, 2.5vw, 22px) clamp(14px, 2.5vw, 22px) clamp(16px, 2.5vw, 24px);
    border-top: 1px solid var(--ac-border);
  }

  /* === Therapy Triad cards === */
  .ac-st-triad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 16px;
  }

  .ac-st-triad-item {
    background: #fafafa;
    border: 1px solid var(--ac-border);
    border-radius: 12px;
    padding: 14px;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
    text-align: center;

    &:hover {
      box-shadow: 0 4px 16px var(--ac-primary-light);
      border-color: rgba(64,72,104,0.25);
    }
  }

  .ac-st-triad-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--ac-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ac-primary);
    margin: 0 auto 10px;
    flex-shrink: 0;
  }

  .ac-st-triad-name {
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 6px;
    letter-spacing: -0.01em;
  }

  .ac-st-triad-desc {
    font-size: 0.77rem;
    color: var(--ac-text-light);
    line-height: 1.6;
    margin: 0;
  }

  /* === Integrative Roots grid === */
  .ac-st-roots-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
  }

  .ac-st-root-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    background: #fafafa;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    transition: border-color 0.2s ease, background 0.2s ease;

    &:hover { background: var(--ac-primary-light); border-color: rgba(64,72,104,0.2); }
  }

  .ac-st-root-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ac-primary);
    flex-shrink: 0;
    margin-top: 5px;
  }

  .ac-st-root-name {
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 3px;
  }

  .ac-st-root-desc {
    font-size: 0.78rem;
    color: var(--ac-text-light);
    line-height: 1.55;
    margin: 0;
  }

  /* === Recommended Reading === */
  .ac-st-books {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .ac-st-book {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    background: #fafafa;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    transition: border-color 0.2s ease, background 0.2s ease;
    text-decoration: none;

    &:hover { background: var(--ac-primary-light); border-color: rgba(64,72,104,0.2); }
  }

  .ac-st-book-icon {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: var(--ac-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ac-primary);
    flex-shrink: 0;
  }

  .ac-st-book-text {
    flex: 1;
    min-width: 0;
  }

  .ac-st-book-title {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 2px;
  }

  .ac-st-book-author {
    font-size: 0.78rem;
    color: var(--ac-text-muted);
    margin: 0;
  }

  .ac-st-book-arrow {
    color: var(--ac-text-muted);
    flex-shrink: 0;
    transition: color 0.2s ease, transform 0.2s ease;
  }

  .ac-st-book--linked:hover .ac-st-book-arrow {
    color: var(--ac-primary);
    transform: translateX(3px);
  }

  /* === Sidebar === */
  .ac-st-sidebar {
    padding: clamp(22px, 4vw, 32px) clamp(20px, 3vw, 30px) clamp(26px, 4vw, 36px);
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-self: start;
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    overflow-x: visible;
    scrollbar-width: thin;
    scrollbar-color: var(--ac-border) transparent;

    &::-webkit-scrollbar { width: 4px; }
    &::-webkit-scrollbar-track { background: transparent; }
    &::-webkit-scrollbar-thumb { background: var(--ac-border); border-radius: 4px; }
  }

  .ac-st-sidebar-card {
    border-radius: 14px;
    overflow: visible;
    border: 1px solid var(--ac-border);
    background: #fff;
    box-shadow: 0 2px 12px rgba(64,72,104,0.06);
    flex-shrink: 0;
  }

  .ac-st-sidebar-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--ac-border);
  }

  .ac-st-sidebar-schemas .ac-st-sidebar-card-header {
    background: linear-gradient(135deg, rgba(61,90,128,0.08) 0%, rgba(61,90,128,0.02) 100%);
  }

  .ac-st-sidebar-training .ac-st-sidebar-card-header {
    background: linear-gradient(135deg, rgba(180,156,132,0.1) 0%, rgba(180,156,132,0.03) 100%);
  }

  .ac-st-sidebar-icon {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: rgba(61,90,128,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3d5a80;
    flex-shrink: 0;
  }

  .ac-st-sidebar-icon--book {
    background: var(--ac-book-light);
    color: var(--ac-book);
  }

  .ac-st-sidebar-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0;
    letter-spacing: -0.01em;
  }

  /* Sidebar body padding */
  .ac-st-sidebar-body {
    padding: 12px 14px 14px;
  }

  .ac-st-sidebar-intro {
    font-size: 0.78rem;
    color: var(--ac-text-light);
    line-height: 1.6;
    margin: 0 0 10px;

    strong { color: var(--ac-text); font-weight: 600; }
  }

  /* 18 schemas list */
  .ac-st-schema-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }

  .ac-st-schema-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.73rem;
    color: var(--ac-text-light);
    padding: 5px 2px;
    border-bottom: 1px solid var(--ac-border);
    line-height: 1.4;

    &:nth-last-child(-n+2) { border-bottom: none; }
  }

  .ac-st-schema-check {
    color: #3d5a80;
    flex-shrink: 0;
    margin-top: 1px;
  }

  /* Training list */
  .ac-st-training-body {
    padding: 10px 14px 12px;
  }

  .ac-st-training-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .ac-st-training-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--ac-text-light);
    line-height: 1.45;
    padding: 8px 0;
    border-bottom: 1px solid var(--ac-border);

    &:last-child { border-bottom: none; }

    strong { color: var(--ac-text); font-weight: 600; }
  }

  .ac-st-training-check {
    color: var(--ac-book);
    flex-shrink: 0;
    margin-top: 2px;
  }

  /* ======================================================
     PANEL NAVIGATION FOOTER (shared across all panels)
  ====================================================== */

  .ac-panel-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px clamp(24px, 4vw, 36px) 24px;
    border-top: 1px solid var(--ac-border);
    gap: 12px;
  }

  .ac-panel-nav__spacer {
    flex: 1;
  }

  /* Base button */
  .ac-panel-nav__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    border: none;
    border-radius: 50px;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.22s cubic-bezier(0.4,0,0.2,1),
                box-shadow 0.22s cubic-bezier(0.4,0,0.2,1),
                background 0.22s ease;
    -webkit-tap-highlight-color: transparent;
    white-space: nowrap;
  }

  /* Next button — filled primary */
  .ac-panel-nav__next {
    background: var(--ac-primary);
    color: #fff;
    box-shadow: 0 3px 14px var(--ac-primary-glow);
  }

  .ac-panel-nav__next:hover {
    background: var(--ac-primary-dark);
    transform: translateX(3px);
    box-shadow: 0 6px 22px var(--ac-primary-glow);
  }

  .ac-panel-nav__next:active {
    transform: translateX(6px) scale(0.97);
  }

  /* Back button — ghost */
  .ac-panel-nav__back {
    background: transparent;
    color: var(--ac-text-light);
    box-shadow: none;
    border: 1.5px solid var(--ac-border);
  }

  .ac-panel-nav__back:hover {
    color: var(--ac-text);
    border-color: var(--ac-primary);
    transform: translateX(-3px);
    background: var(--ac-primary-light);
  }

  .ac-panel-nav__back:active {
    transform: translateX(-6px) scale(0.97);
  }

  /* Arrow icons */
  .ac-panel-nav__arrow {
    flex-shrink: 0;
    transition: transform 0.22s cubic-bezier(0.4,0,0.2,1);
  }

  .ac-panel-nav__next:hover .ac-panel-nav__arrow {
    transform: translateX(4px);
  }

  .ac-panel-nav__back:hover .ac-panel-nav__arrow--back {
    transform: translateX(-4px);
  }

  /* Shimmer sweep animation */
  .ac-panel-nav__shimmer {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      105deg,
      transparent 30%,
      rgba(255,255,255,0.30) 50%,
      transparent 70%
    );
    background-size: 200% 100%;
    background-position: -100% 0;
    pointer-events: none;
    border-radius: inherit;
    animation: ac-panel-shimmer 2.8s ease-in-out infinite;
  }

  .ac-panel-nav__back .ac-panel-nav__shimmer {
    background: linear-gradient(
      105deg,
      transparent 30%,
      rgba(64,72,104,0.10) 50%,
      transparent 70%
    );
    background-size: 200% 100%;
    background-position: -100% 0;
    animation: ac-panel-shimmer 3.4s ease-in-out infinite 0.6s;
  }

  @keyframes ac-panel-shimmer {
    0%   { background-position: -100% 0; opacity: 0; }
    10%  { opacity: 1; }
    60%  { background-position: 200% 0; opacity: 1; }
    70%  { opacity: 0; }
    100% { background-position: 200% 0; opacity: 0; }
  }

  /* ======================================================
     ATTACHMENT-BASED FAMILY THERAPY (ABFT) — Rich Content Panel
  ====================================================== */

  .ac-abft-panel {
    background: var(--ac-bg-card);
    border-radius: var(--ac-radius);
    border: 1px solid var(--ac-border);
    box-shadow: var(--ac-shadow);
    overflow: visible;
  }

  /* === Hero Banner === */
  .ac-abft-hero {
    background: linear-gradient(135deg, #4a6741 0%, #344d2f 100%);
    padding: clamp(28px, 5vw, 44px) clamp(24px, 5vw, 40px) clamp(24px, 4vw, 36px);
    color: #fff;
    position: relative;
    overflow: hidden;
    border-radius: var(--ac-radius) var(--ac-radius) 0 0;

    &::before {
      content: '';
      position: absolute;
      top: -40%;
      right: -10%;
      width: 55%;
      height: 200%;
      background: rgba(255,255,255,0.04);
      border-radius: 50%;
      pointer-events: none;
    }
  }

  .ac-abft-badge {
    display: inline-block;
    padding: 4px 12px;
    background: rgba(180,156,132,0.28);
    color: #e8d9c8;
    font-size: 0.68rem;
    font-weight: 700;
    border-radius: 50px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 12px;
  }

  .ac-abft-title {
    font-size: clamp(1.3rem, 3.5vw, 2.1rem);
    font-weight: 800;
    color: #fff !important;
    margin: 0 0 12px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    max-width: 640px;
  }

  .ac-abft-lead {
    font-size: clamp(0.86rem, 1.8vw, 1rem);
    color: rgba(255,255,255,0.82);
    line-height: 1.65;
    margin: 0 0 20px;
    max-width: 640px;
  }

  .ac-abft-hero-cred {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 4px;
    flex-wrap: wrap;
  }

  .ac-abft-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid rgba(255,255,255,0.28);
    box-shadow: 0 2px 12px rgba(0,0,0,0.22);
    background: rgba(255,255,255,0.1);
  }

  .ac-abft-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .ac-abft-cred-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
  }

  .ac-abft-cred-name {
    font-size: clamp(0.8rem, 1.5vw, 0.9rem);
    font-weight: 700;
    color: rgba(255,255,255,0.95);
    line-height: 1.2;
    letter-spacing: 0.01em;
  }

  .ac-abft-cred-detail {
    font-size: clamp(0.7rem, 1.3vw, 0.78rem);
    color: rgba(255,255,255,0.58);
    line-height: 1.5;
    word-break: break-word;
  }

  /* === Two-column body === */
  .ac-abft-body {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 0;
    align-items: start;
  }

  /* === Main column === */
  .ac-abft-main {
    padding: clamp(24px, 4vw, 36px) clamp(24px, 4vw, 36px) clamp(28px, 4vw, 40px);
    border-right: 1px solid var(--ac-border);
    min-width: 0;
  }

  .ac-abft-section {
    margin-bottom: clamp(24px, 3.5vw, 32px);

    &:last-child { margin-bottom: 0; }
  }

  .ac-abft-section-title {
    font-size: clamp(0.92rem, 2vw, 1.08rem);
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 12px;
    letter-spacing: -0.01em;
  }

  .ac-abft-p {
    font-size: clamp(0.82rem, 1.6vw, 0.91rem);
    color: var(--ac-text-light);
    line-height: 1.72;
    margin: 0 0 12px;

    &:last-child { margin-bottom: 0; }

    strong { color: var(--ac-text); font-weight: 600; }
  }

  /* === Accordion === */
  .ac-abft-accordion-section {
    border: 1px solid var(--ac-border);
    border-radius: 14px;
    overflow: hidden;
  }

  .ac-abft-accordion-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: clamp(13px, 2vw, 18px) clamp(14px, 2.5vw, 22px);
    background: #fafafa;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 12px;
    transition: background 0.2s ease;

    &:hover { background: var(--ac-primary-light); }
    &:focus-visible { outline: 2px solid var(--ac-primary); outline-offset: -2px; }

    .ac-abft-section-title { margin: 0; flex: 1; }
  }

  .ac-abft-accordion-trigger[aria-expanded="true"] {
    background: var(--ac-primary-light);

    .ac-abft-chevron { transform: rotate(180deg); }
  }

  .ac-abft-chevron {
    color: var(--ac-primary);
    flex-shrink: 0;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .ac-abft-accordion-body {
    padding: clamp(14px, 2.5vw, 22px) clamp(14px, 2.5vw, 22px) clamp(16px, 2.5vw, 24px);
    border-top: 1px solid var(--ac-border);
  }

  /* === Applications grid === */
  .ac-abft-apps-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 14px;
  }

  .ac-abft-app-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    background: #fafafa;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    transition: border-color 0.2s ease, background 0.2s ease;

    &:hover { background: rgba(74,103,65,0.06); border-color: rgba(74,103,65,0.22); }
  }

  .ac-abft-app-icon {
    width: 32px;
    height: 32px;
    border-radius: 7px;
    background: rgba(74,103,65,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4a6741;
    flex-shrink: 0;
    margin-top: 1px;
  }

  .ac-abft-app-name {
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 3px;
  }

  .ac-abft-app-desc {
    font-size: 0.76rem;
    color: var(--ac-text-light);
    line-height: 1.55;
    margin: 0;
  }

  /* === Life Cycle grid === */
  .ac-abft-lifecycle-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 14px;
  }

  .ac-abft-lifecycle-item {
    padding: 14px 16px;
    background: #fafafa;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    border-left: 3px solid #4a6741;
  }

  .ac-abft-lifecycle-phase {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 5px;
  }

  .ac-abft-lifecycle-desc {
    font-size: 0.77rem;
    color: var(--ac-text-light);
    line-height: 1.6;
    margin: 0;
  }

  /* === Sidebar === */
  .ac-abft-sidebar {
    padding: clamp(22px, 4vw, 32px) clamp(20px, 3vw, 30px) clamp(26px, 4vw, 36px);
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-self: start;
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    overflow-x: visible;
    scrollbar-width: thin;
    scrollbar-color: var(--ac-border) transparent;

    &::-webkit-scrollbar { width: 4px; }
    &::-webkit-scrollbar-track { background: transparent; }
    &::-webkit-scrollbar-thumb { background: var(--ac-border); border-radius: 4px; }
  }

  .ac-abft-sidebar-card {
    border-radius: 14px;
    overflow: visible;
    border: 1px solid var(--ac-border);
    background: #fff;
    box-shadow: 0 2px 12px rgba(64,72,104,0.06);
    flex-shrink: 0;
  }

  .ac-abft-sidebar-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--ac-border);
  }

  .ac-abft-sidebar-principles .ac-abft-sidebar-card-header {
    background: linear-gradient(135deg, rgba(74,103,65,0.08) 0%, rgba(74,103,65,0.02) 100%);
  }

  .ac-abft-sidebar-training .ac-abft-sidebar-card-header {
    background: linear-gradient(135deg, rgba(180,156,132,0.1) 0%, rgba(180,156,132,0.03) 100%);
  }

  .ac-abft-sidebar-icon {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: rgba(74,103,65,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4a6741;
    flex-shrink: 0;
  }

  .ac-abft-sidebar-icon--book {
    background: var(--ac-book-light);
    color: var(--ac-book);
  }

  .ac-abft-sidebar-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0;
    letter-spacing: -0.01em;
  }

  /* Principles list */
  .ac-abft-principle-list {
    list-style: none;
    margin: 0;
    padding: 0 14px;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .ac-abft-principle-item {
    padding: 10px 0 10px 14px;
    border-bottom: 1px solid var(--ac-border);

    &:last-child { border-bottom: none; }
  }

  .ac-abft-principle-content { display: flex; flex-direction: column; gap: 3px; }

  .ac-abft-principle-headline {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0;
    line-height: 1.35;
  }

  .ac-abft-principle-sub {
    font-size: 0.76rem;
    color: var(--ac-text-light);
    line-height: 1.55;
    margin: 0;
  }

  /* Training list */
  .ac-abft-training-body {
    padding: 10px 14px 12px;
  }

  .ac-abft-training-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .ac-abft-training-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--ac-text-light);
    line-height: 1.45;
    padding: 8px 0;
    border-bottom: 1px solid var(--ac-border);

    &:last-child { border-bottom: none; }

    strong { color: var(--ac-text); font-weight: 600; }
  }

  .ac-abft-training-check {
    color: var(--ac-book);
    flex-shrink: 0;
    margin-top: 2px;
  }

  /* ======================================================
     CLINICAL HYPNOSIS — Rich Content Panel
  ====================================================== */

  .ac-ch-panel {
    background: var(--ac-bg-card);
    border-radius: var(--ac-radius);
    border: 1px solid var(--ac-border);
    box-shadow: var(--ac-shadow);
    overflow: visible;
  }

  /* === Hero Banner === */
  .ac-ch-hero {
    background: linear-gradient(135deg, #5c4a7a 0%, #3e2f5b 100%);
    padding: clamp(28px, 5vw, 44px) clamp(24px, 5vw, 40px) clamp(24px, 4vw, 36px);
    color: #fff;
    position: relative;
    overflow: hidden;
    border-radius: var(--ac-radius) var(--ac-radius) 0 0;

    &::before {
      content: '';
      position: absolute;
      top: -40%;
      right: -10%;
      width: 55%;
      height: 200%;
      background: rgba(255,255,255,0.04);
      border-radius: 50%;
      pointer-events: none;
    }
  }

  .ac-ch-badge {
    display: inline-block;
    padding: 4px 12px;
    background: rgba(180,156,132,0.28);
    color: #e8d9c8;
    font-size: 0.68rem;
    font-weight: 700;
    border-radius: 50px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 12px;
  }

  .ac-ch-title {
    font-size: clamp(1.3rem, 3.5vw, 2.1rem);
    font-weight: 800;
    color: #fff !important;
    margin: 0 0 12px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    max-width: 640px;
  }

  .ac-ch-lead {
    font-size: clamp(0.86rem, 1.8vw, 1rem);
    color: rgba(255,255,255,0.82);
    line-height: 1.65;
    margin: 0 0 20px;
    max-width: 640px;
  }

  .ac-ch-hero-cred {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 4px;
    flex-wrap: wrap;
  }

  .ac-ch-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid rgba(255,255,255,0.28);
    box-shadow: 0 2px 12px rgba(0,0,0,0.22);
    background: rgba(255,255,255,0.1);
  }

  .ac-ch-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .ac-ch-cred-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
  }

  .ac-ch-cred-name {
    font-size: clamp(0.8rem, 1.5vw, 0.9rem);
    font-weight: 700;
    color: rgba(255,255,255,0.95);
    line-height: 1.2;
    letter-spacing: 0.01em;
  }

  .ac-ch-cred-detail {
    font-size: clamp(0.7rem, 1.3vw, 0.78rem);
    color: rgba(255,255,255,0.58);
    line-height: 1.5;
    word-break: break-word;
  }

  /* === Two-column body === */
  .ac-ch-body {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 0;
    align-items: start;
  }

  /* === Main column === */
  .ac-ch-main {
    padding: clamp(24px, 4vw, 36px) clamp(24px, 4vw, 36px) clamp(28px, 4vw, 40px);
    border-right: 1px solid var(--ac-border);
    min-width: 0;
  }

  .ac-ch-section {
    margin-bottom: clamp(24px, 3.5vw, 32px);

    &:last-child { margin-bottom: 0; }
  }

  .ac-ch-section-title {
    font-size: clamp(0.92rem, 2vw, 1.08rem);
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 12px;
    letter-spacing: -0.01em;
  }

  .ac-ch-p {
    font-size: clamp(0.82rem, 1.6vw, 0.91rem);
    color: var(--ac-text-light);
    line-height: 1.72;
    margin: 0 0 12px;

    &:last-child { margin-bottom: 0; }

    strong { color: var(--ac-text); font-weight: 600; }
  }

  .ac-ch-p--note {
    margin-top: 16px;
    padding: 12px 14px;
    background: rgba(92,74,122,0.06);
    border-left: 3px solid #5c4a7a;
    border-radius: 0 8px 8px 0;
    font-style: italic;
  }

  /* === Accordion === */
  .ac-ch-accordion-section {
    border: 1px solid var(--ac-border);
    border-radius: 14px;
    overflow: hidden;
  }

  .ac-ch-accordion-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: clamp(13px, 2vw, 18px) clamp(14px, 2.5vw, 22px);
    background: #fafafa;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 12px;
    transition: background 0.2s ease;

    &:hover { background: var(--ac-primary-light); }
    &:focus-visible { outline: 2px solid var(--ac-primary); outline-offset: -2px; }

    .ac-ch-section-title { margin: 0; flex: 1; }
  }

  .ac-ch-accordion-trigger[aria-expanded="true"] {
    background: var(--ac-primary-light);

    .ac-ch-chevron { transform: rotate(180deg); }
  }

  .ac-ch-chevron {
    color: var(--ac-primary);
    flex-shrink: 0;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .ac-ch-accordion-body {
    padding: clamp(14px, 2.5vw, 22px) clamp(14px, 2.5vw, 22px) clamp(16px, 2.5vw, 24px);
    border-top: 1px solid var(--ac-border);
  }

  /* === Theory grid === */
  .ac-ch-theory-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
  }

  .ac-ch-theory-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    background: #fafafa;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    transition: border-color 0.2s ease, background 0.2s ease;

    &:hover { background: rgba(92,74,122,0.06); border-color: rgba(92,74,122,0.2); }
  }

  .ac-ch-theory-icon {
    width: 34px;
    height: 34px;
    border-radius: 7px;
    background: rgba(92,74,122,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5c4a7a;
    flex-shrink: 0;
    margin-top: 1px;
  }

  .ac-ch-theory-name {
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 3px;
  }

  .ac-ch-theory-desc {
    font-size: 0.78rem;
    color: var(--ac-text-light);
    line-height: 1.55;
    margin: 0;
  }

  /* === Methods list === */
  .ac-ch-methods-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
    margin-bottom: 4px;
  }

  .ac-ch-method-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 12px;
    background: #fafafa;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    transition: border-color 0.2s ease, background 0.2s ease;

    &:hover { background: rgba(92,74,122,0.06); border-color: rgba(92,74,122,0.2); }
  }

  .ac-ch-method-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #5c4a7a;
    flex-shrink: 0;
    margin-top: 5px;
  }

  .ac-ch-method-name {
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 2px;
  }

  .ac-ch-method-desc {
    font-size: 0.77rem;
    color: var(--ac-text-light);
    line-height: 1.55;
    margin: 0;
  }

  /* === Sidebar === */
  .ac-ch-sidebar {
    padding: clamp(22px, 4vw, 32px) clamp(20px, 3vw, 30px) clamp(26px, 4vw, 36px);
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-self: start;
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    overflow-x: visible;
    scrollbar-width: thin;
    scrollbar-color: var(--ac-border) transparent;

    &::-webkit-scrollbar { width: 4px; }
    &::-webkit-scrollbar-track { background: transparent; }
    &::-webkit-scrollbar-thumb { background: var(--ac-border); border-radius: 4px; }
  }

  .ac-ch-sidebar-card {
    border-radius: 14px;
    overflow: visible;
    border: 1px solid var(--ac-border);
    background: #fff;
    box-shadow: 0 2px 12px rgba(64,72,104,0.06);
    flex-shrink: 0;
  }

  .ac-ch-sidebar-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--ac-border);
  }

  .ac-ch-sidebar-aspects .ac-ch-sidebar-card-header {
    background: linear-gradient(135deg, rgba(92,74,122,0.08) 0%, rgba(92,74,122,0.02) 100%);
  }

  .ac-ch-sidebar-training .ac-ch-sidebar-card-header {
    background: linear-gradient(135deg, rgba(180,156,132,0.1) 0%, rgba(180,156,132,0.03) 100%);
  }

  .ac-ch-sidebar-icon {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: rgba(92,74,122,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5c4a7a;
    flex-shrink: 0;
  }

  .ac-ch-sidebar-icon--book {
    background: var(--ac-book-light);
    color: var(--ac-book);
  }

  .ac-ch-sidebar-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0;
    letter-spacing: -0.01em;
  }

  /* Aspects list */
  .ac-ch-aspect-list {
    list-style: none;
    margin: 0;
    padding: 0 14px;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .ac-ch-aspect-item {
    padding: 10px 0 10px 14px;
    border-bottom: 1px solid var(--ac-border);

    &:last-child { border-bottom: none; }
  }

  .ac-ch-aspect-content { display: flex; flex-direction: column; gap: 3px; }

  .ac-ch-aspect-headline {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0;
    line-height: 1.35;
  }

  .ac-ch-aspect-sub {
    font-size: 0.76rem;
    color: var(--ac-text-light);
    line-height: 1.55;
    margin: 0;
  }

  /* Training list */
  .ac-ch-training-body {
    padding: 10px 14px 12px;
  }

  .ac-ch-training-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .ac-ch-training-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--ac-text-light);
    line-height: 1.45;
    padding: 8px 0;
    border-bottom: 1px solid var(--ac-border);

    &:last-child { border-bottom: none; }

    strong { color: var(--ac-text); font-weight: 600; }
  }

  .ac-ch-training-check {
    color: var(--ac-book);
    flex-shrink: 0;
    margin-top: 2px;
  }

  /* ======================================================
     MENTALIZATION-BASED FAMILY THERAPY (MBT) — Rich Content Panel
  ====================================================== */

  .ac-mbt-panel {
    background: var(--ac-bg-card);
    border-radius: var(--ac-radius);
    border: 1px solid var(--ac-border);
    box-shadow: var(--ac-shadow);
    overflow: visible;
  }

  /* === Hero Banner === */
  .ac-mbt-hero {
    background: linear-gradient(135deg, #2e6b7a 0%, #1d4d59 100%);
    padding: clamp(28px, 5vw, 44px) clamp(24px, 5vw, 40px) clamp(24px, 4vw, 36px);
    color: #fff;
    position: relative;
    overflow: hidden;
    border-radius: var(--ac-radius) var(--ac-radius) 0 0;

    &::before {
      content: '';
      position: absolute;
      top: -40%;
      right: -10%;
      width: 55%;
      height: 200%;
      background: rgba(255,255,255,0.04);
      border-radius: 50%;
      pointer-events: none;
    }
  }

  .ac-mbt-badge {
    display: inline-block;
    padding: 4px 12px;
    background: rgba(180,156,132,0.28);
    color: #e8d9c8;
    font-size: 0.68rem;
    font-weight: 700;
    border-radius: 50px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 12px;
  }

  .ac-mbt-title {
    font-size: clamp(1.3rem, 3.5vw, 2.1rem);
    font-weight: 800;
    color: #fff !important;
    margin: 0 0 12px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    max-width: 640px;
  }

  .ac-mbt-lead {
    font-size: clamp(0.86rem, 1.8vw, 1rem);
    color: rgba(255,255,255,0.82);
    line-height: 1.65;
    margin: 0 0 20px;
    max-width: 640px;
  }

  .ac-mbt-hero-cred {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 4px;
    flex-wrap: wrap;
  }

  .ac-mbt-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid rgba(255,255,255,0.28);
    box-shadow: 0 2px 12px rgba(0,0,0,0.22);
    background: rgba(255,255,255,0.1);
  }

  .ac-mbt-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .ac-mbt-cred-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
  }

  .ac-mbt-cred-name {
    font-size: clamp(0.8rem, 1.5vw, 0.9rem);
    font-weight: 700;
    color: rgba(255,255,255,0.95);
    line-height: 1.2;
    letter-spacing: 0.01em;
  }

  .ac-mbt-cred-detail {
    font-size: clamp(0.7rem, 1.3vw, 0.78rem);
    color: rgba(255,255,255,0.58);
    line-height: 1.5;
    word-break: break-word;
  }

  /* === Two-column body === */
  .ac-mbt-body {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 0;
    align-items: start;
  }

  /* === Main column === */
  .ac-mbt-main {
    padding: clamp(24px, 4vw, 36px) clamp(24px, 4vw, 36px) clamp(28px, 4vw, 40px);
    border-right: 1px solid var(--ac-border);
    min-width: 0;
  }

  .ac-mbt-section {
    margin-bottom: clamp(24px, 3.5vw, 32px);

    &:last-child { margin-bottom: 0; }
  }

  .ac-mbt-section-title {
    font-size: clamp(0.92rem, 2vw, 1.08rem);
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 12px;
    letter-spacing: -0.01em;
  }

  .ac-mbt-p {
    font-size: clamp(0.82rem, 1.6vw, 0.91rem);
    color: var(--ac-text-light);
    line-height: 1.72;
    margin: 0 0 12px;

    &:last-child { margin-bottom: 0; }

    strong { color: var(--ac-text); font-weight: 600; }
    em { font-style: italic; }
  }

  /* === Accordion === */
  .ac-mbt-accordion-section {
    border: 1px solid var(--ac-border);
    border-radius: 14px;
    overflow: hidden;
  }

  .ac-mbt-accordion-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: clamp(13px, 2vw, 18px) clamp(14px, 2.5vw, 22px);
    background: #fafafa;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 12px;
    transition: background 0.2s ease;

    &:hover { background: var(--ac-primary-light); }
    &:focus-visible { outline: 2px solid var(--ac-primary); outline-offset: -2px; }

    .ac-mbt-section-title { margin: 0; flex: 1; }
  }

  .ac-mbt-accordion-trigger[aria-expanded="true"] {
    background: var(--ac-primary-light);

    .ac-mbt-chevron { transform: rotate(180deg); }
  }

  .ac-mbt-chevron {
    color: var(--ac-primary);
    flex-shrink: 0;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .ac-mbt-accordion-body {
    padding: clamp(14px, 2.5vw, 22px) clamp(14px, 2.5vw, 22px) clamp(16px, 2.5vw, 24px);
    border-top: 1px solid var(--ac-border);
  }

  /* === What Is Mentalization grid === */
  .ac-mbt-what-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
  }

  .ac-mbt-what-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    background: #fafafa;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    transition: border-color 0.2s ease, background 0.2s ease;

    &:hover { background: rgba(46,107,122,0.06); border-color: rgba(46,107,122,0.2); }
  }

  .ac-mbt-what-icon {
    width: 34px;
    height: 34px;
    border-radius: 7px;
    background: rgba(46,107,122,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2e6b7a;
    flex-shrink: 0;
    margin-top: 1px;
  }

  .ac-mbt-what-name {
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 3px;
  }

  .ac-mbt-what-desc {
    font-size: 0.78rem;
    color: var(--ac-text-light);
    line-height: 1.55;
    margin: 0;
  }

  /* === How MBT Works steps === */
  .ac-mbt-steps-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
  }

  .ac-mbt-step-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 14px;
    background: #fafafa;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    transition: border-color 0.2s ease, background 0.2s ease;

    &:hover { background: rgba(46,107,122,0.06); border-color: rgba(46,107,122,0.2); }
  }

  .ac-mbt-step-num {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #2e6b7a;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
  }

  .ac-mbt-step-name {
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 3px;
  }

  .ac-mbt-step-desc {
    font-size: 0.78rem;
    color: var(--ac-text-light);
    line-height: 1.55;
    margin: 0;
  }

  /* === Sidebar === */
  .ac-mbt-sidebar {
    padding: clamp(22px, 4vw, 32px) clamp(20px, 3vw, 30px) clamp(26px, 4vw, 36px);
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-self: start;
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    overflow-x: visible;
    scrollbar-width: thin;
    scrollbar-color: var(--ac-border) transparent;

    &::-webkit-scrollbar { width: 4px; }
    &::-webkit-scrollbar-track { background: transparent; }
    &::-webkit-scrollbar-thumb { background: var(--ac-border); border-radius: 4px; }
  }

  .ac-mbt-sidebar-card {
    border-radius: 14px;
    overflow: visible;
    border: 1px solid var(--ac-border);
    background: #fff;
    box-shadow: 0 2px 12px rgba(64,72,104,0.06);
    flex-shrink: 0;
  }

  .ac-mbt-sidebar-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--ac-border);
  }

  .ac-mbt-sidebar-goals .ac-mbt-sidebar-card-header {
    background: linear-gradient(135deg, rgba(46,107,122,0.08) 0%, rgba(46,107,122,0.02) 100%);
  }

  .ac-mbt-sidebar-training .ac-mbt-sidebar-card-header {
    background: linear-gradient(135deg, rgba(180,156,132,0.1) 0%, rgba(180,156,132,0.03) 100%);
  }

  .ac-mbt-sidebar-icon {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: rgba(46,107,122,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2e6b7a;
    flex-shrink: 0;
  }

  .ac-mbt-sidebar-icon--book {
    background: var(--ac-book-light);
    color: var(--ac-book);
  }

  .ac-mbt-sidebar-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0;
    letter-spacing: -0.01em;
  }

  /* Goals list */
  .ac-mbt-goal-list {
    list-style: none;
    margin: 0;
    padding: 0 14px;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .ac-mbt-goal-item {
    padding: 10px 0 10px 14px;
    border-bottom: 1px solid var(--ac-border);

    &:last-child { border-bottom: none; }
  }

  .ac-mbt-goal-content { display: flex; flex-direction: column; gap: 3px; }

  .ac-mbt-goal-headline {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0;
    line-height: 1.35;
  }

  .ac-mbt-goal-sub {
    font-size: 0.76rem;
    color: var(--ac-text-light);
    line-height: 1.55;
    margin: 0;
  }

  /* Training list */
  .ac-mbt-training-body {
    padding: 10px 14px 12px;
  }

  .ac-mbt-training-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .ac-mbt-training-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--ac-text-light);
    line-height: 1.45;
    padding: 8px 0;
    border-bottom: 1px solid var(--ac-border);

    &:last-child { border-bottom: none; }

    strong { color: var(--ac-text); font-weight: 600; }
  }

  .ac-mbt-training-check {
    color: var(--ac-book);
    flex-shrink: 0;
    margin-top: 2px;
  }

  /* ======================================================
     FAMILY ESTRANGEMENT REPAIR — Rich Content Panel
  ====================================================== */

  .ac-fer-panel {
    background: var(--ac-bg-card);
    border-radius: var(--ac-radius);
    border: 1px solid var(--ac-border);
    box-shadow: var(--ac-shadow);
    overflow: visible;
  }

  /* === Hero Banner === */
  .ac-fer-hero {
    background: linear-gradient(135deg, var(--ac-primary) 0%, var(--ac-primary-dark) 100%);
    padding: clamp(28px, 5vw, 44px) clamp(24px, 5vw, 40px) clamp(24px, 4vw, 36px);
    color: #fff;
    position: relative;
    overflow: hidden;
    border-radius: var(--ac-radius) var(--ac-radius) 0 0;

    &::before {
      content: '';
      position: absolute;
      top: -40%;
      right: -10%;
      width: 55%;
      height: 200%;
      background: rgba(255,255,255,0.04);
      border-radius: 50%;
      pointer-events: none;
    }
  }

  .ac-fer-badge {
    display: inline-block;
    padding: 4px 12px;
    background: rgba(180,156,132,0.28);
    color: #e8d9c8;
    font-size: 0.68rem;
    font-weight: 700;
    border-radius: 50px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 12px;
  }

  .ac-fer-title {
    font-size: clamp(1.3rem, 3.5vw, 2.1rem);
    font-weight: 800;
    color: #fff !important;
    margin: 0 0 12px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    max-width: 640px;
  }

  .ac-fer-lead {
    font-size: clamp(0.86rem, 1.8vw, 1rem);
    color: rgba(255,255,255,0.82);
    line-height: 1.65;
    margin: 0 0 20px;
    max-width: 640px;
  }

  .ac-fer-hero-cred {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 4px;
    flex-wrap: wrap;
  }

  .ac-fer-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid rgba(255,255,255,0.28);
    box-shadow: 0 2px 12px rgba(0,0,0,0.22);
    background: rgba(255,255,255,0.1);
  }

  .ac-fer-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .ac-fer-cred-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
  }

  .ac-fer-cred-name {
    font-size: clamp(0.8rem, 1.5vw, 0.9rem);
    font-weight: 700;
    color: rgba(255,255,255,0.95);
    line-height: 1.2;
    letter-spacing: 0.01em;
  }

  .ac-fer-cred-detail {
    font-size: clamp(0.7rem, 1.3vw, 0.78rem);
    color: rgba(255,255,255,0.58);
    line-height: 1.5;
    word-break: break-word;
  }

  /* === Two-column body === */
  .ac-fer-body {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 0;
    align-items: start;
  }

  /* === Main column === */
  .ac-fer-main {
    padding: clamp(24px, 4vw, 36px) clamp(24px, 4vw, 36px) clamp(28px, 4vw, 40px);
    border-right: 1px solid var(--ac-border);
    min-width: 0;
  }

  .ac-fer-section {
    margin-bottom: clamp(24px, 3.5vw, 32px);

    &:last-child { margin-bottom: 0; }
  }

  .ac-fer-section-title {
    font-size: clamp(0.92rem, 2vw, 1.08rem);
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 12px;
    letter-spacing: -0.01em;
  }

  .ac-fer-p {
    font-size: clamp(0.82rem, 1.6vw, 0.91rem);
    color: var(--ac-text-light);
    line-height: 1.72;
    margin: 0 0 12px;

    &:last-child { margin-bottom: 0; }

    strong { color: var(--ac-text); font-weight: 600; }
  }

  /* === Accordion === */
  .ac-fer-accordion-section {
    border: 1px solid var(--ac-border);
    border-radius: 14px;
    overflow: hidden;
  }

  .ac-fer-accordion-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: clamp(13px, 2vw, 18px) clamp(14px, 2.5vw, 22px);
    background: #fafafa;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 12px;
    transition: background 0.2s ease;

    &:hover { background: var(--ac-primary-light); }
    &:focus-visible { outline: 2px solid var(--ac-primary); outline-offset: -2px; }

    .ac-fer-section-title { margin: 0; flex: 1; }
  }

  .ac-fer-accordion-trigger[aria-expanded="true"] {
    background: var(--ac-primary-light);

    .ac-fer-chevron { transform: rotate(180deg); }
  }

  .ac-fer-chevron {
    color: var(--ac-primary);
    flex-shrink: 0;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .ac-fer-accordion-body {
    padding: clamp(14px, 2.5vw, 22px) clamp(14px, 2.5vw, 22px) clamp(16px, 2.5vw, 24px);
    border-top: 1px solid var(--ac-border);
  }

  /* === Therapy Model cards === */
  .ac-fer-model-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-top: 16px;
  }

  .ac-fer-model-card {
    background: #fafafa;
    border: 1px solid var(--ac-border);
    border-radius: 12px;
    padding: 14px;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;

    &:hover {
      box-shadow: 0 4px 16px var(--ac-primary-light);
      border-color: rgba(64,72,104,0.25);
    }
  }

  .ac-fer-model-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--ac-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ac-primary);
    margin-bottom: 10px;
    flex-shrink: 0;
  }

  .ac-fer-model-name {
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 6px;
    letter-spacing: -0.01em;
  }

  .ac-fer-model-desc {
    font-size: 0.77rem;
    color: var(--ac-text-light);
    line-height: 1.6;
    margin: 0;
  }

  /* === Quote === */
  .ac-fer-quote {
    border-left: 3px solid var(--ac-book);
    margin: 16px 0;
    padding: 12px 0 12px 18px;
    background: var(--ac-book-light);
    border-radius: 0 8px 8px 0;

    p {
      font-size: clamp(0.84rem, 1.6vw, 0.94rem);
      font-style: italic;
      color: var(--ac-text);
      margin: 0 0 6px;
      line-height: 1.65;
    }

    cite {
      font-size: 0.76rem;
      color: var(--ac-text-muted);
      font-style: normal;
      font-weight: 600;
      letter-spacing: 0.02em;
    }
  }

  /* === Recommended Reading === */
  .ac-fer-reading-intro {
    margin-bottom: 14px !important;
  }

  .ac-fer-books {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .ac-fer-book {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    background: #fafafa;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    transition: border-color 0.2s ease, background 0.2s ease;
    text-decoration: none;

    &:hover { background: var(--ac-primary-light); border-color: rgba(64,72,104,0.2); }
  }

  .ac-fer-book-icon {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: var(--ac-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ac-primary);
    flex-shrink: 0;
  }

  .ac-fer-book-text {
    flex: 1;
    min-width: 0;
  }

  .ac-fer-book-arrow {
    color: var(--ac-text-muted);
    flex-shrink: 0;
    transition: color 0.2s ease, transform 0.2s ease;
  }

  .ac-fer-book--linked:hover .ac-fer-book-arrow {
    color: var(--ac-primary);
    transform: translateX(3px);
  }

  .ac-fer-book-title {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0 0 2px;
  }

  .ac-fer-book-author {
    font-size: 0.78rem;
    color: var(--ac-text-muted);
    margin: 0;
  }

  /* === Sidebar === */
  .ac-fer-sidebar {
    padding: clamp(22px, 4vw, 32px) clamp(20px, 3vw, 30px) clamp(26px, 4vw, 36px);
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-self: start;
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    overflow-x: visible;
    scrollbar-width: thin;
    scrollbar-color: var(--ac-border) transparent;

    &::-webkit-scrollbar { width: 4px; }
    &::-webkit-scrollbar-track { background: transparent; }
    &::-webkit-scrollbar-thumb { background: var(--ac-border); border-radius: 4px; }
  }

  .ac-fer-sidebar-card {
    border-radius: 14px;
    overflow: visible;
    border: 1px solid var(--ac-border);
    background: #fff;
    box-shadow: 0 2px 12px rgba(64,72,104,0.06);
    flex-shrink: 0;
  }

  .ac-fer-sidebar-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--ac-border);
  }

  .ac-fer-sidebar-questions .ac-fer-sidebar-card-header {
    background: linear-gradient(135deg, rgba(64,72,104,0.06) 0%, rgba(64,72,104,0.02) 100%);
  }

  .ac-fer-sidebar-expect .ac-fer-sidebar-card-header {
    background: linear-gradient(135deg, rgba(180,156,132,0.1) 0%, rgba(180,156,132,0.03) 100%);
  }

  .ac-fer-sidebar-icon {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: var(--ac-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ac-primary);
    flex-shrink: 0;
  }

  .ac-fer-sidebar-expect .ac-fer-sidebar-icon {
    background: var(--ac-book-light);
    color: var(--ac-book);
  }

  .ac-fer-sidebar-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0;
    letter-spacing: -0.01em;
  }

  /* Questions list */
  .ac-fer-question-list {
    list-style: none;
    margin: 0;
    padding: 0 14px;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .ac-fer-question-item {
    padding: 10px 0 10px 14px;
    border-bottom: 1px solid var(--ac-border);

    &:last-child { border-bottom: none; }
  }

  .ac-fer-q-content { display: flex; flex-direction: column; gap: 3px; }

  .ac-fer-q-headline {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--ac-text);
    margin: 0;
    line-height: 1.35;
  }

  .ac-fer-q-sub {
    font-size: 0.76rem;
    color: var(--ac-text-light);
    line-height: 1.55;
    margin: 0;
  }

  /* Expect body */
  .ac-fer-expect-body {
    padding: 10px 14px 12px;
  }

  .ac-fer-expect-phase {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ac-primary);
    margin: 0 0 6px;
    padding: 0 2px;
  }

  .ac-fer-expect-phase--therapy {
    margin-top: 12px;
    color: var(--ac-book);
  }

  /* Expect list */
  .ac-fer-expect-list {
    list-style: none;
    margin: 0 0 0 2px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .ac-fer-expect-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--ac-text-light);
    line-height: 1.45;
    padding: 7px 0;
    border-bottom: 1px solid var(--ac-border);

    &:last-child { border-bottom: none; }
  }

  .ac-fer-expect-item--note span {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
  }

  .ac-fer-expect-check {
    color: var(--ac-book);
    flex-shrink: 0;
  }

  /* Tooltip */
  .ac-fer-tooltip-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-left: 2px;
    flex-shrink: 0;
  }

  .ac-fer-tooltip-icon {
    color: var(--ac-text-muted);
    cursor: pointer;
    display: block;
    transition: color 0.2s ease;

    &:hover { color: var(--ac-primary); }
  }

  .ac-fer-tooltip-bubble {
    position: absolute;
    top: calc(100% + 8px);
    bottom: auto;
    left: 50%;
    transform: translateX(-50%) translateY(-4px);
    background: var(--ac-text);
    color: #fff;
    font-size: 0.72rem;
    line-height: 1.5;
    padding: 7px 10px;
    border-radius: 8px;
    width: 200px;
    text-align: left;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.18s ease, transform 0.18s ease;
    z-index: 500;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18);
    white-space: normal;

    &::after {
      content: '';
      position: absolute;
      bottom: 100%;
      top: auto;
      left: 50%;
      transform: translateX(-50%);
      border: 5px solid transparent;
      border-bottom-color: var(--ac-text);
    }
  }

  .ac-fer-tooltip-wrap:hover .ac-fer-tooltip-bubble,
  .ac-fer-tooltip-wrap:focus-within .ac-fer-tooltip-bubble {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }

  .ac-fer-inline-badge { display: none; }

  /* ============================
     RESPONSIVE — LARGE TABLET (768–1024px)
  ============================ */
  @media (min-width: 768px) and (max-width: 1024px) {
    .ac-card-layout {
      grid-template-columns: 40% 60%;
      min-height: 360px;
    }

    .ac-fer-body,
    .ac-st-body,
    .ac-abft-body,
    .ac-ch-body,
    .ac-mbt-body {
      grid-template-columns: 1fr 1fr;
    }

    .ac-fer-sidebar,
    .ac-st-sidebar,
    .ac-abft-sidebar,
    .ac-ch-sidebar,
    .ac-mbt-sidebar {
      top: 16px;
      max-height: calc(100vh - 32px);
      padding: 20px 18px 24px;
    }

    .ac-fer-main,
    .ac-st-main,
    .ac-abft-main,
    .ac-ch-main,
    .ac-mbt-main {
      padding: 24px 22px 28px;
    }

    .ac-fer-model-grid {
      grid-template-columns: 1fr 1fr;
    }

    .ac-st-triad {
      grid-template-columns: 1fr 1fr 1fr;
    }

    .ac-st-schema-list {
      grid-template-columns: 1fr;
    }
  }

  /* ============================
     RESPONSIVE — SMALL TABLET / LARGE MOBILE (520–767px)
  ============================ */
  @media (min-width: 520px) and (max-width: 767px) {
    .ac-card-layout {
      grid-template-columns: 1fr;
      grid-template-rows: auto 1fr;
      min-height: auto;
    }

    .ac-card-image-wrap {
      height: clamp(200px, 42vw, 260px);
      width: 100%;
    }

    .ac-card-image { height: 100%; width: 100%; }

    .ac-fer-body,
    .ac-st-body,
    .ac-abft-body,
    .ac-ch-body,
    .ac-mbt-body {
      grid-template-columns: 1fr;
    }

    .ac-fer-main,
    .ac-st-main,
    .ac-abft-main,
    .ac-ch-main,
    .ac-mbt-main {
      border-right: none;
      border-bottom: 1px solid var(--ac-border);
    }

    .ac-fer-sidebar,
    .ac-st-sidebar,
    .ac-abft-sidebar,
    .ac-ch-sidebar,
    .ac-mbt-sidebar {
      position: static;
      max-height: none;
      overflow: visible;
      padding: clamp(18px, 4vw, 24px) clamp(16px, 4vw, 22px) clamp(22px, 4vw, 28px);
    }

    .ac-fer-model-grid {
      grid-template-columns: 1fr 1fr;
    }

    .ac-st-triad {
      grid-template-columns: 1fr 1fr 1fr;
    }

    .ac-st-schema-list {
      grid-template-columns: 1fr 1fr;
    }

    .ac-abft-apps-grid,
    .ac-abft-lifecycle-grid {
      grid-template-columns: 1fr 1fr;
    }

    .ac-fer-tab-panel.active,
    .ac-st-tab-panel.active,
    .ac-abft-tab-panel.active,
    .ac-ch-tab-panel.active,
    .ac-mbt-tab-panel.active {
      display: block;
      position: relative;
      height: auto;
      overflow: visible;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }
  }

  /* ============================
     RESPONSIVE — SMALL MOBILE (< 520px)
  ============================ */
  @media (max-width: 519px) {
    .ac-card-layout {
      grid-template-columns: 1fr;
      grid-template-rows: auto 1fr;
      min-height: auto;
    }

    .ac-card-image-wrap {
      height: clamp(160px, 48vw, 220px);
      width: 100%;
    }

    .ac-card-image { height: 100%; width: 100%; }

    .ac-share-panel {
      left: auto;
      right: 0;
      bottom: calc(100% + 8px);
    }

    .ac-card-footer {
      flex-direction: column;
      align-items: stretch;
      gap: 10px;
    }

    .ac-share-wrapper { width: 100%; }

    .ac-share-btn {
      width: 100%;
      justify-content: center;
    }

    .ac-book-btn {
      width: 100%;
      justify-content: center;
      border-radius: var(--ac-book-btn-mobile-radius, 12px);
    }

    .ac-fer-body,
    .ac-st-body,
    .ac-abft-body,
    .ac-ch-body,
    .ac-mbt-body {
      grid-template-columns: 1fr;
    }

    .ac-fer-main,
    .ac-st-main,
    .ac-abft-main,
    .ac-ch-main,
    .ac-mbt-main {
      border-right: none;
      border-bottom: 1px solid var(--ac-border);
      padding: 20px 18px 24px;
    }

    .ac-fer-sidebar,
    .ac-st-sidebar,
    .ac-abft-sidebar,
    .ac-ch-sidebar,
    .ac-mbt-sidebar {
      position: static;
      max-height: none;
      overflow: visible;
      padding: 18px 16px 22px;
    }

    .ac-fer-model-grid {
      grid-template-columns: 1fr;
    }

    .ac-st-triad {
      grid-template-columns: 1fr;
    }

    .ac-st-schema-list {
      grid-template-columns: 1fr;
    }

    .ac-abft-apps-grid,
    .ac-abft-lifecycle-grid {
      grid-template-columns: 1fr;
    }

    .ac-tabs-bar {
      flex-wrap: nowrap;
      overflow-x: auto;
      overflow-y: hidden;
      border-radius: 50px;
      padding: 4px;
      gap: 3px;
      -webkit-overflow-scrolling: touch;
      scroll-snap-type: x mandatory;
      /* Fade edges to hint scrollability */
      -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 5%, #000 95%, transparent 100%);
      mask-image: linear-gradient(to right, transparent 0%, #000 5%, #000 95%, transparent 100%);
    }
    .ac-tab-btn {
      flex: 0 0 auto;
      min-width: 0;
      padding: 8px 16px;
      font-size: 0.78rem;
      scroll-snap-align: center;
    }

    .ac-fer-tab-panel.active,
    .ac-st-tab-panel.active,
    .ac-abft-tab-panel.active,
    .ac-ch-tab-panel.active,
    .ac-mbt-tab-panel.active {
      display: block;
      position: relative;
      height: auto;
      overflow: visible;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    .ac-fer-tooltip-bubble {
      left: auto;
      right: 0;
      transform: translateX(0) translateY(-4px);
      width: 180px;

      &::after {
        left: auto;
        right: 10px;
        transform: none;
      }
    }

    .ac-fer-tooltip-wrap:hover .ac-fer-tooltip-bubble,
    .ac-fer-tooltip-wrap:focus-within .ac-fer-tooltip-bubble {
      transform: translateX(0) translateY(0);
    }
  }

  /* ============================
     RESPONSIVE — VERY SMALL (< 360px)
  ============================ */
  @media (max-width: 359px) {
    .ac-card-image-wrap { height: 150px; }
    .ac-fer-title { font-size: 1.2rem; }
    .ac-st-title { font-size: 1.2rem; }
    .ac-abft-title { font-size: 1.2rem; }
    .ac-ch-title { font-size: 1.2rem; }
    .ac-mbt-title { font-size: 1.2rem; }
    .ac-fer-model-grid { grid-template-columns: 1fr; }
    .ac-st-triad { grid-template-columns: 1fr; }
    .ac-abft-apps-grid,
    .ac-abft-lifecycle-grid { grid-template-columns: 1fr; }
    .ac-tab-btn { font-size: 0.72rem; padding: 7px 13px; }
  }
}

/* ======================================================
   BOOK CONFIRMATION MODAL
   © Haywood Creative — www.haywoodcreative.co
====================================================== */

.ac-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(12px, 4vw, 20px);
  background: rgba(30, 34, 53, 0.6);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
  box-sizing: border-box;
}

.ac-modal-backdrop.ac-modal-open {
  opacity: 1;
  pointer-events: auto;
}

.ac-modal {
  background: #ffffff;
  border-radius: 24px;
  width: 100%;
  max-width: 480px;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(30, 34, 53, 0.24), 0 4px 16px rgba(30, 34, 53, 0.1);
  position: relative;
  transform: translateY(28px) scale(0.96);
  opacity: 0;
  transition: transform 0.38s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.28s ease;
  contain: layout style;
}

.ac-modal-backdrop.ac-modal-open .ac-modal {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.ac-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.9);
  color: #1e2235;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(30,34,53,0.16);
  transition: background 0.2s ease, transform 0.25s ease;
}
.ac-modal-close:hover { background: #fff; transform: scale(1.1) rotate(90deg); }
.ac-modal-close:focus-visible { outline: 2px solid #b49c84; outline-offset: 2px; }

.ac-modal-image-wrap {
  position: relative;
  height: clamp(150px, 35vw, 210px);
  overflow: hidden;
  background: #e8e4df;
}

.ac-modal-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.06);
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}
.ac-modal-backdrop.ac-modal-open .ac-modal-image { transform: scale(1); }

.ac-modal-image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 45%, rgba(30,34,53,0.25) 100%);
  pointer-events: none;
}

.ac-modal-body {
  padding: clamp(20px, 4vw, 28px) clamp(20px, 5vw, 32px) clamp(24px, 5vw, 32px);
  text-align: center;
}

.ac-modal-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(180,156,132,0.12);
  color: #b49c84;
  margin: 0 auto 14px;
}

.ac-modal-title {
  font-size: clamp(1.1rem, 3vw, 1.35rem);
  font-weight: 800;
  color: #1e2235;
  margin: 0 0 10px;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.ac-modal-message {
  font-size: clamp(0.84rem, 2vw, 0.93rem);
  color: #6b7280;
  line-height: 1.65;
  margin: 0 0 24px;
}
.ac-modal-message strong { color: #1e2235; font-weight: 700; }

.ac-modal-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.ac-modal-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: clamp(9px, 1.5vw, 11px) clamp(18px, 3vw, 26px);
  border-radius: 50px;
  font-size: clamp(0.82rem, 1.5vw, 0.88rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  border: none;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.28s ease, transform 0.28s ease, color 0.28s ease, border-color 0.28s ease, background 0.28s ease;
  white-space: nowrap;
}
.ac-modal-btn:focus-visible { outline: 2px solid #b49c84; outline-offset: 3px; }

.ac-modal-btn-cancel {
  background: transparent;
  color: #6b7280;
  border: 1.5px solid #e5e7eb;
}
.ac-modal-btn-cancel:hover { background: rgba(64,72,104,0.07); color: #404868; border-color: #404868; }

.ac-modal-btn-confirm {
  background: #b49c84;
  color: #ffffff;
  border: none;
  box-shadow: 0 4px 14px rgba(180,156,132,0.38);
}
.ac-modal-btn-confirm:hover { background: #9a8570; box-shadow: 0 6px 22px rgba(180,156,132,0.5); transform: translateY(-1px); }

/* Modal responsive */
@media (max-width: 480px) {
  .ac-modal-actions { flex-direction: column; }
  .ac-modal-btn { justify-content: center; width: 100%; }
}


.widget-1f5975 .copyright {
    font-size: 13px;
    display: flex;
    text-align: left;
    justify-content: flex-start;
}
