/*!
 * The approved design applied to pages built from Elementor's own widgets (Heading, Text Editor, Image,
 * Button, Icon List) and containers. Section containers carry .ace-n plus .ace-hs (homepage-style sections)
 * or .ace-is (inner-page-style sections), so each section looks the same on any page.
 *
 * These are defaults: anything set in Elementor's Style or Advanced tab overrides them (Elementor's own
 * per-element rules are more specific). Container spacing is set through Elementor's own CSS variables for
 * the same reason.
 *
 * Theme: Programic IT Solutions, Raichur – ACE Enlight Foundation.
 */

/* ===================================================================== base */

.ace-n,.ace-n *,.ace-n *:before,.ace-n *:after{box-sizing:border-box}
.ace-n.e-con,.ace-n .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px}
.ace-n .e-con.e-grid{--e-con-grid-template-rows:none}
.ace-n a{text-decoration:none}
.ace-n .elementor-heading-title a,.ace-n .elementor-widget-text-editor a{color:inherit}
.ace-n .elementor-widget-text-editor p{margin:0}
.ace-n .ace-cover,.ace-n .ace-cover img{width:100%;height:100%}
.ace-n .ace-cover img{object-fit:cover;display:block;max-width:none}
.ace-n .e-con>.ace-cover{position:absolute;inset:0}

/* Buttons (shared shape; colours per style group below) */
.ace-n .ace-btn .elementor-button,.ace-n .ace-read .elementor-button{display:inline-flex;align-items:center;justify-content:center;line-height:1.7;text-decoration:none;cursor:pointer}
.ace-n .ace-btn .elementor-button-content-wrapper,.ace-n .ace-read .elementor-button-content-wrapper{gap:9px}

/* Widgets used as images or text inside rows keep their natural size */
.ace-n .e-con>.elementor-widget-image{text-align:left}

/* ===================================================================== homepage-style sections (.ace-hs) */

.ace-hs{--green:#0B286F;--deep:#061944;--orange:#FF990A;--cream:#F7F9FE;--pale:#EAF2FF;--ink:#10182B;--muted:#58647A;--line:#DCE4F2;color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:17px;line-height:1.75;letter-spacing:-.01em}
.ace-hs .ace-container{--width:min(1320px,calc(100% - 64px));--margin-left:auto;--margin-right:auto}
.ace-hs.ace-sec{--padding-top:100px;--padding-bottom:100px}
.ace-hs.ace-soft{background:linear-gradient(180deg,#f7f9fe,#eef4ff)}

/* Text */
.ace-hs .ace-label .elementor-heading-title{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.75;letter-spacing:.16em;text-transform:uppercase;font-weight:850;color:#0b286f}
.ace-hs .ace-label .elementor-heading-title:before{content:"";width:26px;height:3px;background:var(--orange);border-radius:3px;flex:none}
.ace-hs .ace-h2 .elementor-heading-title{font-size:clamp(36px,4.1vw,58px);line-height:1.08;font-weight:850;letter-spacing:-.055em;color:var(--deep);margin:9px 0 0}
.ace-hs .ace-h2 em{font-style:normal;color:var(--orange)}
.ace-hs .ace-intro .elementor-heading-title{max-width:410px;color:var(--muted);font-size:12px;line-height:1.85;font-weight:400;letter-spacing:-.01em;margin:0}
.ace-hs .ace-h3 .elementor-heading-title{font-size:23px;line-height:1.3;font-weight:800;letter-spacing:-.035em;margin:9px 0;color:var(--deep)}
.ace-hs .ace-tag .elementor-heading-title{display:inline;color:var(--orange);font-size:9px;line-height:1.75;letter-spacing:.13em;text-transform:uppercase;font-weight:850}
.ace-hs .ace-card-text{font-size:15px;line-height:1.85;color:var(--muted)}
.ace-hs .ace-card-text p{margin:0 0 17px}
.ace-hs .ace-copy{font-size:17px;line-height:1.95;color:#505d73}
.ace-hs .ace-copy p{margin:17px 0}
.ace-hs .ace-copy p:first-child{margin-top:0}

/* Buttons */
.ace-hs .ace-btn{width:auto;align-self:flex-start}
.ace-hs .ace-btn .elementor-button{gap:9px;padding:15px 23px;background:var(--orange);color:#071D54;border-radius:999px;font-size:14px;font-weight:800;line-height:1.75;letter-spacing:-.035em;box-shadow:0 8px 18px #ff990a22;transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease,color .25s ease}
.ace-hs .ace-btn .elementor-button:hover,.ace-hs .ace-btn .elementor-button:focus{background:var(--deep);color:#071D54;transform:translateY(-3px);box-shadow:0 10px 22px #ff990a45}
.ace-hs .ace-btn.green .elementor-button{background:var(--green)}
.ace-hs .ace-btn.green .elementor-button:hover,.ace-hs .ace-btn.green .elementor-button:focus{background:var(--orange)}
.ace-hs .ace-btn.white .elementor-button{background:var(--orange);color:#101828;white-space:nowrap}
.ace-hs .ace-btn.white .elementor-button:hover,.ace-hs .ace-btn.white .elementor-button:focus{background:var(--orange);color:#fff}
.ace-hs .ace-donate-grid>.ace-btn,.ace-hs .ace-cta-box>.ace-btn,.ace-hs .ace-founder-bottom>.ace-btn{align-self:auto}
.ace-hs .ace-read{width:auto;align-self:flex-start}
.ace-hs .ace-read .elementor-button{display:inline;padding:0;background:none;border-radius:0;font-size:14px;font-weight:800;line-height:1.75;color:var(--green);transition:color .25s ease}
.ace-hs .ace-read .elementor-button-content-wrapper,.ace-hs .ace-read .elementor-button-text{display:inline}
.ace-hs .ace-read .elementor-button-text span{color:var(--orange);margin-left:5px}

/* Section heading */
.ace-hs .ace-head{--justify-content:space-between;--align-items:flex-end;--column-gap:30px;--row-gap:12px;--margin-bottom:40px}
.ace-hs .ace-head>.ace-head-left{--width:auto;flex:0 1 auto}
.ace-hs .ace-head>.elementor-widget{flex:0 1 auto}
.ace-hs.ace-testimonials .ace-head .ace-h2 .elementor-heading-title{max-width:650px}

/* Highlights strip (floats over the bottom of the slider) */
.ace-hs.ace-strip{--position:relative;--z-index:4;--width:min(1190px,calc(100% - 64px));--margin-top:-34px;--margin-left:auto;--margin-right:auto;--padding-top:10px;--padding-right:10px;--padding-bottom:10px;--padding-left:10px;--border-radius:22px;background:#fff;border:1px solid #e8edf6;box-shadow:0 22px 65px #071d5414}
.ace-hs .ace-mini{--align-items:center;--column-gap:12px;--padding-top:22px;--padding-right:20px;--padding-bottom:22px;--padding-left:20px;border-right:1px solid var(--line);flex-wrap:nowrap;transition:transform .25s ease,background-color .25s ease}
.ace-hs .ace-mini:last-child{border-right:0}
.ace-hs .ace-mini:hover{transform:translateY(-5px);background:#fff7e9}
.ace-hs .ace-mini>.ace-service-icon{flex:none;width:auto}
.ace-hs .ace-service-icon .elementor-heading-title{height:46px;width:46px;display:grid;place-items:center;background:#fff0d8;color:var(--green);font-size:22px;line-height:1.75;border-radius:15px;font-weight:400}
.ace-hs .ace-service-copy{--width:auto;flex:1 1 auto}
.ace-hs .ace-service-title .elementor-heading-title{font-size:15px;line-height:1.75;color:var(--deep);font-weight:700}
.ace-hs .ace-service-text .elementor-heading-title{font-size:12px;line-height:1.75;color:var(--muted);margin-top:3px;font-weight:400}

/* About intro */
.ace-hs .ace-about-grid{--column-gap:80px;--row-gap:42px;--align-items:center}
.ace-hs .ace-about-image{--height:590px;--position:relative;--border-radius:26px;--overflow:hidden;background:#d9e4d5;box-shadow:18px 18px 0 #eaf2ff;transition:transform .35s ease,box-shadow .35s ease}
.ace-hs .ace-about-image:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#133e2c8c);pointer-events:none}
.ace-hs .ace-about-image img{object-position:center;filter:saturate(.92);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.ace-hs .ace-image-label{position:absolute;z-index:1;bottom:18px;left:18px;width:auto}
.ace-hs .ace-image-label .elementor-heading-title{display:block;color:#fff;font-size:11px;line-height:1.75;font-weight:800}
.ace-hs .ace-about-copy .ace-h2 .elementor-heading-title,.ace-hs .ace-impact-copy .ace-h2 .elementor-heading-title{margin:17px 0 22px}
.ace-hs .ace-about-copy .ace-copy p:last-child{margin-bottom:0}

.ace-hs .ace-checklist .elementor-icon-list-items{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:28px 0 34px;padding:0}
.ace-hs .ace-checklist .elementor-icon-list-item{display:flex;align-items:flex-start;gap:9px;margin:0!important;padding:0!important;font-size:14px;line-height:1.75;font-weight:700}
.ace-hs .ace-checklist .elementor-icon-list-icon{height:27px;width:27px;flex:none;display:grid;place-items:center;background:#eaf2ff;border-radius:50%;padding:0;margin-right:9px}
.ace-hs .ace-checklist .elementor-icon-list-icon svg{width:11px;height:11px;fill:var(--green)}
.ace-hs .ace-checklist .elementor-icon-list-item .elementor-icon-list-text{color:var(--ink);padding:0}

/* Image cards */
.ace-hs .ace-cards{--row-gap:22px;--column-gap:22px}
.ace-hs .ace-card{background:#fff;border:1px solid #e5eaf3;--border-radius:22px;--overflow:hidden;box-shadow:0 10px 30px #06194408;transition:transform .35s ease,box-shadow .35s ease}
.ace-hs .ace-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px #0b286f16}
.ace-hs .ace-card-image{--height:250px;--position:relative;--overflow:hidden}
.ace-hs .ace-card-image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--orange);z-index:1}
.ace-hs .ace-card-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.ace-hs .ace-card:hover .ace-card-image img{transform:scale(1.06)}
.ace-hs .ace-card-body{--padding-top:25px;--padding-right:25px;--padding-bottom:25px;--padding-left:25px}

/* Navy band */
.ace-hs.ace-donate{--position:relative;--overflow:hidden;background:var(--deep);color:#fff;--padding-top:54px;--padding-bottom:54px}
.ace-hs.ace-donate:after{content:"ACE";position:absolute;right:4%;top:-85px;font-size:230px;line-height:1.75;font-weight:950;color:#ffffff08;letter-spacing:-.1em;pointer-events:none}
.ace-hs .ace-donate-grid{--position:relative;--z-index:1;--justify-content:space-between;--align-items:center;--column-gap:28px;--row-gap:28px}
.ace-hs .ace-donate-grid>.ace-donate-copy{--width:auto;flex:0 1 auto}
.ace-hs .ace-donate-grid>.elementor-widget{flex:none}
.ace-hs.ace-donate .ace-h2 .elementor-heading-title{font-size:clamp(30px,3.5vw,45px);color:#fff;margin:0}
.ace-hs .ace-donate-text .elementor-heading-title{color:#d5def2;font-size:12px;line-height:1.75;margin:6px 0 0;font-weight:400}

/* Impact */
.ace-hs .ace-impact-grid{--column-gap:80px;--row-gap:42px;--align-items:start}
.ace-hs .ace-impact-copy .ace-h2 .elementor-heading-title{max-width:600px}
.ace-hs .ace-impact-copy .ace-copy{line-height:1.9}
.ace-hs .ace-impact-copy .ace-copy p{margin:0 0 17px;max-width:560px}
.ace-hs .ace-impact-list{border-top:1px solid var(--line)}
.ace-hs .ace-impact-row{--column-gap:15px;--row-gap:15px;--align-items:center;--padding-top:25px;--padding-bottom:25px;border-bottom:1px solid var(--line);transition:transform .2s,border-color .2s}
.ace-hs .ace-impact-row:hover{transform:translateX(7px);border-color:var(--orange)}
.ace-hs .ace-impact-n .elementor-heading-title{display:block;font-size:15px;line-height:1.75;color:var(--orange);font-weight:800}
.ace-hs .ace-impact-title .elementor-heading-title{font-size:19px;line-height:1.75;font-weight:700;color:var(--ink)}
.ace-hs .ace-impact-text .elementor-heading-title{color:var(--muted);font-size:14px;line-height:1.75;margin-top:3px;font-weight:400}
.ace-hs .ace-impact-arr .elementor-heading-title{display:block;color:var(--green);font-size:17px;line-height:1.75;font-weight:400}

/* Founder feature */
.ace-hs.ace-founder{--position:relative;--overflow:hidden;background:#f7f9fe;color:var(--ink)}
.ace-hs.ace-founder:before{content:"ACE";position:absolute;right:-.02em;bottom:-.35em;font-size:clamp(180px,28vw,390px);font-weight:950;letter-spacing:-.1em;line-height:1;color:#0b286f05;pointer-events:none}
.ace-hs .ace-founder-grid{--position:relative;--z-index:1;--column-gap:clamp(40px,8vw,115px);--row-gap:clamp(40px,8vw,115px);--align-items:center}
.ace-hs .ace-founder-visual{--position:relative;--min-height:660px;--align-items:center;--justify-content:center}
.ace-hs .ace-founder-image{--height:590px;--width:min(100%,455px);--border-radius:240px 240px 26px 26px;--overflow:hidden;--position:relative;box-shadow:22px 22px 0 #ff990a;background:#e9edf5;transition:transform .35s ease,box-shadow .35s ease}
.ace-hs .ace-founder-image:after{content:"";position:absolute;inset:72% 0 0;background:linear-gradient(transparent,#071d5420);pointer-events:none}
.ace-hs .ace-founder-image img{object-position:center 25%;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.ace-hs .ace-founder-image:hover img{transform:scale(1.055)}
.ace-hs .ace-founder-seal{--position:absolute;--width:145px;--height:145px;--border-radius:50%;--justify-content:center;--align-items:center;right:-4px;bottom:24px;background:#0b286f;color:#fff;text-align:center;border:7px solid #fff;box-shadow:0 10px 30px #06194422;transform:rotate(8deg);z-index:2}
.ace-hs .ace-seal-number .elementor-heading-title{font-size:29px;line-height:1.1;color:var(--orange);font-weight:700}
.ace-hs .ace-seal-text .elementor-heading-title{display:block;font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:1.3px;font-weight:800;margin-top:6px;color:#fff}
.ace-hs .ace-founder-stamp{position:absolute;left:0;top:44px;width:auto;z-index:2}
.ace-hs .ace-founder-stamp .elementor-heading-title{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;line-height:1.75;font-weight:900;letter-spacing:4px;color:var(--green);text-transform:uppercase}
.ace-hs.ace-founder .ace-label .elementor-heading-title{color:#bd6900;letter-spacing:2.2px}
.ace-hs.ace-founder .ace-h2 .elementor-heading-title{color:var(--green);font-size:clamp(40px,5vw,68px);margin:17px 0 22px;max-width:690px}
.ace-hs .ace-founder-lead .elementor-heading-title{font-size:19px;line-height:1.8;color:#27344c;max-width:650px;font-weight:600;margin:0}
.ace-hs .ace-founder-quote .elementor-heading-title{font-size:22px;line-height:1.6;border-left:5px solid var(--orange);padding:4px 0 4px 20px;margin:28px 0;color:var(--green);font-weight:700}
.ace-hs.ace-founder .ace-copy{font-size:16px;line-height:1.85;color:#58647a}
.ace-hs.ace-founder .ace-copy p{margin:16px 0;max-width:650px}
.ace-hs.ace-founder .ace-founder-quote+.ace-copy p:first-child{margin-top:0}
.ace-hs.ace-founder .ace-copy p:last-child{margin-bottom:0}
.ace-hs .ace-founder-credentials{--column-gap:10px;--row-gap:10px;--margin-top:25px;--margin-bottom:30px;flex-wrap:wrap}
.ace-hs .ace-founder-credentials>.elementor-widget{flex:none;width:auto}
.ace-hs .ace-credential .elementor-heading-title{display:block;border:1px solid #dfe6f3;background:#fff;border-radius:999px;padding:9px 14px;font-size:12px;line-height:1.75;font-weight:800;color:var(--green)}
.ace-hs .ace-founder-bottom{--align-items:center;--column-gap:22px;--row-gap:22px;flex-wrap:wrap}
.ace-hs .ace-founder-bottom>.elementor-widget{flex:none}
.ace-hs .ace-founder-signature{--width:auto;--padding-left:14px;border-left:3px solid var(--orange)}
.ace-hs .ace-signature-name .elementor-heading-title{font-size:19px;color:var(--green);line-height:1.3;font-weight:700}
.ace-hs .ace-signature-role .elementor-heading-title{color:#69758a;font-size:11px;line-height:1.75;font-weight:700}

/* Steps */
.ace-hs .ace-process{--row-gap:18px;--column-gap:18px}
.ace-hs .ace-step{--padding-top:28px;--padding-right:28px;--padding-bottom:28px;--padding-left:28px;background:#fff;border:1px solid var(--line);--border-radius:18px;transition:transform .35s ease,box-shadow .35s ease}
.ace-hs .ace-step:hover{transform:translateY(-6px);box-shadow:0 18px 42px #0b286f16}
.ace-hs .ace-num .elementor-heading-title{display:inline;font-size:12px;line-height:1.75;color:var(--orange);font-weight:900;letter-spacing:.14em}
.ace-hs .ace-step .ace-h3 .elementor-heading-title{font-size:16px;line-height:1.2;margin:10px 0 6px;color:var(--ink)}
.ace-hs .ace-step .ace-card-text{line-height:1.8}
.ace-hs .ace-step .ace-card-text p{margin:0}

/* Testimonials */
.ace-hs.ace-testimonials{background:var(--pale)}
.ace-hs .ace-quote-grid{--row-gap:18px;--column-gap:18px}
.ace-hs .ace-quote-card{background:#fff;--padding-top:23px;--padding-right:23px;--padding-bottom:23px;--padding-left:23px;--border-radius:20px;border:1px solid #e5eaf3;transition:transform .35s ease,box-shadow .35s ease}
.ace-hs .ace-quote-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px #0b286f16}
.ace-hs .ace-stars .elementor-heading-title{color:var(--orange);letter-spacing:3px;font-size:17px;line-height:1.75;font-weight:400}
.ace-hs .ace-quote-text{font:italic 16px/1.7 Georgia,serif;color:#4d5b51;letter-spacing:-.01em}
.ace-hs .ace-quote-text p{margin:16px 0}
.ace-hs .ace-quote-name .elementor-heading-title{font-size:11px;line-height:1.75;font-weight:700;color:var(--ink)}
.ace-hs .ace-quote-role .elementor-heading-title{display:inline;color:var(--muted);font-size:10px;line-height:1.75;font-weight:400}

/* Call to action */
.ace-hs.ace-cta{--padding-bottom:75px}
.ace-hs .ace-cta-box{background:linear-gradient(115deg,#0b286f,#061944);--padding-top:48px;--padding-right:48px;--padding-bottom:48px;--padding-left:48px;--border-radius:26px;box-shadow:0 20px 55px #06194420;--align-items:center;--justify-content:space-between;--column-gap:25px;--row-gap:25px}
.ace-hs .ace-cta-box.e-con{flex-wrap:nowrap}
.ace-hs .ace-cta-box>.ace-cta-copy{--width:auto;flex:0 1 auto}
.ace-hs .ace-cta-box>.elementor-widget{flex:0 1 auto;min-width:min-content}
.ace-hs.ace-cta .ace-label .elementor-heading-title{color:#ffc36d}
.ace-hs.ace-cta .ace-h2 .elementor-heading-title{color:#fff;max-width:750px}
.ace-hs .ace-cta-text .elementor-heading-title{font-size:12px;line-height:1.75;color:#dbe5fb;max-width:700px;margin:12px 0 0;font-weight:400}

/* Inside the Elementor editor the slow "zoom" of the active slide is paused so editing stays smooth */
.elementor-editor-active .ace-slider .slide.active:before{animation:none}

/* Sections with automatic content (ACE widgets) print edge to edge */
.ace-n.ace-widget-wrap{--padding-top:0px;--padding-bottom:0px}

@media(max-width:1120px){
	.ace-hs .ace-container{--width:calc(100% - 42px)}
}
@media(max-width:900px){
	.ace-hs.ace-strip{--width:calc(100% - 42px)}
	.ace-hs .ace-mini{--padding-top:16px;--padding-right:10px;--padding-bottom:16px;--padding-left:10px}
	.ace-hs.ace-sec{--padding-top:75px;--padding-bottom:75px}
	.ace-hs .ace-about-grid,.ace-hs .ace-impact-grid{--column-gap:42px}
	.ace-hs .ace-about-image{--height:460px}
}
@media(max-width:780px){
	.ace-hs .ace-head{--align-items:flex-start}
	.ace-hs .ace-donate-grid{--align-items:flex-start}
	.ace-hs .ace-mini:nth-child(2){border-right:0}
	.ace-hs .ace-founder-visual{--min-height:520px;max-width:520px;margin:auto}
	.ace-hs .ace-founder-image{--height:470px;--width:min(82%,390px)}
	.ace-hs .ace-seal-number .elementor-heading-title{font-size:24px}
	.ace-hs .ace-founder-stamp{left:1%;top:25px}
}
/* 768–780px (e.g. a tablet held upright) is "tablet" in Elementor but already the stacked layout in the
   approved design */
@media(min-width:768px) and (max-width:780px){
	.ace-hs .ace-about-grid.e-con.e-grid,.ace-hs .ace-impact-grid.e-con.e-grid,.ace-hs .ace-founder-grid.e-con.e-grid{--e-con-grid-template-columns:1fr}
	.ace-hs .ace-strip-grid.e-con.e-grid{--e-con-grid-template-columns:repeat(2,1fr)}
	.ace-hs .ace-head.e-con.e-flex,.ace-hs .ace-donate-grid.e-con.e-flex{--flex-direction:column}
}
/* Between phone and tablet sizes the approved design shows two cards per row */
@media(min-width:601px) and (max-width:780px){
	.ace-hs .ace-cards.e-con.e-grid,.ace-hs .ace-quote-grid.e-con.e-grid,.ace-hs .ace-process.e-con.e-grid{--e-con-grid-template-columns:repeat(2,1fr)}
	.ace-hs .ace-cards.e-grid>.ace-card:last-child:nth-child(odd),.ace-hs .ace-quote-grid.e-grid>.ace-quote-card:last-child:nth-child(odd){grid-column:span 2}
}
@media(max-width:600px){
	.ace-hs .ace-container{--width:calc(100% - 32px)}
	.ace-hs.ace-strip{--width:calc(100% - 26px);--margin-top:-22px;--padding-top:7px;--padding-right:7px;--padding-bottom:7px;--padding-left:7px}
	.ace-hs .ace-mini{border:0;--padding-top:13px;--padding-right:8px;--padding-bottom:13px;--padding-left:8px}
	.ace-hs .ace-mini:nth-child(odd){border-right:1px solid var(--line)}
	.ace-hs .ace-mini:nth-child(-n+2){border-bottom:1px solid var(--line)}
	.ace-hs .ace-service-icon .elementor-heading-title{width:35px;height:35px;border-radius:11px;font-size:18px}
	.ace-hs .ace-service-title .elementor-heading-title{font-size:12px}
	.ace-hs .ace-service-text .elementor-heading-title{font-size:10px}
	.ace-hs.ace-sec{--padding-top:62px;--padding-bottom:62px}
	.ace-hs .ace-h2 .elementor-heading-title{font-size:36px}
	.ace-hs .ace-about-image{--height:330px}
	.ace-hs .ace-checklist .elementor-icon-list-items{gap:12px}
	.ace-hs .ace-card-image{--height:220px}
	.ace-hs.ace-founder .ace-h2 .elementor-heading-title{font-size:42px}
	.ace-hs .ace-founder-quote .elementor-heading-title{font-size:18px}
	.ace-hs .ace-founder-stamp .elementor-heading-title{font-size:10px}
	.ace-hs .ace-cta-box{--padding-top:28px;--padding-right:22px;--padding-bottom:28px;--padding-left:22px}
	.ace-hs .ace-founder-seal{--width:105px;--height:105px}
}
@media(max-width:480px){
	.ace-hs .ace-mini{--column-gap:7px}
	.ace-hs .ace-founder-visual{--min-height:410px}
	.ace-hs .ace-founder-image{--height:365px;--width:78%;box-shadow:13px 13px 0 #ff990a}
	.ace-hs .ace-founder-seal{border-width:5px}
	.ace-hs .ace-seal-number .elementor-heading-title{font-size:21px}
	.ace-hs .ace-seal-text .elementor-heading-title{font-size:8px}
	.ace-hs .ace-founder-lead .elementor-heading-title{font-size:17px}
}

/* ===================================================================== inner-page-style sections (.ace-is) */

.ace-is{--navy:#0B286F;--deep:#071D54;--orange:#FF990A;--pale:#EAF1FF;--cream:#F7F9FD;--ink:#101828;--muted:#596579;--line:#DCE4F2;--shadow:0 18px 50px rgba(11,40,111,.09);font-family:Inter,Arial,sans-serif;font-size:16px;color:var(--ink);line-height:1.7}
.ace-is .ace-container{--width:min(1160px,calc(100% - 40px));--margin-left:auto;--margin-right:auto}
.ace-is.ace-sec{--padding-top:78px;--padding-bottom:78px}
.ace-is.ace-soft{background:var(--cream)}
.ace-is.ace-blue{background:var(--pale)}

/* Text */
.ace-is .ace-eyebrow .elementor-heading-title{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:2.2px;font-size:12px;line-height:1.7;font-weight:900;color:var(--orange)}
.ace-is .ace-eyebrow .elementor-heading-title:before{content:'';width:30px;height:4px;border-radius:3px;background:var(--orange);flex:none}
.ace-is .ace-h1 .elementor-heading-title,.ace-is .ace-h2 .elementor-heading-title,.ace-is .ace-h3 .elementor-heading-title{line-height:1.12;letter-spacing:-1.5px;color:var(--deep);font-weight:700}
.ace-is .ace-h2 .elementor-heading-title{font-size:clamp(32px,4vw,48px);margin:13px 0}
.ace-is .ace-h2.ace-h2-plain .elementor-heading-title{font-size:24px;margin:.83em 0}
.ace-is .ace-h2.ace-h2-large .elementor-heading-title{font-size:clamp(34px,4vw,52px);margin:12px 0}
.ace-is .ace-h2.ace-h2-contact .elementor-heading-title{font-size:clamp(34px,4vw,50px);margin:.83em 0}
.ace-is .ace-h3 .elementor-heading-title{font-size:22px;margin:12px 0}
.ace-is .ace-intro,.ace-is .ace-lead{font-size:18px;color:var(--muted)}
.ace-is .ace-intro p{margin:18px 0 0}
.ace-is .ace-lead p{margin:18px 0}
.ace-is .ace-copy{color:var(--ink)}
.ace-is .ace-copy p{margin:16px 0}
.ace-is .ace-card-text{color:var(--muted)}
.ace-is .ace-card-text p{margin:16px 0 0}
.ace-is .ace-card-note{color:var(--muted)}
.ace-is .ace-card-note p{margin:16px 0 0}
.ace-is .ace-card-note small,.ace-is .ace-note small{font-size:13.33px}
.ace-is .ace-section-note{color:var(--muted)}
.ace-is .ace-section-note p{margin:24px 0 16px}
.ace-is .ace-gallery-note{color:var(--muted)}
.ace-is .ace-gallery-note p{margin:22px 0 16px}

/* Pills, icon box */
.ace-is .ace-pill{width:auto;align-self:flex-start}
.ace-is .ace-pill .elementor-heading-title{display:inline-block;padding:6px 12px;border-radius:99px;background:var(--pale);color:var(--navy);font-weight:800;font-size:12px;line-height:1.7;margin:3px}
.ace-is .ace-pills{flex-wrap:wrap}
.ace-is .ace-pills>.elementor-widget{flex:none}
.ace-is .ace-iconbox{width:auto;align-self:flex-start}
.ace-is .ace-iconbox .elementor-heading-title{width:52px;height:52px;border-radius:14px;background:#fff0d9;color:var(--navy);display:grid;place-items:center;font-size:25px;line-height:1.7;font-weight:900}

/* Buttons */
.ace-is .ace-btn{width:auto;align-self:flex-start}
.ace-is .ace-btn .elementor-button{gap:10px;background:var(--orange);color:#111;font-weight:900;font-size:16px;line-height:1.7;padding:14px 20px;border-radius:7px;margin-top:20px;transition:transform .2s}
.ace-is .ace-btn .elementor-button:hover,.ace-is .ace-btn .elementor-button:focus{background:var(--orange);color:#111;transform:translateY(-3px)}

/* Banner */
.ace-is.ace-pagehero{--position:relative;--overflow:hidden;background:linear-gradient(115deg,var(--deep),var(--navy));color:#fff;--padding-top:78px;--padding-bottom:72px}
.ace-is.ace-pagehero:after{content:'ACE';position:absolute;right:2%;bottom:-105px;font-size:clamp(160px,25vw,360px);font-weight:950;letter-spacing:-20px;color:#ffffff0b;line-height:1;pointer-events:none}
.ace-is .ace-rise{animation:ace-rise .7s both}
@keyframes ace-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.ace-is .ace-h1 .elementor-heading-title{color:#fff;font-size:clamp(40px,6vw,68px);max-width:850px;margin:17px 0}
.ace-is .ace-hero-text .elementor-heading-title{max-width:700px;color:#e2e9fa;font-size:18px;line-height:1.7;margin:0;font-weight:400}
.ace-is .ace-crumb .elementor-heading-title{font-size:13px;line-height:1.7;color:#c7d4f4;margin-top:22px;font-weight:400}

/* Section heading */
.ace-is .ace-sectionhead{max-width:780px;--margin-bottom:34px}

/* Cards */
.ace-is .ace-grid{--row-gap:22px;--column-gap:22px}
.ace-is .ace-card{border:1px solid var(--line);background:#fff;--border-radius:18px;--padding-top:26px;--padding-right:26px;--padding-bottom:26px;--padding-left:26px;box-shadow:0 8px 28px #071d5406;transition:transform .25s,box-shadow .25s}
.ace-is .ace-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}

/* Text + photo */
.ace-is .ace-split{--column-gap:56px;--row-gap:30px;--align-items:center}
.ace-is .ace-photo{--border-radius:24px;--overflow:hidden;--position:relative;--min-height:380px;background:linear-gradient(145deg,#dce8fb,#fff)}
.ace-is .ace-photo-img img{display:block;width:100%;height:100%;min-height:380px;object-fit:cover;max-width:none}
.ace-is .ace-photo.ace-arch{--border-radius:220px 220px 24px 24px;border:8px solid #fff;box-shadow:12px 12px 0 var(--orange),var(--shadow);max-width:440px;margin:auto;--overflow:hidden}
.ace-is .ace-photo.ace-arch .ace-photo-img img{min-height:480px}
.ace-is .ace-listcheck .elementor-icon-list-items{padding:0;margin:16px 0;list-style:none}
.ace-is .ace-listcheck .elementor-icon-list-item{padding:8px 0 8px 28px!important;margin:0!important;position:relative;display:block;font-size:16px;line-height:1.7}
.ace-is .ace-listcheck .elementor-icon-list-icon{position:absolute;left:0;top:13px;padding:0}
.ace-is .ace-listcheck .elementor-icon-list-icon svg{width:14px;height:14px;fill:#e98500}
.ace-is .ace-listcheck .elementor-icon-list-item .elementor-icon-list-text{color:var(--ink);padding:0}

/* Navy box */
.ace-is .ace-navybox{background:var(--deep);color:#fff;--padding-top:34px;--padding-right:34px;--padding-bottom:34px;--padding-left:34px;--border-radius:22px}
.ace-is .ace-navybox.ace-boxed{--margin-top:30px}
.ace-is .ace-navybox .ace-h2 .elementor-heading-title{color:#fff;font-size:24px;margin:.83em 0}
.ace-is .ace-box-text{color:#dce5fb}
.ace-is .ace-box-text p{margin:0 0 16px}

/* Quote */
.ace-is .ace-quote .elementor-heading-title{font-family:Georgia,serif;font-size:22px;line-height:1.7;font-style:italic;color:var(--deep);margin:22px 0;font-weight:400}
.ace-is .ace-attribution p{margin:16px 0}
.ace-is .ace-note p{margin:16px 0}

/* Calendar */
.ace-is .ace-calendar{--row-gap:15px;--column-gap:15px}
.ace-is .ace-month{border:1px solid var(--line);--border-radius:14px;--padding-top:18px;--padding-right:18px;--padding-bottom:18px;--padding-left:18px;background:#fff}
.ace-is .ace-month-name .elementor-heading-title{margin:0 0 10px;color:#e98500;font-size:20px;line-height:1.12;letter-spacing:-1.5px;font-weight:700}
.ace-is .ace-month-list{color:var(--muted);font-size:14px}
.ace-is .ace-month-list ul{margin:0;padding-left:18px}

/* Gallery */
.ace-is .ace-gallery{--row-gap:22px;--column-gap:22px}
.ace-is .ace-gallery-photo{overflow:hidden;border-radius:14px}
.ace-is .ace-gallery-photo a{display:block}
.ace-is .ace-gallery-photo img{width:100%;height:240px;object-fit:cover;border-radius:14px;transition:transform .4s;display:block}
.ace-is .ace-gallery-photo:hover img{transform:scale(1.05)}

/* Contact */
.ace-is .ace-contact-grid{--column-gap:30px;--row-gap:30px}
.ace-is .ace-contact-copy .ace-card{--margin-top:0px}
.ace-is .ace-contact-details{color:var(--muted)}
.ace-is .ace-contact-details p{margin:16px 0 0}
.ace-is .ace-contact-details strong{color:var(--muted)}
.ace-is .elementor-widget-ace-enquiry-form .card{margin:0}

/* Spacing between stacked elements. Elementor containers do not merge ("collapse") the margins of
   neighbouring elements the way plain HTML does, so the second margin is reduced to give the same gap. */
.ace-is .ace-sectionhead>.ace-h2:last-child .elementor-heading-title{margin-bottom:0}
.ace-is .ace-sectionhead .ace-intro p{margin:5px 0 0}
.ace-is .ace-card .ace-h3+.ace-card-text p:first-child{margin-top:4px}
.ace-is .ace-card .ace-h3+.ace-contact-details p:first-child{margin-top:4px}
.ace-is .ace-split-copy>.elementor-widget-text-editor p:first-child,.ace-is .ace-contact-copy>.ace-lead p{margin-top:0}
.ace-is .ace-split-copy>.ace-h2-large+.ace-lead p:first-child{margin-top:6px}
.ace-is .ace-split-copy>.ace-h2-large+.ace-copy p:first-child{margin-top:4px}
.ace-is .ace-split-copy>.ace-eyebrow+.elementor-widget-text-editor p:first-child{margin-top:16px}
.ace-is .ace-listcheck .elementor-icon-list-items{margin-top:0}
.ace-is .ace-split-copy>.ace-eyebrow+.ace-listcheck .elementor-icon-list-items{margin-top:16px}
.ace-is .ace-quote+.ace-attribution p:first-child,.ace-is .ace-attribution+.ace-note p:first-child,.ace-is .ace-quote+.ace-note p:first-child{margin-top:0}

@media(max-width:950px){
	.ace-is .ace-split{--column-gap:30px}
}
@media(max-width:650px){
	.ace-is .ace-container{--width:min(100% - 30px,1160px)}
	.ace-is.ace-sec{--padding-top:55px;--padding-bottom:55px}
	.ace-is.ace-pagehero{--padding-top:56px;--padding-bottom:56px}
	.ace-is .ace-photo.ace-arch{max-width:340px}
	.ace-is .ace-photo.ace-arch .ace-photo-img img{min-height:390px}
}
@media(prefers-reduced-motion:reduce){
	.ace-n *,.ace-n *:before,.ace-n *:after{animation:none!important;transition:none!important}
}

/* Long words or links without spaces wrap inside their column instead of running off the screen */
.ace-n .elementor-widget-heading,.ace-n .elementor-widget-text-editor,.ace-n .elementor-icon-list-text,.ace-inner .ace-entry{overflow-wrap:anywhere;word-break:break-word}
