/* Partner section. Author: Sandro Brotini. All selectors are scoped descendants. */
html .ti-site .partner-page { --partner-lime:#d9f78b; --partner-navy:#111c33; }
html .ti-site .partner-page section[id] { scroll-margin-top:115px; }
html .ti-site .partner-hero { padding:20px 0 80px; background:linear-gradient(180deg,#f9fafc,#f3f6fc); }
html .ti-site .partner-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:center; padding-top:30px; }
html .ti-site .partner-hero-copy h1 { font-size:clamp(2.6rem,4.55vw,4.6rem); letter-spacing:-.065em; line-height:1.08; margin-bottom:28px; }
html .ti-site .partner-hero-copy h1 > span { display:block; color:var(--accent); }
html .ti-site .partner-hero-copy .lead { max-width:570px; font-size:1.06rem; }
html .ti-site .partner-hero-copy .hero-actions { gap:18px; }
html .ti-site .partner-hero-copy .hero-actions .text-link { font-size:.8rem; }
html .ti-site .partner-hero-note { display:flex; gap:10px; align-items:center; margin-top:25px; font-size:.77rem; color:var(--muted); }
html .ti-site .partner-hero-note .icon { width:18px; height:18px; }
html .ti-site .partner-connection { position:relative; isolation:isolate; overflow:hidden; border-radius:30px; padding:36px; background:radial-gradient(ellipse at 100% 0,#294479 0,transparent 55%),var(--partner-navy); color:#fff; box-shadow:0 26px 70px #10234519; }
html .ti-site .partner-connection-grid { position:absolute; inset:0; z-index:-1; opacity:.18; background-image:linear-gradient(#829aca30 1px,transparent 1px),linear-gradient(90deg,#829aca30 1px,transparent 1px); background-size:32px 32px; }
html .ti-site .partner-visual-eyebrow { color:#c2cce0; font-size:.62rem; letter-spacing:.14em; font-weight:600; margin-bottom:33px; }
html .ti-site .partner-node { display:flex; align-items:center; gap:19px; border:1px solid #ffffff25; padding:26px 23px; border-radius:17px; background:#ffffff09; backdrop-filter:blur(3px); }
html .ti-site .partner-node h2 { font-size:1.4rem; line-height:1.22; letter-spacing:-.035em; margin-bottom:9px; }
html .ti-site .partner-node p { font-size:.81rem; color:#c2cbe0; line-height:1.6; }
html .ti-site .partner-node-icon { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:53px; height:53px; background:#ffffff12; border-radius:14px; }
html .ti-site .partner-node-icon .icon { width:26px; height:26px; }
html .ti-site .partner-node-us { background:var(--partner-lime); border-color:var(--partner-lime); color:#1c3026; }
html .ti-site .partner-node-us p { color:#3f5036; }
html .ti-site .partner-node-us .partner-node-icon { background:#22382310; }
html .ti-site .partner-connector { display:flex; flex-direction:column; align-items:center; }
html .ti-site .partner-connector > span { height:24px; width:1px; background:#8ca2c966; }
html .ti-site .partner-connector p { display:flex; gap:9px; align-items:center; border:1px solid #7c95bd55; border-radius:30px; padding:8px 14px; font-size:.69rem; color:#e2e9f7; }
html .ti-site .partner-connector .icon { width:14px; height:14px; color:var(--partner-lime); }
html .ti-site .partner-visual-footer { display:flex; align-items:flex-start; gap:10px; font-size:.68rem; color:#becae0; margin-top:28px; }
html .ti-site .partner-visual-footer .icon { color:var(--partner-lime); width:17px; height:17px; }
html .ti-site .partner-section-heading { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:44px; }
html .ti-site .partner-section-heading h2 { font-size:clamp(2rem,3.1vw,3rem); }
html .ti-site .partner-section-heading .lead { font-size:.99rem; }
html .ti-site .partner-section-heading .text-link { margin-top:15px; }
html .ti-site .partner-audience-heading { border-top:1px solid var(--line); padding-top:37px; margin-top:46px; }
html .ti-site .partner-audience-heading h3 { font-size:1.55rem; }
html .ti-site .partner-audience-heading p { color:var(--muted); font-size:.92rem; margin-top:10px; }
html .ti-site .partner-audiences { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:28px; }
html .ti-site .partner-audience-card { padding:30px; border:1px solid var(--line); background:#fff; border-radius:19px; }
html .ti-site .partner-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:27px; }
html .ti-site .partner-card-icon { display:flex; align-items:center; justify-content:center; width:47px; height:47px; background:#edf1ff; color:var(--accent); border-radius:13px; }
html .ti-site .partner-card-number { color:#737e90; font-size:.73rem; font-variant-numeric:tabular-nums; }
html .ti-site .partner-audience-card h3 { font-size:1.35rem; line-height:1.2; margin-bottom:14px; }
html .ti-site .partner-audience-card p { color:var(--muted); font-size:.87rem; }
html .ti-site .partner-solutions { background:#f0f3f8; }
html .ti-site .partner-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
html .ti-site .partner-service { overflow:hidden; background:#fff; border:1px solid #e0e5ee; border-radius:19px; }
html .ti-site .partner-service > a { display:flex; flex-direction:column; height:100%; }
html .ti-site .partner-service-art { overflow:hidden; aspect-ratio:2/1; background:#edf1fb; }
html .ti-site .partner-service-art img { width:100%; height:100%; object-fit:cover; transition:transform .2s; }
html .ti-site .partner-service > a:hover .partner-service-art img { transform:scale(1.035); }
html .ti-site .partner-service-copy { padding:22px 25px; display:flex; flex-direction:column; flex:1; }
html .ti-site .partner-service-copy > p { font-size:.66rem; color:var(--muted); margin-bottom:9px; }
html .ti-site .partner-service-copy h3 { font-size:1.45rem; line-height:1.2; margin-bottom:19px; }
html .ti-site .partner-service-copy > span { display:flex; justify-content:space-between; align-items:center; font-size:.75rem; font-weight:600; color:var(--accent); margin-top:auto; }
html .ti-site .partner-benefits { background:var(--partner-navy); color:#fff; }
html .ti-site .partner-benefits .eyebrow { color:var(--partner-lime); }
html .ti-site .partner-benefits .lead { color:#bdc9dc; }
html .ti-site .partner-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; border-top:1px solid #ffffff24; padding-top:35px; }
html .ti-site .partner-benefit-grid article > span { color:var(--partner-lime); }
html .ti-site .partner-benefit-grid h3 { font-size:1.3rem; margin:18px 0 13px; }
html .ti-site .partner-benefit-grid p { color:#c2cce0; font-size:.88rem; }
html .ti-site .partner-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; list-style:none; margin:0; padding:0; }
html .ti-site .partner-process-grid li { border-top:1px solid #cad2df; padding-top:22px; }
html .ti-site .partner-process-grid li > span { display:inline-block; font-size:.79rem; font-weight:650; color:var(--accent); padding:7px 12px; border:1px solid #dce2f4; border-radius:10px; background:#eef2fc; }
html .ti-site .partner-process-grid h3 { margin:23px 0 14px; font-size:1.25rem; line-height:1.3; }
html .ti-site .partner-process-grid p { color:var(--muted); font-size:.86rem; }
html .ti-site .partner-faq { background:#f4f6f9; }
html .ti-site .partner-faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
html .ti-site .partner-faq-list details { border-bottom:1px solid #d9e0e8; }
html .ti-site .partner-faq-list summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; min-height:75px; padding:19px 0; font-weight:600; font-size:.94rem; }
html .ti-site .partner-faq-list summary::-webkit-details-marker { display:none; }
html .ti-site .partner-faq-list summary > span { font-size:1.4rem; color:var(--accent); transition:transform .2s; }
html .ti-site .partner-faq-list details[open] summary > span { transform:rotate(45deg); }
html .ti-site .partner-faq-list details > p { color:var(--muted); font-size:.9rem; padding:0 35px 24px 0; }
html .ti-site .partner-application { background:#f8fafc; }
html .ti-site .partner-application-grid { display:grid; grid-template-columns:.75fr 1.25fr; align-items:start; gap:65px; }
html .ti-site .partner-application-intro { position:sticky; top:130px; }
html .ti-site .partner-application-intro h2 { font-size:clamp(2.1rem,3.1vw,3.1rem); }
html .ti-site .partner-application-intro .lead { margin-top:25px; font-size:.98rem; }
html .ti-site .partner-application-note { display:flex; gap:14px; border-block:1px solid var(--line); padding:24px 0; margin-top:30px; }
html .ti-site .partner-application-note .icon { color:var(--accent); }
html .ti-site .partner-application-note p { font-size:.82rem; color:var(--muted); }
html .ti-site .partner-direct { margin-top:28px; }
html .ti-site .partner-direct p { font-size:.81rem; color:var(--muted); margin-bottom:10px; }
html .ti-site .partner-direct a { display:flex; align-items:center; gap:10px; width:fit-content; font-size:.94rem; font-weight:600; margin-top:6px; }
html .ti-site .partner-direct .icon { width:16px; height:16px; }
html .ti-site .partner-form-card { padding:35px; border:1px solid #dee4ed; border-radius:23px; background:#fff; box-shadow:0 20px 60px #1b315508; min-width:0; }
html .ti-site .partner-form-required { font-size:.73rem; color:var(--muted); margin-bottom:27px; }
html .ti-site .partner-form-block { margin:0 0 30px; padding:0 0 29px; border-bottom:1px solid #e7ebf1; }
html .ti-site .partner-form-block:last-child { margin:0; border-bottom:0; padding-bottom:0; }
html .ti-site .partner-form-block legend { display:flex; align-items:center; gap:12px; font-size:1rem; font-weight:650; width:100%; margin-bottom:22px; }
html .ti-site .partner-form-block legend > span:first-child { font-size:.68rem; font-weight:600; color:var(--accent); padding:5px 8px; background:#eef2ff; border-radius:7px; }
html .ti-site .partner-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px; }
html .ti-site .partner-field { display:flex; flex-direction:column; min-width:0; gap:7px; font-size:.8rem; font-weight:500; }
html .ti-site .partner-field > span > small { color:var(--muted); font-weight:400; font-size:.7rem; }
html .ti-site .partner-field input,html .ti-site .partner-field select,html .ti-site .partner-field textarea { width:100%; min-width:0; border:1px solid #cfd7e3; background:#fcfdff; border-radius:9px; min-height:48px; padding:11px 13px; color:var(--ink); font-size:16px; line-height:1.45; transition:border-color .15s,box-shadow .15s; }
html .ti-site .partner-field textarea { resize:vertical; min-height:145px; }
html .ti-site .partner-field input:focus,html .ti-site .partner-field select:focus,html .ti-site .partner-field textarea:focus { outline:0; border-color:var(--accent); box-shadow:0 0 0 3px #3459e616; background:#fff; }
html .ti-site .partner-field input::placeholder,html .ti-site .partner-field textarea::placeholder { color:#747e8d; font-size:.86rem; }
html .ti-site .partner-wide { grid-column:1 / -1; }
html .ti-site .partner-field-hint { font-size:.74rem; font-weight:400; color:var(--muted); line-height:1.6; }
html .ti-site .partner-interest-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:16px; }
html .ti-site .partner-interest { position:relative; display:block; cursor:pointer; min-width:0; }
html .ti-site .partner-interest > input { position:absolute; opacity:0; width:1px; height:1px; }
html .ti-site .partner-interest > span { display:flex; align-items:center; gap:9px; padding:12px 11px; border:1px solid #d7deea; border-radius:10px; min-height:62px; background:#fff; font-size:.75rem; line-height:1.4; font-weight:500; height:100%; }
html .ti-site .partner-interest > span > .icon { width:17px; height:17px; color:var(--muted); }
html .ti-site .partner-interest > input:checked + span { border-color:var(--accent); background:#f0f4ff; color:#223f9e; }
html .ti-site .partner-interest > input:focus-visible + span { outline:3px solid var(--accent); outline-offset:3px; }
html .ti-site .partner-interest-check { margin-left:auto; display:flex; width:16px; height:16px; flex:0 0 auto; border:1px solid #b7c2d4; border-radius:4px; }
html .ti-site .partner-interest-check .icon { width:14px; height:14px; visibility:hidden; }
html .ti-site .partner-interest > input:checked + span .partner-interest-check { background:var(--accent); border-color:var(--accent); color:#fff; }
html .ti-site .partner-interest > input:checked + span .partner-interest-check .icon { visibility:visible; }
html .ti-site .partner-interest-orientation { grid-column:1 / -1; }
html .ti-site .partner-form-block > .partner-field + .partner-field { margin-top:20px; }
html .ti-site .partner-privacy { margin:25px 0; padding-top:22px; border-top:1px solid #e7ebf1; }
html .ti-site .partner-privacy-check { display:flex; align-items:flex-start; gap:12px; cursor:pointer; font-size:.78rem; line-height:1.6; }
html .ti-site .partner-privacy-check input { width:19px; height:19px; flex:0 0 auto; accent-color:var(--accent); margin:3px 0 0; }
html .ti-site .partner-policy-link { display:inline-flex; align-items:center; gap:6px; margin:10px 0 14px 31px; font-size:.75rem; color:var(--accent); text-decoration:underline; }
html .ti-site .partner-policy-link .icon { width:13px; height:13px; }
html .ti-site .partner-privacy details { background:#f5f7fb; border-radius:8px; padding:10px 13px; font-size:.74rem; }
html .ti-site .partner-privacy summary { cursor:pointer; font-weight:550; }
html .ti-site .partner-privacy details > p { margin-top:10px; color:var(--muted); }
html .ti-site .partner-submit { width:100%; justify-content:space-between; }
html .ti-site .partner-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
html .ti-site .partner-field-error { display:block; color:#a32231; font-size:.76rem; line-height:1.5; margin-top:4px; }
html .ti-site .partner-field [aria-invalid="true"] { border-color:#ad2938; }
html .ti-site .partner-error-summary { border:1px solid #e4adb4; background:#fff5f6; color:#912331; padding:16px; border-radius:10px; margin-bottom:24px; font-size:.85rem; }
html .ti-site .partner-error-summary ul { padding-left:20px; margin:8px 0 0; }
html .ti-site .partner-error-summary a { text-decoration:underline; }
html .ti-site .partner-success { text-align:center; padding:30px 10px; }
html .ti-site .partner-success-icon { display:flex; width:70px; height:70px; border-radius:50%; background:#e8f4d2; color:#315a23; align-items:center; justify-content:center; margin:0 auto 24px; }
html .ti-site .partner-success-icon .icon { width:32px; height:32px; }
html .ti-site .partner-success .eyebrow { justify-content:center; }
html .ti-site .partner-success h3 { font-size:2.15rem; margin-bottom:20px; }
html .ti-site .partner-success > p:not(.eyebrow) { color:var(--muted); font-size:.95rem; }
html .ti-site .partner-success .partner-receipt { margin-top:25px; padding:13px; border:1px dashed #c8d1e1; border-radius:9px; }
html .ti-site .partner-receipt strong { color:var(--ink); display:block; letter-spacing:.09em; margin-top:5px; }
html .ti-site .partner-success-actions { margin-top:28px; display:flex; flex-direction:column; align-items:center; gap:15px; }
html .ti-site .partner-preview-banner { text-align:center; padding:10px; background:#fff0c4; color:#614900; font-size:.8rem; }
html .ti-site .partner-home { padding-top:0; }
html .ti-site .partner-home-card { background:#111c33; color:#fff; border-radius:26px; padding:45px 48px; display:flex; align-items:center; justify-content:space-between; gap:35px; }
html .ti-site .partner-home-card .eyebrow { color:#d9f78b; margin-bottom:15px; }
html .ti-site .partner-home-card h2 { font-size:clamp(1.7rem,2.4vw,2.5rem); }
html .ti-site .partner-home-card p:not(.eyebrow) { color:#bdc9dc; font-size:.9rem; max-width:580px; margin-top:17px; }
html .ti-site .partner-home-card > .button { background:#d9f78b; border-color:#d9f78b; color:#1b3022; flex-shrink:0; }
@media (min-width:1101px) and (max-width:1300px) { html .ti-site .main-nav { gap:18px; } html .ti-site .header-inner { gap:22px; } }
@media (max-width:1100px) {
 html .ti-site .partner-hero-grid { gap:30px; }
 html .ti-site .partner-connection { padding:26px; }
 html .ti-site .partner-node { padding:22px 16px; gap:13px; }
 html .ti-site .partner-node h2 { font-size:1.18rem; }
 html .ti-site .partner-node-icon { width:42px; height:42px; }
 html .ti-site .partner-section-heading,html .ti-site .partner-faq-grid { gap:40px; }
 html .ti-site .partner-application-grid { gap:30px; grid-template-columns:.8fr 1.2fr; }
 html .ti-site .partner-form-card { padding:25px; }
 html .ti-site .partner-fields { gap:15px; }
 html .ti-site .partner-audience-card { padding:24px; }
 html .ti-site .partner-home-card { flex-direction:column; align-items:flex-start; }
}
@media (max-width:850px) {
 html .ti-site .partner-hero-grid { grid-template-columns:1fr; gap:40px; }
 html .ti-site .partner-hero-copy h1 { font-size:clamp(2.8rem,7.6vw,4.3rem); }
 html .ti-site .partner-connection { max-width:620px; width:100%; justify-self:center; }
 html .ti-site .partner-section-heading { gap:25px; }
 html .ti-site .partner-audiences,html .ti-site .partner-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 html .ti-site .partner-benefit-grid { gap:24px; }
 html .ti-site .partner-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
 html .ti-site .partner-application-grid { grid-template-columns:1fr; gap:35px; }
 html .ti-site .partner-application-intro { position:static; }
 html .ti-site .partner-application-intro h2 { max-width:530px; }
 html .ti-site .partner-application-note { max-width:560px; }
 html .ti-site .partner-direct { display:flex; flex-direction:column; }
}
@media (max-width:600px) {
 html .ti-site .partner-hero { padding:9px 0 50px; }
 html .ti-site .partner-hero-grid { padding-top:23px; gap:35px; }
 html .ti-site .partner-hero-copy h1 { font-size:clamp(2.15rem,8.5vw,3.25rem); line-height:1.12; margin-bottom:22px; }
 html .ti-site .partner-hero-copy .eyebrow { font-size:.59rem; letter-spacing:.1em; }
 html .ti-site .partner-hero-copy .lead { font-size:.97rem; }
 html .ti-site .partner-hero-copy .hero-actions { align-items:stretch; flex-direction:column; gap:12px; }
 html .ti-site .partner-hero-copy .hero-actions .text-link { justify-content:center; }
 html .ti-site .partner-hero-note { font-size:.69rem; align-items:flex-start; margin-top:19px; }
 html .ti-site .partner-connection { border-radius:22px; padding:25px 21px; }
 html .ti-site .partner-visual-eyebrow { font-size:.54rem; letter-spacing:.09em; margin-bottom:23px; }
 html .ti-site .partner-node { padding:19px 14px; }
 html .ti-site .partner-node h2 { font-size:1.1rem; }
 html .ti-site .partner-node p { font-size:.72rem; }
 html .ti-site .partner-node-icon { width:36px; height:36px; border-radius:10px; }
 html .ti-site .partner-node-icon .icon { width:21px; height:21px; }
 html .ti-site .partner-connector p { font-size:.61rem; padding:7px 11px; }
 html .ti-site .partner-visual-footer { font-size:.61rem; margin-top:22px; }
 html .ti-site .partner-page .section { padding:54px 0; }
 html .ti-site .partner-section-heading { grid-template-columns:1fr; gap:22px; margin-bottom:30px; }
 html .ti-site .partner-section-heading h2,html .ti-site .partner-faq h2 { font-size:2rem; }
 html .ti-site .partner-audience-heading { margin-top:30px; padding-top:27px; }
 html .ti-site .partner-audiences { grid-template-columns:1fr; gap:13px; }
 html .ti-site .partner-audience-card { padding:25px; }
 html .ti-site .partner-card-top { margin-bottom:20px; }
 html .ti-site .partner-audience-card h3 { font-size:1.25rem; }
 html .ti-site .partner-service-grid { grid-template-columns:1fr; gap:17px; }
 html .ti-site .partner-service-art { aspect-ratio:2.2/1; }
 html .ti-site .partner-service-copy { padding:22px; }
 html .ti-site .partner-benefit-grid { grid-template-columns:1fr; gap:30px; padding-top:29px; }
 html .ti-site .partner-benefit-grid h3 { margin-top:13px; }
 html .ti-site .partner-process-grid { grid-template-columns:1fr; gap:25px; }
 html .ti-site .partner-process-grid h3 { margin-top:16px; }
 html .ti-site .partner-faq-grid { grid-template-columns:1fr; gap:24px; }
 html .ti-site .partner-faq-list summary { font-size:.89rem; }
 html .ti-site .partner-faq-list details > p { padding-right:0; }
 html .ti-site .partner-application-intro h2 { font-size:2.05rem; }
 html .ti-site .partner-form-card { padding:24px 18px; border-radius:17px; }
 html .ti-site .partner-fields { grid-template-columns:1fr; gap:17px; }
 html .ti-site .partner-form-block legend { font-size:.9rem; }
 html .ti-site .partner-interest-grid { grid-template-columns:1fr; }
 html .ti-site .partner-interest > span { min-height:52px; font-size:.79rem; }
 html .ti-site .partner-home-card { padding:29px 25px; border-radius:20px; }
 html .ti-site .partner-home-card > .button { width:100%; font-size:.8rem; }
 html .ti-site .partner-home { padding-bottom:50px; }
}
@media (prefers-reduced-motion:reduce) {
 html .ti-site .partner-page *,html .ti-site .partner-home * { transition:none!important; scroll-behavior:auto!important; }
}
@media print {
 html .ti-site .partner-form,html .ti-site .partner-home { display:none; }
 html .ti-site .partner-application-intro { position:static; }
}
html .ti-admin .partner-admin-tabs { margin-bottom:22px; flex-wrap:wrap; }
html .ti-admin .partner-admin-copy > summary { font-size:1.05rem; font-weight:600; cursor:pointer; }
html .ti-admin .partner-admin-copy > .form-grid { padding-top:22px; }
html .ti-admin .partner-admin-facts { display:grid; grid-template-columns:1fr 1.5fr; gap:10px 20px; margin:20px 0; font-size:.9rem; }
html .ti-admin .partner-admin-facts dt { color:#62718b; }
html .ti-admin .partner-admin-facts dd { margin:0; overflow-wrap:anywhere; }
