/* TiE Ottawa — inner-page components. Loaded after tie-design.css. */

/* ---------- inner-page hero ---------- */
.tie-bg-sub{background:
  radial-gradient(ellipse 60% 50% at 70% 30%,rgba(227,6,19,.10) 0%,transparent 60%),
  radial-gradient(ellipse 50% 45% at 20% 80%,rgba(31,90,166,.10) 0%,transparent 60%),
  linear-gradient(180deg,#060E22 0%,#0A1F44 100%);}
.tie-sub-rule::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:60%;max-width:720px;height:1px;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(227,6,19,.6),transparent);}
.tie-sub-copy{max-width:48rem;}
.tie-eyebrow-sub .elementor-heading-title{
  display:flex;align-items:center;gap:10px;
  font-family:var(--tie-heading)!important;font-size:11px!important;font-weight:700!important;
  letter-spacing:.22em!important;text-transform:uppercase!important;color:rgba(255,255,255,.55)!important;line-height:1.6!important;}
.tie-eyebrow-sub .elementor-heading-title::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tie-red);flex:0 0 auto;}
.tie-eyebrow-sub{margin-bottom:24px!important;}
.tie-h1-sub .elementor-heading-title{font-size:clamp(2.25rem,4.6vw,3.75rem)!important;line-height:1.06!important;}
.tie-h1-sub-sm .elementor-heading-title{font-size:clamp(2.25rem,4vw,3rem)!important;}
.tie-h1-sub{margin-bottom:24px!important;}
.tie-sub-lead{font-family:var(--tie-body);font-size:clamp(1rem,1.2vw,1.125rem);color:rgba(255,255,255,.55);line-height:1.7;max-width:44rem;}
.tie-sub-lead p{margin:0;}

/* ---------- section header ---------- */
.tie-head{margin-bottom:56px;}
.tie-head .tie-eyebrow{margin-bottom:4px!important;}
.tie-head .tie-h2{margin-bottom:4px!important;}
.tie-center .tie-sec-lead,.tie-center .tie-sec-lead-dim{margin-left:auto;margin-right:auto;}

/* ---------- rows ---------- */
.tie-row-2>.e-con,.tie-row-2>.e-con-inner>.e-con{flex:1 1 380px;min-width:0;}
.tie-btnrow>.e-con,.tie-btnrow>.elementor-widget{flex:0 0 auto;}
.tie-cta-copy{max-width:56rem;margin:0 auto;}

/* ---------- panel card ---------- */
.tie-panel{background:rgba(6,14,34,.55);border:1px solid rgba(255,255,255,.07);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;
  transition:border-color .25s ease,box-shadow .3s ease,transform .35s cubic-bezier(.33,1,.68,1);}
.tie-panel:hover{border-color:rgba(227,6,19,.35);box-shadow:0 12px 40px rgba(0,0,0,.25);transform:translateY(-3px);}
.tie-panel>*{margin:0;}
.tie-panel .tie-card-label{margin-bottom:12px!important;}
.tie-panel .tie-h3{margin-bottom:8px!important;}
.tie-panel .tie-card-p{margin-bottom:0!important;}
.tie-panel .tie-ilist{margin-top:14px!important;}
.tie-panel .tie-link{margin-top:16px!important;}
.tie-panel .tie-btn{margin-top:18px!important;}
.tie-panel-icon{margin-bottom:14px!important;}
.tie-panel-icon .elementor-icon{color:var(--tie-red);font-size:24px;}
.tie-panel-icon .elementor-icon svg{fill:currentColor;}
.tie-price .elementor-heading-title{font-family:var(--tie-heading)!important;font-weight:900!important;
  font-size:clamp(1.5rem,2.2vw,1.875rem)!important;letter-spacing:-.03em!important;color:#fff!important;line-height:1.2!important;}
.tie-price{margin-bottom:6px!important;}

/* ---------- icon list ---------- */
.tie-ilist .elementor-icon-list-item{align-items:flex-start;}
.tie-ilist .elementor-icon-list-icon{margin-top:5px;}
.tie-ilist .elementor-icon-list-icon i,
.tie-ilist .elementor-icon-list-icon svg{color:var(--tie-red)!important;fill:currentColor;width:12px;height:12px;font-size:12px;}
.tie-ilist .elementor-icon-list-text{font-family:var(--tie-body)!important;font-size:14px!important;
  color:rgba(255,255,255,.6)!important;line-height:1.6!important;}
.tie-ilist .elementor-icon-list-items{display:flex;flex-direction:column;gap:10px;}

/* ---------- misc inner-page bits ---------- */
.tie-note{font-family:var(--tie-body);font-size:13px;color:rgba(255,255,255,.4);line-height:1.7;}
.tie-note p{margin:0;}
.tie-prose p{font-family:var(--tie-body);font-size:16px;color:rgba(255,255,255,.55);line-height:1.8;margin:0 0 16px;}
.tie-prose ul{margin:0 0 16px 18px;color:rgba(255,255,255,.55);font-size:16px;line-height:1.8;}
.tie-prose a{color:var(--tie-red);}
.tie-legal-h2 .elementor-heading-title{font-size:clamp(1.25rem,1.8vw,1.5rem)!important;line-height:1.3!important;}
.tie-legal-h2{margin-top:12px!important;margin-bottom:8px!important;}

@media (max-width:767px){
  .tie-head{margin-bottom:36px;}
}

/* ---------- about page ---------- */
/* only the row itself — setting this on the columns re-centres every widget inside them */
.tie-align-center{align-items:center!important;}
.tie-align-center>.e-con{align-items:stretch!important;}
.tie-about-media-single{position:relative;}
.tie-figure img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid rgba(255,255,255,.1);}
.tie-about-media-single .tie-badge{position:absolute;left:-16px;bottom:-16px;width:auto!important;flex:0 0 auto!important;
  background:var(--tie-navy);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px 22px!important;
  box-shadow:0 8px 32px rgba(0,0,0,.4);text-align:center;}
.tie-badge-num .elementor-heading-title{font-family:var(--tie-heading)!important;font-weight:900!important;font-size:30px!important;color:var(--tie-red)!important;line-height:1.1!important;letter-spacing:-.03em!important;}
.tie-badge-label .elementor-heading-title{font-family:var(--tie-body)!important;font-size:12px!important;font-weight:400!important;text-transform:uppercase!important;letter-spacing:.1em!important;color:rgba(255,255,255,.5)!important;}
.tie-about-ilist{margin-top:12px!important;margin-bottom:24px!important;}
.tie-about-copy .tie-btn{margin-top:4px!important;}
/* source: repeat(3,1fr) with the last tile spanning two columns */
.tie-gn-stats{display:grid!important;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px)!important;}
.tie-gn-stats>.e-con{width:auto!important;flex:none!important;}
.tie-gn-stats>.e-con:last-child{grid-column:span 2;}
.tie-gn-stats .tie-stat-num .elementor-heading-title{font-size:clamp(1.75rem,2.6vw,2.25rem)!important;}
.tie-gn-stats>.e-con:last-child .tie-stat-num .elementor-heading-title{font-size:clamp(1.5rem,2.2vw,1.875rem)!important;}
.tie-gn-copy .tie-eyebrow{margin-bottom:20px!important;}
.tie-gn-copy .tie-h2{margin-bottom:16px!important;}
@media (max-width:767px){ .tie-about-media-single .tie-badge{left:8px;bottom:-12px;padding:12px 18px!important;} }

/* ---------- membership ---------- */
.tie-h3-lg .elementor-heading-title{font-size:24px!important;line-height:1.25!important;}
.tie-tier .elementor-heading-title{font-family:var(--tie-heading)!important;font-size:10px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.18em!important;color:rgba(255,255,255,.4)!important;}
.tie-tier{margin-bottom:10px!important;}
.tie-panel-hi{border-color:rgba(227,6,19,.45)!important;background:rgba(10,31,68,.6)!important;box-shadow:0 0 24px rgba(227,6,19,.06);}
.tie-panel-hi .tie-tier .elementor-heading-title{color:rgba(255,255,255,.5)!important;}
.tie-hero-cta{margin-top:32px!important;}
.tie-quotecard{background:rgba(10,31,68,.6);border:1px solid rgba(227,6,19,.3);border-radius:12px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 24px rgba(227,6,19,.06);}
.tie-quotecard .tie-quote-text .elementor-heading-title{font-family:var(--tie-display)!important;font-style:italic;
  font-size:clamp(1.125rem,1.8vw,1.5rem)!important;line-height:1.5!important;color:#fff!important;letter-spacing:normal!important;font-weight:400!important;}
.tie-quote-name .elementor-heading-title{font-family:var(--tie-body)!important;font-size:14px!important;color:#fff!important;font-weight:600!important;}
.tie-quote-role .elementor-heading-title{font-family:var(--tie-body)!important;font-size:12px!important;color:rgba(255,255,255,.45)!important;font-weight:400!important;}
.tie-notecard{border:1px dashed rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.02);}
.tie-notecard .tie-note-h .elementor-heading-title{font-family:var(--tie-heading)!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.16em!important;color:rgba(255,255,255,.5)!important;}

/* ---------- events ---------- */
.tie-h3-xl .elementor-heading-title{font-size:clamp(1.875rem,3vw,2.25rem)!important;font-family:var(--tie-display)!important;line-height:1.15!important;}
.tie-about-copy .tie-h3-xl{margin-bottom:16px!important;}
.tie-pillrow{margin-bottom:20px!important;}
.tie-pillrow>.elementor-widget{flex:0 0 auto;}
.tie-pill .elementor-heading-title{display:inline-block;font-family:var(--tie-heading)!important;font-size:11px!important;font-weight:700!important;
  text-transform:uppercase!important;letter-spacing:.14em!important;color:rgba(255,255,255,.45)!important;
  border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 12px;line-height:1.4!important;}
.tie-pill-red .elementor-heading-title{color:var(--tie-red)!important;border-color:rgba(227,6,19,.45);background:rgba(227,6,19,.08);}
.tie-detailgrid{margin:8px 0 28px!important;}
.tie-detailgrid>.e-con{flex:1 1 200px;min-width:0;}
.tie-detail-k .elementor-heading-title{font-family:var(--tie-heading)!important;font-size:10px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.16em!important;color:var(--tie-red)!important;}
.tie-detail-v .elementor-heading-title{font-family:var(--tie-body)!important;font-size:14px!important;font-weight:400!important;color:rgba(255,255,255,.75)!important;line-height:1.6!important;}
.tie-center .tie-btn{margin-top:8px!important;}

/* ---------- programs ---------- */
.tie-h3-md .elementor-heading-title{font-size:20px!important;line-height:1.3!important;}
.tie-progtag .elementor-heading-title{display:inline-block;font-family:var(--tie-heading)!important;font-size:14px!important;font-weight:900!important;
  letter-spacing:-.01em!important;color:#fff!important;background:var(--tie-red);border-radius:6px;padding:6px 12px;line-height:1.2!important;}
.tie-progtag{margin-bottom:14px!important;}

/* ---------- partners ---------- */
.tie-steps .tie-eyebrow{margin-bottom:6px!important;}
.tie-step>.elementor-widget{flex:0 0 auto;}
.tie-step-n .elementor-heading-title{font-family:var(--tie-heading)!important;font-size:12px!important;font-weight:900!important;color:var(--tie-red)!important;letter-spacing:.08em!important;}
.tie-step-t .elementor-heading-title{font-family:var(--tie-body)!important;font-size:14px!important;font-weight:600!important;color:#fff!important;}
.tie-step-d .elementor-heading-title{font-family:var(--tie-body)!important;font-size:12px!important;font-weight:400!important;color:rgba(255,255,255,.45)!important;line-height:1.6!important;}
.tie-step-copy{flex:1 1 auto;}

/* ---------- contact + wpforms ---------- */
.tie-align-start{align-items:flex-start!important;}
.tie-align-start>.e-con{align-items:stretch!important;}
.tie-contact-v .elementor-heading-title{font-family:var(--tie-body)!important;font-size:16px!important;font-weight:400!important;color:rgba(255,255,255,.85)!important;line-height:1.6!important;}
.tie-contact-v a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(227,6,19,.5);}
.tie-contact-v a:hover{color:var(--tie-red);}
.tie-formcard .tie-h3-lg{margin-bottom:6px!important;}
.tie-form .wpforms-container{margin:0!important;}
.tie-form .wpforms-field{padding:0 0 16px!important;}
.tie-form .wpforms-field-label{font-family:var(--tie-heading)!important;font-size:12px!important;font-weight:700!important;
  text-transform:uppercase!important;letter-spacing:.12em!important;color:rgba(255,255,255,.6)!important;margin-bottom:8px!important;}
.tie-form .wpforms-required-label{color:var(--tie-red)!important;}
.tie-form input[type=text],.tie-form input[type=email],.tie-form select,.tie-form textarea{
  width:100%!important;max-width:100%!important;background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.12)!important;
  border-radius:6px!important;color:#fff!important;font-family:var(--tie-body)!important;font-size:15px!important;
  padding:12px 14px!important;line-height:1.5!important;box-shadow:none!important;}
.tie-form textarea{min-height:130px!important;}
.tie-form input::placeholder,.tie-form textarea::placeholder{color:rgba(255,255,255,.35)!important;}
.tie-form input:focus,.tie-form select:focus,.tie-form textarea:focus{border-color:rgba(227,6,19,.7)!important;outline:2px solid rgba(227,6,19,.25)!important;outline-offset:1px;}
.tie-form select option{background:#0A1F44;color:#fff;}
.tie-form .wpforms-submit{background-color:var(--tie-red)!important;color:#fff!important;border:1.5px solid var(--tie-red)!important;
  font-family:var(--tie-heading)!important;font-size:14px!important;font-weight:700!important;text-transform:uppercase!important;
  letter-spacing:.05em!important;border-radius:4px!important;padding:14px 32px!important;cursor:pointer;transition:background-color .2s ease,transform .15s ease,box-shadow .2s ease;}
.tie-form .wpforms-submit:hover{background-color:var(--tie-red-dark)!important;border-color:var(--tie-red-dark)!important;transform:translateY(-1px);box-shadow:0 6px 20px rgba(227,6,19,.35);}
.tie-form .wpforms-submit:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.tie-form .wpforms-error{color:#ff8b93!important;font-size:13px!important;}
.tie-form .wpforms-confirmation-container-full{background:rgba(227,6,19,.08)!important;border:1px solid rgba(227,6,19,.4)!important;color:#fff!important;border-radius:8px;}
.tie-jump{text-align:left;}
.tie-jump .tie-eyebrow{margin-bottom:2px!important;}
