.tib-page{--navy:#061b3a;--red:#d71920;--text:#17233b;--muted:#64748b;--line:#dbe4ee;--soft:#f4f7fb;font-family:Inter,Arial,sans-serif;color:var(--text)}.tib-page *{box-sizing:border-box}.tib-page .wrap{width:min(1180px,calc(100% - 36px));margin:auto}.tib-page .hero,.tib-page .detail-hero{padding:78px 0;background:linear-gradient(135deg,#061b3a,#003b7a);color:#fff}.tib-page .eyebrow{display:block;margin-bottom:12px;color:#ff5960;font-size:12px;font-weight:850;letter-spacing:.14em}.tib-page h1{max-width:900px;margin:0;color:#fff!important;font-size:clamp(42px,7vw,74px);line-height:.98;letter-spacing:-.045em}.tib-page .hero p,.tib-page .detail-hero p{max-width:760px;margin:20px 0;color:rgba(255,255,255,.84)!important;font-size:19px;line-height:1.6}.tib-page #tib-search{width:min(650px,100%);height:58px;padding:0 18px;border:0;border-radius:15px;background:#fff;color:var(--navy);font-size:16px}.tib-page .section{padding:70px 0}.tib-page .soft{background:var(--soft)}.tib-page .section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:26px}.tib-page .section-head>div>span{color:var(--red);font-size:12px;font-weight:850;letter-spacing:.12em}.tib-page .section-head h2{margin:5px 0 0;color:var(--navy)!important;font-size:clamp(30px,4vw,46px)}.tib-page .section-head p{max-width:420px;margin:0;color:var(--muted)!important}.tib-page .upcoming{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tib-page .date-card{display:grid;grid-template-columns:88px 1fr;gap:18px;padding:21px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(6,27,58,.07)}.tib-page .date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px;border-radius:14px;background:#f4f7fb;border:1px solid var(--line)}.tib-page .date-badge strong{color:var(--accent);font-size:34px}.tib-page .date-badge span{color:var(--accent);font-weight:800;text-transform:uppercase}.tib-page .countdown{color:#1d6b5f;font-size:12px;font-weight:800;text-transform:uppercase}.tib-page .date-card h3,.tib-page .program-card h3,.tib-page .content-card h2{color:var(--navy)!important}.tib-page .date-card p,.tib-page .program-card p,.tib-page .content-card p{color:var(--muted)!important;line-height:1.6}.tib-page a{font-weight:800}.tib-page .filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.tib-page .filters button{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:750}.tib-page .filters .is-active{background:var(--navy);color:#fff}.tib-page .programs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tib-page .program-card{display:flex;flex-direction:column;min-height:285px;padding:23px;border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:18px;background:#fff}.tib-page .program-top,.tib-page .program-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center}.tib-page .program-top{color:var(--muted);font-size:12px}.tib-page .code{padding:6px 9px;border-radius:8px;background:#f4f7fb;color:var(--accent);font-weight:850}.tib-page .program-card h3{margin:18px 0 10px;font-size:23px}.tib-page .program-bottom{margin-top:auto;padding-top:22px;font-size:13px}.tib-page .disclaimer{padding:26px 0;border-top:1px solid var(--line)}.tib-page .disclaimer .wrap{display:grid;grid-template-columns:180px 1fr;gap:20px}.tib-page .disclaimer p{margin:0;color:var(--muted)!important}.tib-page .back{display:inline-block;margin-bottom:28px;color:#fff!important}.tib-page .detail-code{display:inline-flex;padding:8px 11px;border-radius:8px;background:var(--accent);color:#fff;font-weight:850}.tib-page .next{display:inline-flex;flex-direction:column;margin-top:24px;padding:16px 20px;border-radius:13px;background:#fff;color:var(--navy)}.tib-page .next span{font-size:12px;color:var(--muted)}.tib-page .next strong{font-size:23px}.tib-page .detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px}.tib-page .main{display:grid;gap:18px}.tib-page .content-card,.tib-page .info-card{padding:27px;border:1px solid var(--line);border-radius:18px;background:#fff}.tib-page .content-card h2{margin-top:0;font-size:30px}.tib-page aside{display:grid;gap:13px;align-self:start;position:sticky;top:95px}.tib-page .info-card{display:grid;gap:7px}.tib-page .info-card span{margin-top:9px;color:var(--muted);font-size:12px;text-transform:uppercase}.tib-page .official,.tib-page .appointment{display:flex;justify-content:center;padding:15px;border-radius:13px;text-decoration:none}.tib-page .official{border:1px solid var(--line);color:var(--navy)!important}.tib-page .appointment{background:var(--red);color:#fff!important}.tib-page .date-list{display:grid;gap:9px}.tib-page .date-list>div{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:13px 15px;border-radius:11px;background:var(--soft)}.tib-page .past{opacity:.55}[hidden]{display:none!important}@media(max-width:900px){.tib-page .upcoming,.tib-page .programs,.tib-page .detail-grid{grid-template-columns:1fr}.tib-page aside{position:static}.tib-page .section-head{display:block}.tib-page .section-head p{margin-top:10px}}@media(max-width:620px){.tib-page .hero,.tib-page .detail-hero{padding:55px 0}.tib-page .section{padding:48px 0}.tib-page .date-card{grid-template-columns:70px 1fr;padding:15px}.tib-page .disclaimer .wrap,.tib-page .date-list>div{grid-template-columns:1fr}}.ti-ben-admin{max-width:1450px}.ti-ben-admin .kicker{margin:24px 0 5px;color:#d71920;font-size:12px;font-weight:850;letter-spacing:.13em}.ti-ben-admin h1{margin-top:0;color:#061b3a;font-size:38px}.ti-ben-admin .lead{font-size:17px;color:#64748b}.ti-ben-admin .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0}.ti-ben-admin .cards>div,.ti-ben-admin .panel{padding:23px;border:1px solid #dbe4ee;border-radius:16px;background:#fff}.ti-ben-admin .cards strong{display:block;color:#061b3a;font-size:34px}.ti-ben-admin .cards span{color:#64748b}.ti-ben-admin .panel{margin-top:18px}.ti-ben-admin .admin-grid{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:18px;align-items:start}.ti-ben-admin .form{display:grid;gap:13px}.ti-ben-admin .form label{display:grid;gap:5px;font-weight:700;color:#061b3a}.ti-ben-admin .form input:not([type=checkbox]),.ti-ben-admin .form textarea,.ti-ben-admin .form select{width:100%}.ti-ben-admin .form .check{display:flex;align-items:center}@media(max-width:1000px){.ti-ben-admin .admin-grid{grid-template-columns:1fr}.ti-ben-admin .cards{grid-template-columns:1fr}}
.legacy-note{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#fff7e8;color:#7a4b00;font-size:13px;line-height:1.45}
.legacy-note strong{color:#5d3900}
.name-change{max-width:760px;margin-top:24px;padding:18px 20px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.1);color:#fff}
.name-change span{display:block;color:rgba(255,255,255,.72);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.name-change strong{display:block;margin-top:5px;color:#fff;font-size:22px}
.name-change p{margin:8px 0 0!important;color:rgba(255,255,255,.84)!important;font-size:15px!important;line-height:1.55!important}

.missing-payment{border-top:5px solid #d71920}
.missing-payment-head>span{display:block;margin-bottom:7px;color:#d71920;font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.missing-payment-head h2{margin-bottom:10px!important}
.missing-payment-head p{margin:0 0 22px!important}
.missing-payment-steps{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.missing-payment-steps li{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:15px;border:1px solid #dbe4ee;border-radius:13px;background:#f7f9fc}
.missing-payment-steps li>span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#061b3a;color:#fff;font-weight:850}
.missing-payment-steps p{margin:4px 0 0!important;color:#36475f!important}
.missing-payment-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.missing-payment-actions a{display:inline-flex;align-items:center;justify-content:center;padding:13px 16px;border-radius:11px;text-decoration:none!important;font-weight:800}
.account-link{background:#061b3a;color:#fff!important}
.help-link{border:1px solid #cbd7e5;background:#fff;color:#061b3a!important}
.missing-payment-note{margin-top:22px;padding:20px;border-radius:14px;background:#fff4f4;border:1px solid #f0c8c8}
.missing-payment-note strong{display:block;color:#8c1117;font-size:19px}
.missing-payment-note p{margin:7px 0 13px!important;color:#5b3440!important}
.missing-payment-note a{display:inline-flex;padding:12px 15px;border-radius:10px;background:#d71920;color:#fff!important;text-decoration:none!important;font-weight:850}
@media(max-width:620px){.missing-payment-actions{display:grid}.missing-payment-actions a{width:100%}}

/* v1.4.0 — Refonte visuelle */
.hero-compact{padding:46px 0!important}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:36px;align-items:center}
.hero-copy h1{max-width:760px!important;font-size:clamp(42px,6vw,66px)!important}
.hero-copy p{max-width:720px!important;margin-top:16px!important}
.hero-trust{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.hero-trust span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:12px;font-weight:750}
.hero-search-card{padding:22px;border-radius:18px;background:#fff;color:#061b3a;box-shadow:0 22px 55px rgba(0,0,0,.18)}
.hero-search-card strong{display:block;margin-bottom:12px;font-size:20px}
.hero-search-card input{width:100%;height:54px;padding:0 16px;border:1px solid #d6e0eb;border-radius:12px;color:#061b3a;font-size:16px}
.hero-search-card small{display:block;margin-top:9px;color:#64748b}
.provider-badge{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #dce5ef;border-radius:14px;background:#fff;color:#061b3a}
.provider-badge.compact{padding:8px 10px;border-radius:11px}
.provider-badge img{width:112px;max-height:38px;object-fit:contain;object-position:left center}
.provider-symbol{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#f2f6fa;font-size:22px}
.provider-badge.compact .provider-symbol{width:32px;height:32px;border-radius:9px;font-size:17px}
.provider-copy{display:flex;flex-direction:column;min-width:0}
.provider-copy small{color:#718198;font-size:10px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.provider-copy strong{overflow:hidden;color:#061b3a;font-size:13px;line-height:1.25;text-overflow:ellipsis}
.provider-arc{border-left:4px solid #e52b32}
.provider-rq{border-left:4px solid #2468a6}
.provider-retq{border-left:4px solid #008477}
.provider-service-canada{border-left:4px solid #d71920}
.provider-quebec{border-left:4px solid #2b6cb0}
.date-card-copy>.provider-badge{margin-bottom:11px}
.program-card>.provider-badge{margin-bottom:15px}
.detail-hero-compact{padding:32px 0 46px!important}
.detail-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:center}
.detail-hero-copy .provider-badge{display:inline-flex;margin-bottom:18px;max-width:390px}
.detail-hero-copy h1{font-size:clamp(38px,5vw,62px)!important}
.hero-payment-card{padding:24px;border-radius:20px;background:#fff;color:#061b3a;box-shadow:0 22px 60px rgba(0,0,0,.2)}
.hero-payment-card>span{display:block;color:#64748b;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hero-payment-card>strong{display:block;margin-top:8px;font-size:31px;line-height:1.08}
.hero-payment-card>b{display:inline-flex;margin-top:13px;padding:8px 10px;border-radius:9px;background:#eaf7f2;color:#176b55;font-size:13px}
.hero-payment-actions{display:grid;gap:8px;margin-top:20px}
.hero-payment-actions a{display:flex;justify-content:center;padding:12px;border-radius:10px;background:#f3f6fa;color:#061b3a!important;text-decoration:none!important;font-weight:800}
.hero-payment-actions a:last-child{background:#fff1f1;color:#a5171d!important}
.detail-content{background:#f4f7fb!important}
.content-card,.info-card{box-shadow:0 10px 30px rgba(6,27,58,.05)}
.detail aside>.provider-badge{margin-bottom:14px}
.date-card,.program-card{transition:transform .18s ease,box-shadow .18s ease}
.date-card:hover,.program-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(6,27,58,.11)}
@media(max-width:900px){.hero-layout,.detail-hero-grid{grid-template-columns:1fr}.hero-search-card{max-width:620px}.hero-payment-card{max-width:520px}}
@media(max-width:620px){.hero-compact{padding:34px 0!important}.hero-trust{display:grid}.detail-hero-compact{padding-top:24px!important}.provider-badge{align-items:flex-start}.provider-badge img{width:92px}}

/* v1.5.0 — Agenda, navigation et SEO UX */
.all-calendar-link{display:inline-flex;margin-top:14px;color:#0b4f8a!important;font-weight:800;text-decoration:none!important}
.program-links{display:flex;align-items:center;gap:8px}.program-links a{white-space:nowrap}.mini-calendar{padding:7px 9px!important;border:1px solid #ccd8e6;border-radius:8px;background:#fff!important;color:#163653!important;font-size:12px!important}
.calendar-card{border-top:5px solid #0b6f63}.calendar-card-head>span{display:block;margin-bottom:7px;color:#0b6f63;font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.calendar-card-head p{margin-bottom:20px!important}
.calendar-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.calendar-option{display:flex;min-height:112px;flex-direction:column;justify-content:center;padding:18px;border:1px solid #d8e3ee;border-radius:14px;background:#f8fafc;color:#061b3a!important;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease}.calendar-option:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(6,27,58,.1)}.calendar-option strong{font-size:18px}.calendar-option span{margin-top:6px;color:#64748b;font-size:13px}.google-calendar{border-top:4px solid #4285f4}.outlook-calendar{border-top:4px solid #0078d4}.apple-calendar{border-top:4px solid #555}.calendar-disclaimer{margin:16px 0 0!important;color:#69788c!important;font-size:12px!important}
.ti-benefits-header-link>a{font-weight:800}.ti-benefits-footer-link>a{font-weight:700}
@media(max-width:760px){.calendar-options{grid-template-columns:1fr}.program-links{flex-wrap:wrap}}
.ti-benefits-footer-resource{padding:18px 20px;background:#071a35;color:#fff}.ti-benefits-footer-resource-inner{display:flex;max-width:1180px;margin:auto;align-items:center;gap:18px}.ti-benefits-footer-resource strong{font-size:14px;text-transform:uppercase;letter-spacing:.08em}.ti-benefits-footer-resource a{color:#fff!important;font-weight:750;text-decoration:underline!important}@media(max-width:620px){.ti-benefits-footer-resource-inner{align-items:flex-start;flex-direction:column;gap:7px}}
