:root {
    --tl-orange: #ffab32;
    --tl-orange-dark: #935010;
    --tl-green: #779d12;
    --tl-teal: #0d8f85;
    --tl-ink: #111e2c;
    --tl-muted: #5d6875;
    --tl-paper: #f5f1e9;
    --tl-soft: #eee8dd;
    --tl-line: #d8cec0;
    --tl-white: #fff;
    --tl-shadow: 0 16px 40px rgba(23, 36, 51, .09);
}

/* Event details have a separate visual overview, without stretching long copy. */
.tl-event-detail { background:var(--tl-paper); padding-bottom:56px; }
body.single-tl_event #page.grid-container { max-width:none; }
.tl-event-detail__header>.tl-shell,
.tl-event-detail .tl-event-detail__overview { width:min(1600px,calc(100% - 64px)); }
.tl-event-detail__header { padding:32px 0; background:var(--tl-paper); }
.tl-event-detail__back { display:inline-block; margin-bottom:24px; font-size:.9rem; }
.tl-event-detail__header h1 { color:var(--tl-ink); font-size:clamp(1.7rem,3vw,2.6rem); line-height:1.4; margin:0; font-weight:750; }
.tl-event-detail__subtitle { color:var(--tl-muted); margin:16px 0 0; }
.tl-event-share { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:24px; }
.tl-event-share__label { color:var(--tl-muted); font-size:.9rem; margin-right:4px; }
.tl-event-share .tl-event-share__button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 16px; border:1px solid var(--tl-line); border-radius:24px; background:white; color:var(--tl-ink); font:inherit; font-size:.9rem; text-decoration:none; cursor:pointer; box-sizing:border-box; }
.tl-event-share .tl-event-share__button:hover { background:var(--tl-soft); }
.tl-event-share .tl-event-share__button:focus-visible { outline:3px solid var(--tl-teal); outline-offset:3px; }
.tl-event-share .tl-event-share__button { width:44px; height:44px; padding:10px; }
.tl-event-share .tl-event-share__button--whatsapp { color:#087d3f; border-color:#acd5bb; background:#f1faf4; }
.tl-event-share__notice,.tl-event-share__fallback { flex-basis:100%; color:var(--tl-muted); font-size:.85rem; }
.tl-event-share__fallback input { display:block; width:100%; margin-top:8px; }
.tl-event-share__status { font-size:.9rem; }
.tl-event-share [hidden] { display:none; }
.tl-event-detail__overview { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:32px; align-items:start; }
.tl-event-detail__overview--no-image { grid-template-columns:1fr; }
.tl-event-detail__poster { margin:0; padding:20px; background:white; border:1px solid var(--tl-line); border-radius:18px; text-align:center; }
.tl-event-detail__poster a { display:block; }
.tl-event-detail__poster img { width:100%; height:auto; max-height:540px; object-fit:contain; display:block; }
.tl-event-detail__poster figcaption { margin-top:12px; color:var(--tl-muted); font-size:.85rem; }
.tl-event-detail__facts { padding:32px; background:white; border:1px solid var(--tl-line); border-top:4px solid var(--tl-orange); border-radius:18px; }
.tl-event-detail__facts h2,.tl-event-detail__description h2 { font-size:1.5rem; font-weight:750; color:var(--tl-ink); margin:0 0 20px; }
.tl-event-detail__facts dl { margin:0 0 24px; }
.tl-event-detail__facts dl>div { padding:16px 0; border-bottom:1px solid var(--tl-line); }
.tl-event-detail__facts dt { color:var(--tl-muted); font-size:.9rem; margin-bottom:6px; }
.tl-event-detail__facts dd { margin:0; font-weight:700; color:var(--tl-ink); }
.tl-event-detail__hint { color:var(--tl-muted); font-size:.95rem; }
.tl-event-detail__registration { padding:16px; margin-top:24px; background:var(--tl-paper); border-radius:8px; font-size:.9rem; }
.tl-event-detail__registration p { margin:6px 0 0; }
.tl-event-detail__description { margin-top:36px; padding:32px clamp(20px,5vw,64px); background:white; border:1px solid var(--tl-line); border-radius:18px; box-sizing:border-box; scroll-margin-top:24px; }
.tl-event-detail__description>header { padding-bottom:8px; border-bottom:1px solid var(--tl-line); margin-bottom:32px; }
.tl-event-detail__description .tl-prose { max-width:820px; margin-inline:auto; overflow-wrap:anywhere; }
.tl-event-detail__description .tl-prose p { margin-bottom:1.5em; }
.tl-event-detail__description .tl-prose h2,.tl-event-detail__description .tl-prose h3 { margin-top:2em; }
.tl-event-detail__description .figure_grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-block:28px; }
.tl-event-detail__description .figure_grid figure { margin:0; }
.tl-event-detail__description .figure_grid img { width:100%; height:auto; display:block; border-radius:8px; }
@media(max-width:700px) {
    .tl-event-detail__header>.tl-shell,
    .tl-event-detail .tl-event-detail__overview { width:calc(100% - 28px); }
    .tl-event-detail__overview { grid-template-columns:1fr; gap:20px; }
    .tl-event-detail__facts { padding:24px; }
    .tl-event-detail__poster { padding:14px; }
    .tl-event-detail__poster img { max-height:420px; }
    .tl-event-detail__description { padding:24px 18px; margin-top:24px; }
    .tl-event-detail__description .figure_grid { grid-template-columns:1fr; }
}

body {
    background: var(--tl-white);
    color: var(--tl-ink);
    font-family: "Noto Sans TC", "PingFang HK", "Microsoft JhengHei", system-ui, sans-serif;
}

a { color: #156c74; }
a:hover, a:focus { color: var(--tl-orange-dark); }

.site-header {
    border-top: 5px solid var(--tl-orange);
    border-bottom: 1px solid var(--tl-line);
}

.inside-header {
    padding-block: 6px;
}

.site-branding-container {
    align-items: center;
    gap: 14px;
}

.site-logo .header-image {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

.main-title {
    font-weight: 800;
    letter-spacing: .02em;
}

.site-description {
    color: var(--tl-muted);
}

.main-navigation {
    background: var(--tl-ink);
}

.main-navigation .main-nav ul li a,
.menu-toggle {
    color: var(--tl-white);
    font-weight: 700;
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus-within > a {
    background: var(--tl-orange);
    color: var(--tl-ink);
}

.site-content {
    display: block;
    padding: 0;
}

.content-area,
.site-main {
    width: 100%;
}

.tl-utility {
    background: var(--tl-ink);
    color: var(--tl-white);
    font-size: .82rem;
}

.tl-utility__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 38px;
}

.tl-utility nav {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.tl-utility a,
.tl-utility span {
    color: var(--tl-white);
    text-decoration: none;
}

.tl-utility a:hover,
.tl-utility a:focus {
    color: #ffd2ab;
}

.tl-utility__pending { opacity: .58; }

.tl-content-area {
    float: none;
    width: 100%;
}

.tl-shell {
    width: min(1160px, calc(100% - 40px));
    margin-inline: auto;
}

.tl-reading-shell {
    width: min(820px, calc(100% - 40px));
}

.tl-eyebrow {
    margin: 0 0 12px;
    color: var(--tl-orange-dark);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.tl-detail__header,
.tl-archive__header {
    padding: clamp(54px, 8vw, 100px) 0 clamp(40px, 6vw, 72px);
    background:
        radial-gradient(circle at 88% 18%, rgba(239, 125, 34, .24), transparent 27%),
        radial-gradient(circle at 12% 85%, rgba(13, 143, 133, .19), transparent 30%),
        linear-gradient(135deg, var(--tl-paper), var(--tl-soft));
    border-bottom: 1px solid var(--tl-line);
}

.tl-detail__title,
.tl-archive__header h1 {
    margin: 0;
    max-width: 920px;
    font-size: clamp(2rem, 5vw, 4.25rem);
    font-weight: 850;
    line-height: 1.13;
    letter-spacing: -.025em;
}

.tl-detail__subtitle,
.tl-archive__header p:not(.tl-eyebrow) {
    max-width: 760px;
    margin: 20px 0 0;
    color: var(--tl-muted);
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    line-height: 1.75;
}

.tl-detail__meta {
    margin-top: 22px;
    color: var(--tl-muted);
    font-size: .94rem;
}

.tl-byline {
    margin-top: 24px;
    padding: 18px 20px;
    border: 1px solid rgba(23, 36, 51, .08);
    border-radius: 16px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 8px 24px rgba(23, 36, 51, .05);
}

.tl-byline--entry {
    margin: 0 0 28px;
    background: var(--tl-paper);
}

.tl-byline__label {
    margin: 0;
    color: var(--tl-orange-dark);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.tl-byline__names,
.tl-byline__title {
    margin: 10px 0 0;
}

.tl-byline__names {
    color: var(--tl-ink);
    font-size: 1rem;
    font-weight: 700;
}

.tl-byline__name--link {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: .18em;
}

.tl-byline__separator {
    margin-inline: .35em;
    color: var(--tl-muted);
}

.tl-byline__title {
    color: var(--tl-muted);
    font-size: .95rem;
    line-height: 1.75;
}

.tl-detail__body {
    padding-block: clamp(36px, 6vw, 74px);
}

.tl-detail__media {
    margin: 0 0 36px;
}

.tl-detail__media img {
    width: 100%;
    height: auto;
    max-height: 620px;
    border-radius: 18px;
    object-fit: contain;
    box-shadow: var(--tl-shadow);
}

.tl-video-frame {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 38px;
    padding-top: 56.25%;
    border-radius: 18px;
    background: #0b1118;
    box-shadow: var(--tl-shadow);
}

.tl-video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.tl-prose {
    font-size: clamp(1.05rem, 1.5vw, 1.18rem);
    line-height: 1.95;
}

.tl-prose > * + * { margin-top: 1.35em; }
.tl-prose h2, .tl-prose h3 { line-height: 1.35; }
.tl-prose img { max-width: 100%; height: auto; }

.tl-notice {
    margin-top: 36px;
    padding: 22px 24px;
    border-left: 5px solid var(--tl-orange);
    border-radius: 8px;
    background: var(--tl-paper);
}

.tl-notice p { margin: 8px 0 0; }

.tl-detail__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: 36px;
}

.tl-related-series {
    margin-top: clamp(52px, 8vw, 88px);
    padding-top: clamp(36px, 6vw, 64px);
    border-top: 1px solid var(--tl-line);
}

.tl-related-series h2 {
    margin: 0;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    line-height: 1.25;
}

.tl-card-grid--related {
    padding-bottom: 0;
}

.tl-button {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 10px 20px;
    border-radius: 999px;
    background: var(--tl-orange);
    color: var(--tl-ink) !important;
    font-weight: 800;
    text-decoration: none;
}

.tl-button:hover, .tl-button:focus {
    background: var(--tl-orange-dark);
    color: var(--tl-white) !important;
}

.tl-button--outline {
    border: 2px solid var(--tl-ink);
    background: transparent;
}

.tl-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    padding-block: 48px;
}

.tl-content-card {
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--tl-line);
    border-radius: 16px;
    background: var(--tl-white);
    box-shadow: 0 9px 28px rgba(23, 36, 51, .06);
    transition: transform .18s ease, box-shadow .18s ease;
}

.tl-content-card:hover,
.tl-content-card:focus-within {
    transform: translateY(-4px);
    box-shadow: var(--tl-shadow);
}

.tl-content-card__link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.tl-content-card__image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--tl-soft);
}

.tl-content-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tl-content-card__body { padding: 22px; }

.tl-content-card h2 {
    margin: 0;
    font-size: 1.3rem;
    line-height: 1.4;
}

.tl-content-card__excerpt {
    margin: 14px 0 0;
    color: var(--tl-muted);
    line-height: 1.7;
}

/* Clear editorial hierarchy; colour is reinforced by weight and spacing. */
.tl-content-card__body .tl-eyebrow {
    display: inline-block;
    margin: 0 0 14px;
    padding: 4px 9px;
    border-radius: 5px;
    background: var(--tl-paper);
    color: var(--tl-orange-dark);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .04em;
}
.tl-content-card__body h2 { color: var(--tl-ink); font-weight: 750; line-height: 1.55; }
.tl-content-card__body .tl-content-card__date,
.tl-content-card__body .tl-content-card__category,
.tl-content-card__body .tl-content-card__author {
    margin: 10px 0 0;
    color: var(--tl-muted);
    font-size: .88rem;
    font-weight: 500;
    line-height: 1.6;
}
.tl-content-card__body .tl-content-card__excerpt {
    margin: 16px 0 0;
    padding-top: 14px;
    border-top: 1px solid var(--tl-line);
    color: var(--tl-muted);
    font-size: .95rem;
    font-weight: 400;
    line-height: 1.85;
}
.tl-library-panel {
    margin: 28px 0 22px;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid var(--tl-line);
    border-radius: 14px;
    background: var(--tl-paper);
}
.tl-library-panel h2 { margin: 0 0 6px; font-size: 1.2rem; font-weight: 700; color: var(--tl-ink); }
.tl-library-top { background:var(--tl-paper); border-bottom:1px solid var(--tl-line); padding:24px 0; }
.tl-library-top__inner { display:grid; grid-template-columns:260px minmax(0,1fr); gap:32px; align-items:center; }
.tl-library-top h1 { font-size:1.8rem; font-weight:750; line-height:1.4; margin:0; color:var(--tl-ink); }
.tl-library-top .tl-eyebrow { margin-bottom:5px; }
.tl-wide-library .tl-library-top .tl-library-panel { margin:0; padding:20px 24px; background:var(--tl-white); border:0; border-left:4px solid var(--tl-orange); border-radius:10px; }
.tl-library-top .tl-library-hint { margin-bottom:12px; }
.tl-library-top .tl-library-panel h2 { font-size:1rem; }
.tl-library-results { padding-top:18px; }
@media(max-width:1100px) {
 .tl-library-top__inner { grid-template-columns:1fr; gap:18px; }
}
@media(max-width:540px) {
 .tl-wide-library .tl-library-top .tl-library-panel { padding:18px; }
}
/* Align library headings, filters and results on one wider responsive grid. */
body.tl-wide-library #page.grid-container { max-width:none; }
.tl-wide-library .tl-archive .tl-shell { width:min(1600px,calc(100% - 64px)); }
.tl-wide-library .tl-archive .tl-card-grid { padding-top:16px; }
.tl-wide-library .tl-library-panel { margin-bottom:14px; }
.tl-wide-library .tl-archive p[role="status"] { margin-bottom:0; }
@media(min-width:1400px) {
    .tl-wide-library .tl-archive .tl-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:700px) {
    .tl-wide-library .tl-archive .tl-shell { width:calc(100% - 28px); }
}
.tl-library-hint { margin: 0 0 20px; font-size: .92rem; color: var(--tl-muted); }
.tl-library-filters { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; }
.tl-library-filters label { display: flex; flex: 1 1 180px; flex-direction: column; gap: 8px; font-size: .9rem; font-weight: 600; color: var(--tl-ink); }
.tl-library-filters input,.tl-library-filters select { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; font-size: 16px; font-weight: 400; color: var(--tl-ink); background: var(--tl-white); border: 1px solid #a89e91; border-radius: 6px; }
.tl-library-filters button { min-height: 46px; border-radius: 6px; padding: 10px 24px; background: var(--tl-ink); color: var(--tl-white); font-weight: 600; }
.tl-library-filters a { padding: 11px 0; color: var(--tl-orange-dark); text-decoration: underline; }
.tl-library-filters :is(input,select,button,a):focus-visible { outline: 3px solid var(--tl-orange-dark); outline-offset: 3px; }
.tl-collection-filters { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.tl-collection-filters a { display:flex; align-items:center; gap:10px; padding:12px 16px; border:1px solid var(--tl-line); border-radius:8px; background:var(--tl-white); color:var(--tl-ink); text-decoration:none; min-height:44px; }
.tl-collection-filters a[aria-current="page"] { border-color:var(--tl-orange-dark); font-weight:700; box-shadow:inset 0 -3px var(--tl-orange-dark); }
.tl-collection-filters a:focus-visible { outline:3px solid var(--tl-orange-dark); outline-offset:3px; }
.type-tl_publication .tl-content-card__image { aspect-ratio: 4 / 3; padding: 18px; }
.type-tl_publication .tl-content-card__image img { object-fit: contain; }
@media(max-width:540px) { .tl-library-filters label { flex-basis: 100%; } }

.tl-pagination {
    padding-bottom: 54px;
    text-align: center;
}

.tl-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    margin: 3px;
    border: 1px solid var(--tl-line);
    border-radius: 999px;
    text-decoration: none;
}

.tl-pagination .current {
    background: var(--tl-ink);
    color: var(--tl-white);
}

.tl-home {
    overflow: hidden;
}

/* Homepage concept C: full-bleed feature mosaic, wider editorial sections.
   Scope the parent-theme container override to the homepage only. */
body.home #page.grid-container { max-width:none; }
.tl-home .tl-shell { width:min(1600px, calc(100% - 64px)); }
.tl-home .tl-home-hero--compact { padding:22px 0; background:var(--tl-paper); }
.tl-home-hero--compact .tl-home-hero__grid { display:block; }
.tl-home .tl-home-hero--compact h1 { color:var(--tl-ink); font-size:clamp(1.15rem,2vw,1.7rem); line-height:1.5; letter-spacing:0; max-width:none; }
.tl-home-hero--compact h1 br { display:none; }
.tl-home-hero--compact .tl-eyebrow,
.tl-home-hero--compact .tl-home-hero__intro,
.tl-home-hero--compact .tl-home-hero__actions { display:none; }
.tl-spotlight { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:6px; padding:0; background:white; }
.tl-spotlight__tile { position:relative; isolation:isolate; display:flex; align-items:end; min-height:265px; overflow:hidden; color:white; text-decoration:none; background:#20384b; }
.tl-spotlight__tile--lead { grid-row:span 2; min-height:536px; }
.tl-spotlight__tile.is-brand { background:radial-gradient(ellipse at 100% 0%,#98622d 0,transparent 58%),linear-gradient(125deg,#111e2c,#284958); }
.tl-spotlight__tile::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(8,20,30,.95),rgba(8,20,30,.12)); }
.tl-spotlight__image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.tl-spotlight__copy { padding:clamp(24px,3vw,56px); width:100%; }
.tl-spotlight__label { border-left:4px solid var(--tl-orange); padding-left:12px; margin:0 0 16px; font-size:1rem; }
.tl-spotlight__copy h2 { color:white; font-size:clamp(1.3rem,2vw,2rem); line-height:1.45; margin:0 0 18px; overflow-wrap:anywhere; }
.tl-spotlight__tile--lead h2 { font-size:clamp(1.8rem,3vw,3.3rem); max-width:22em; }
.tl-spotlight__summary { max-width:40em; line-height:1.8; margin-bottom:20px; }
.tl-spotlight__action { color:#ffc36b; font-weight:700; }
.tl-spotlight__tile:hover,.tl-spotlight__tile:focus { color:white; }
.tl-spotlight__tile:hover .tl-spotlight__action { text-decoration:underline; }
.tl-spotlight__tile:focus-visible { outline:4px solid var(--tl-orange); outline-offset:-4px; }
.tl-home-topics { display:flex; align-items:center; flex-wrap:wrap; gap:12px 28px; padding-block:24px; border-bottom:1px solid var(--tl-line); }
.tl-home-topics strong { color:var(--tl-orange-dark); }
.tl-home-topics a { color:var(--tl-ink); text-decoration:none; padding:8px 0; }
.tl-home .tl-home-section { padding-block:48px; }
.tl-home .tl-content-card h2 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
@media(max-width:700px) {
    .tl-home .tl-shell { width:calc(100% - 28px); }
    .tl-spotlight { grid-template-columns:1fr; }
    .tl-spotlight__tile--lead { grid-row:auto; min-height:360px; }
    .tl-spotlight__tile { min-height:240px; }
    .tl-home-topics { gap:8px 20px; }
}

.tl-home-hero {
    padding: clamp(58px, 9vw, 118px) 0;
    background:
        radial-gradient(circle at 92% 10%, rgba(239, 125, 34, .35), transparent 28%),
        radial-gradient(circle at 8% 90%, rgba(13, 143, 133, .24), transparent 30%),
        linear-gradient(135deg, #fff8ec 0%, #f5faf5 58%, #e8f7f5 100%);
}

.tl-home-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(240px, .75fr);
    align-items: center;
    gap: clamp(36px, 8vw, 96px);
}

.tl-home-hero h1 {
    max-width: 860px;
    margin: 0;
    font-size: clamp(2.7rem, 7vw, 6.3rem);
    font-weight: 900;
    line-height: 1.03;
    letter-spacing: -.045em;
}

.tl-home-hero__intro {
    max-width: 720px;
    margin: 26px 0 0;
    color: var(--tl-muted);
    font-size: clamp(1.08rem, 2vw, 1.35rem);
    line-height: 1.85;
}

.tl-home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.tl-home-hero__signal {
    padding: 32px;
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 24px;
    background: rgba(255, 255, 255, .76);
    box-shadow: var(--tl-shadow);
    backdrop-filter: blur(12px);
}

.tl-home-hero__signal strong {
    display: block;
    color: var(--tl-orange-dark);
    font-size: clamp(3rem, 8vw, 5.7rem);
    line-height: 1;
}

.tl-home-hero__signal span {
    display: block;
    margin-top: 10px;
    font-weight: 800;
}

.tl-home-hero__signal p {
    margin: 22px 0 0;
    color: var(--tl-muted);
    line-height: 1.75;
}

.tl-home-section {
    padding: clamp(56px, 8vw, 96px) 0;
}

.tl-home-section--soft {
    background: var(--tl-soft);
}

.tl-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
}

.tl-section-heading h2,
.tl-home-feature h2,
.tl-home-partners h2,
.tl-home-donate h2 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.18;
}

.tl-section-heading > a,
.tl-home-partners a {
    font-weight: 800;
}

.tl-card-grid--home {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-bottom: 0;
}

.tl-card-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding-bottom: 0;
}

.tl-home-feature {
    background: var(--tl-ink);
    color: var(--tl-white);
}

.tl-home-feature__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, .7fr);
    align-items: center;
    gap: clamp(32px, 7vw, 80px);
}

.tl-home-feature .tl-video-frame { margin: 0; }
.tl-home-feature p:not(.tl-eyebrow) { color: #cbd5df; line-height: 1.8; }

.tl-home-partners {
    background: linear-gradient(135deg, #fff5e8, #eaf6f2);
}

.tl-home-partners__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.tl-home-partners article {
    padding: clamp(28px, 5vw, 48px);
    border-radius: 22px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 10px 30px rgba(23, 36, 51, .06);
}

.tl-home-partners article p:not(.tl-eyebrow) {
    color: var(--tl-muted);
    line-height: 1.8;
}

.tl-home-donate {
    padding: clamp(52px, 8vw, 88px) 0;
    background: var(--tl-orange);
    color: var(--tl-ink);
}

.tl-home-donate__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.tl-home-donate .tl-eyebrow { color: #71300b; }
.tl-home-donate p:not(.tl-eyebrow) { margin-bottom: 0; font-size: 1.08rem; }
.tl-home-donate .tl-button { background: var(--tl-ink); color: var(--tl-white) !important; }

.tl-footer {
    padding: 58px 0;
    background: #111c28;
    color: #dbe3ea;
}

.tl-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(180px, .7fr));
    gap: clamp(30px, 6vw, 72px);
}

.tl-footer__brand {
    margin: 0 0 14px;
    color: var(--tl-white);
    font-size: 1.45rem;
    font-weight: 850;
}

.tl-footer h2 {
    margin: 0 0 16px;
    color: var(--tl-white);
    font-size: 1rem;
}

.tl-footer p,
.tl-footer address {
    font-style: normal;
    line-height: 1.75;
}

.tl-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tl-footer li + li { margin-top: 9px; }
.tl-footer a { color: #f6c292; }

.tl-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.tl-footer__social a {
    padding: 7px 12px;
    border: 1px solid #405063;
    border-radius: 999px;
    text-decoration: none;
}
.tl-footer__social a.tl-footer__social-link--facebook,
.tl-footer__social a.tl-footer__social-link--youtube { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; padding:8px; color:white; background:#fff; border:0; }
.tl-footer__social a.tl-footer__social-link--facebook { background:#1877f2; }
.tl-footer__social a:focus-visible { outline:3px solid var(--tl-orange); outline-offset:4px; }

.site-info {
    background: #0a121b;
}

.tl-empty-state {
    padding-block: 48px 64px;
    color: var(--tl-muted);
    text-align: center;
}

@media (max-width: 920px) {
    .tl-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tl-card-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tl-home-hero__grid,
    .tl-home-feature__grid { grid-template-columns: 1fr; }
    .tl-footer__grid { grid-template-columns: 1fr 1fr; }
    .tl-footer__grid > section:first-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    .inside-header { padding: 10px 18px; }
    .site-logo .header-image { width: 80px; height: 80px; }
    .main-title { font-size: 1.25rem; }
    .site-description { display: none; }
    .tl-shell, .tl-reading-shell { width: min(100% - 28px, 1160px); }
    .tl-card-grid { grid-template-columns: 1fr; gap: 18px; padding-block: 30px; }
    .tl-detail__header, .tl-archive__header { padding-block: 42px 34px; }
    .tl-detail__body { padding-block: 30px 48px; }
    .tl-detail__title, .tl-archive__header h1 { font-size: clamp(2rem, 10vw, 2.8rem); }
    .tl-utility__inner,
    .tl-section-heading,
    .tl-home-donate__inner { align-items: flex-start; flex-direction: column; }
    .tl-utility__inner { padding-block: 9px; gap: 7px; }
    .tl-utility nav { gap: 10px; }
    .tl-home-hero h1 { font-size: clamp(2.6rem, 14vw, 4.4rem); }
    .tl-home-hero__signal { padding: 24px; }
    .tl-card-grid--home,
    .tl-card-grid--four,
    .tl-home-partners__grid,
    .tl-footer__grid { grid-template-columns: 1fr; }
    .tl-footer__grid > section:first-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Direction C: editorial impact. Shared presentation; no content writes. */
body { background: var(--tl-paper); }
.site-header { background: var(--tl-ink); border-top-color: var(--tl-orange); }
.site-header .main-title a, .site-header .main-title a:hover { color: #fff; }
.site-header .site-description { color: #d7e1e4; }
.site-logo { background: #fff; padding: 8px 12px; border-radius: 6px; line-height: 0; }
.main-navigation { border-bottom: 1px solid #3b4c57; }
.tl-home-hero, .tl-detail__header, .tl-archive__header {
    background: radial-gradient(circle at 75% 30%, rgba(255,177,62,.22), transparent 35%),
        linear-gradient(125deg, #111e2c, #203b45);
    color: #fff;
}
.tl-home-hero h1, .tl-detail__title, .tl-archive__header h1 {
    color: #fff;
    letter-spacing: -.025em;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.tl-home-hero .tl-eyebrow, .tl-detail__header .tl-eyebrow,
.tl-archive__header .tl-eyebrow { color: #ffc15f; }
.tl-home-hero__intro, .tl-detail__subtitle, .tl-detail__meta,
.tl-archive__header p:not(.tl-eyebrow) { color: #d7e1e4; }
.tl-detail__header a { color: #f6c46f; }
.tl-home-hero__signal {
    background: rgba(255,255,255,.06);
    border: 1px solid #b88a43;
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(0,0,0,.16);
}
.tl-home-hero__signal strong { color: #ffc15f; }
.tl-home-hero__signal span, .tl-home-hero__signal p { color: #d7e1e4; }
.tl-home-hero .tl-button--outline {
    border-color: #f6c46f;
    color: #f6c46f !important;
    background: transparent;
}
.tl-home-hero .tl-button--outline:hover { background: #203b45; }
.tl-home-section { background: var(--tl-paper); }
.tl-home-section--soft { background: var(--tl-soft); }
.tl-section-heading h2 { letter-spacing: -.025em; line-height: 1.3; }
.tl-content-card { border-radius: 10px; box-shadow: 0 12px 30px rgba(17,30,44,.09); }
.tl-content-card__body { padding: clamp(20px, 3vw, 30px); }
.tl-content-card h2 { line-height: 1.55; overflow-wrap: anywhere; }
.tl-content-card.type-tl_publication .tl-content-card__image,
.tl-content-card.type-tl_event .tl-content-card__image { aspect-ratio: 4 / 3; }
.tl-content-card.type-tl_publication .tl-content-card__image img,
.tl-content-card.type-tl_event .tl-content-card__image img { object-fit: contain; padding: 14px; }
.tl-home-feature { background: var(--tl-ink); color: #fff; }
.tl-home-feature h2 { color: #fff; }
.tl-home-feature .tl-eyebrow { color: #ffc15f; }
.tl-detail__body { background: #fff; line-height: 1.9; overflow-wrap: anywhere; }
.tl-button { border-radius: 6px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
    outline: 3px solid #0d8f85;
    outline-offset: 4px;
}
@media (max-width: 600px) {
    .tl-home-hero h1 { font-size: clamp(2.1rem, 9vw, 3rem); }
    .tl-home-hero__actions { gap: 12px; }
    .tl-home-hero__actions .tl-button { text-align: center; justify-content: center; }
}
:root { --tl-series-accent: #935010; }
.tl-video-series-card { border:1px solid var(--tl-line); border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 6px 20px #111e2c08; }
.tl-video-series-card>a { display:block; height:100%; color:var(--tl-ink); text-decoration:none; }
.tl-video-series-card>a:focus-visible { outline:3px solid var(--tl-series-accent); outline-offset:-4px; }
.tl-video-series-card:hover { border-color:var(--tl-series-accent); }
.tl-video-series-card__image { aspect-ratio:16/9; background:var(--tl-paper); }
.tl-video-series-card__image img { width:100%; height:100%; object-fit:cover; }
.tl-video-series-card__identity { aspect-ratio:16/9; padding:24px; box-sizing:border-box; background:var(--tl-paper); display:flex; align-items:center; gap:20px; border-bottom:4px solid var(--tl-orange); }
.tl-video-series-card__identity span { color:var(--tl-series-accent); border:1px solid var(--tl-line); border-radius:50%; padding:12px 16px; }
.tl-video-series-card__identity strong { font-size:1.6rem; line-height:1.5; }
.tl-video-series-card__body { padding:24px; }
.tl-video-series-card__body h2 { font-size:1.35rem; font-weight:750; line-height:1.5; margin:12px 0; }
.tl-video-series-card__body>p:not(.tl-eyebrow) { color:var(--tl-muted); font-size:.95rem; }
.tl-video-series-card__action { display:block; border-top:1px solid var(--tl-line); padding-top:16px; color:var(--tl-series-accent); font-weight:700; }
.tl-video-latest { margin-bottom:40px; }
.tl-video-latest__panel { padding:clamp(18px,3vw,32px); border:1px solid var(--tl-line); border-top:4px solid var(--tl-orange); border-radius:16px; background:var(--tl-paper); }
.tl-video-latest__heading h2 { color:var(--tl-ink); font-weight:750; font-size:clamp(1.3rem,3vw,1.9rem); line-height:1.5; margin:10px 0; }
.tl-video-latest__heading time { color:var(--tl-muted); font-size:.95rem; }
.tl-video-latest .tl-video-frame { margin-bottom:20px; }
.tl-video-latest .tl-video-latest__panel { display:grid; grid-template-columns:minmax(0,460px) minmax(0,1fr); gap:28px; align-items:center; padding:22px; }
.tl-video-latest__heading { grid-column:2; grid-row:1; }
.tl-video-latest__panel>.tl-video-frame { grid-column:1; grid-row:1; margin:0; }
.tl-video-latest__actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.tl-video-detail-link { display:inline-flex; align-items:center; gap:6px; min-height:44px; font-weight:650; }
.tl-video-browse-icon { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--tl-line); border-radius:50%; background:#fff; color:var(--tl-ink); text-decoration:none; }
.tl-video-browse-icon:hover { background:var(--tl-orange); color:var(--tl-ink); }
.tl-video-browse-icon:focus-visible { outline:3px solid var(--tl-ink); outline-offset:3px; }
.tl-video-latest__actions { gap:10px; }
.tl-video-latest__actions > button, .tl-video-latest__actions > a { margin:0; }
.tl-video-latest__actions > button, .tl-video-latest__actions > a { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:44px; min-height:44px; box-sizing:border-box; padding:0 16px; border:1px solid var(--tl-line); border-radius:8px; font-size:.95rem; font-weight:650; line-height:1; text-decoration:none; }
.tl-video-latest__actions > .tl-button { background:var(--tl-orange); border-color:var(--tl-orange); color:var(--tl-ink); }
.tl-video-latest__actions > a { background:#fff; color:var(--tl-ink); }
.tl-video-latest__actions > .tl-video-browse-icon { width:44px; padding:0; }
.tl-video-latest__actions > a:hover { background:var(--tl-paper); border-color:var(--tl-orange); }
.tl-video-latest__actions > :focus-visible { outline:3px solid var(--tl-ink); outline-offset:3px; }
.tl-video-latest [hidden] { display:none; }
.tl-video-dialog { position:fixed; inset:auto 16px 16px auto; margin:0; z-index:100000; width:min(640px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); overflow:auto; padding:14px; box-sizing:border-box; border:1px solid #647584; border-radius:14px; background:var(--tl-ink); color:white; box-shadow:0 16px 60px #0008; }
.tl-video-dialog.is-compact { width:min(360px,calc(100vw - 32px)); }
.tl-video-dialog header { flex-wrap:wrap; }
.tl-video-dialog [data-video-drag] { cursor:move; touch-action:none; user-select:none; flex:1 1 180px; }
.tl-video-dialog__controls { display:flex; gap:6px; }
.tl-video-dialog__controls button { padding:0; width:44px; height:44px; font-size:1.5rem; line-height:1; }
.tl-video-dialog [data-video-plus],.tl-video-dialog.is-compact [data-video-minus] { display:none; }
.tl-video-dialog.is-compact [data-video-plus] { display:inline; }
.tl-video-card-play { margin:0 20px 20px; }
.tl-video-card-play[hidden] { display:none; }
.tl-video-dialog::backdrop { background:rgba(0,0,0,.78); }
@media(prefers-reduced-motion:no-preference) {
 .tl-video-dialog[open]::backdrop { animation:tl-video-backdrop-in 280ms ease-out; }
}
@keyframes tl-video-backdrop-in { from { background:rgba(0,0,0,0); } to { background:rgba(0,0,0,.78); } }
.tl-video-dialog header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px; }
.tl-video-dialog h2 { color:white; margin:0; font-size:1.15rem; }
.tl-video-dialog button { flex-shrink:0; min-height:44px; border-radius:6px; }
.tl-video-latest .tl-video-dialog .tl-video-frame { margin:0; }
.tl-video-dialog .tl-video-frame { position:relative; aspect-ratio:16/9; margin:0; overflow:hidden; border-radius:8px; background:#000; }
.tl-video-dialog .tl-video-frame iframe { display:block; width:100%; height:100%; border:0; }
.tl-video-dialog__status { position:absolute; z-index:2; left:50%; bottom:12px; max-width:calc(100% - 24px); padding:7px 11px; transform:translateX(-50%); border-radius:999px; background:rgba(9,20,29,.82); color:#fff; font-size:.78rem; line-height:1.35; text-align:center; pointer-events:none; }
.tl-video-dialog__continuity { margin:9px 2px 0; color:#dbe5e9; font-size:.78rem; line-height:1.4; }
@media(max-width:700px) {
 .tl-video-latest .tl-video-latest__panel { grid-template-columns:1fr; padding:16px; gap:18px; }
 .tl-video-latest__heading { grid-column:1; grid-row:2; }
 .tl-video-dialog { padding:12px; }
}
.tl-ethics-centre { --tl-orange:#b89759; --tl-orange-dark:#28514b; --tl-paper:#eff4f1; --tl-line:#ccd9d2; }
.tl-donation-design { background:#f5f6f7; padding:24px 0 48px; }
.tl-donation-design > .tl-shell { width:min(1440px,calc(100% - 64px)); max-width:none; }
.tl-donation-notice { padding:14px 20px; border-left:4px solid var(--tl-orange); background:#fff3da; border-radius:8px; }
.tl-donation-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; margin:28px 0; align-items:start; }
.tl-donation-intro { padding:28px 18px 28px 0; }
.tl-donation-intro h1 { font-size:clamp(2rem,3vw,3rem); line-height:1.3; color:var(--tl-ink); }
.tl-donation-intro > p { max-width:540px; line-height:1.9; }
.tl-donation-values { border-top:1px solid var(--tl-line); padding-top:24px; margin-top:28px; }
.tl-donation-values h2 { font-size:1.35rem; font-weight:700; }
.tl-donation-values p { border-left:3px solid var(--tl-orange); padding-left:16px; font-weight:650; }
.tl-donation-values small { font-weight:400; color:var(--tl-muted); }
.tl-donation-form { background:white; padding:28px; border:1px solid var(--tl-line); border-top:4px solid var(--tl-orange); border-radius:16px; box-shadow:0 8px 24px #16253708; }
.tl-donation-form h2 { font-size:1.45rem; font-weight:750; }
.tl-donation-form fieldset { border:0; border-bottom:1px solid var(--tl-line); margin:0 0 22px; padding:0 0 22px; min-width:0; }
.tl-donation-form legend { font-weight:700; font-size:1.05rem; margin-bottom:14px; }
.tl-donation-form label { display:block; margin-bottom:8px; }
.tl-donation-form select, .tl-donation-form input[type=number] { width:100%; min-height:44px; border:1px solid #85919a; border-radius:8px; background:#fff; color:var(--tl-ink); margin-bottom:12px; }
.tl-donation-form input:disabled { background:#f1f2f3; }
.tl-donation-amounts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:16px; }
.tl-donation-amounts label { cursor:pointer; position:relative; }
.tl-donation-amounts input { position:absolute; opacity:0; }
.tl-donation-amounts span { display:flex; justify-content:center; align-items:center; min-height:48px; border:1px solid var(--tl-line); border-radius:8px; font-weight:700; }
.tl-donation-amounts input:checked + span { background:#fff2d4; border:2px solid #a96308; color:#744200; }
.tl-donation-amounts input:focus-visible + span { outline:3px solid var(--tl-ink); outline-offset:2px; }
.tl-donation-muted { font-size:.9rem; color:#576571; }
.tl-donation-form [data-donation-summary] { margin-top:22px; padding:18px; background:var(--tl-paper); border-radius:10px; }
.tl-donation-form [data-donation-status]:not(:empty) { margin-top:18px; border-left:3px solid var(--tl-orange); padding:12px; background:#fff7e7; }
.tl-donation-design [hidden] { display:none!important; }
.tl-donation-offline { background:#fff; border:1px solid var(--tl-line); border-radius:14px; padding:28px; margin-top:24px; }
.tl-donation-offline h2 { font-size:1.5rem; font-weight:750; }
.tl-donation-offline li { margin-bottom:14px; line-height:1.8; }
.tl-donation-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.tl-donation-method-grid article { padding:20px; border:1px solid var(--tl-line); border-radius:10px; }
.tl-donation-method-grid h3 { font-size:1.15rem; font-weight:700; }
.tl-donation-design button:disabled { cursor:not-allowed; opacity:.6; }
@media(max-width:900px) { .tl-donation-grid { grid-template-columns:1fr; gap:12px; } .tl-donation-method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .tl-donation-design > .tl-shell { width:calc(100% - 28px); } .tl-donation-form,.tl-donation-offline { padding:18px; } .tl-donation-method-grid { grid-template-columns:1fr; } .tl-donation-amounts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.tl-archive .tl-video-intro { display:grid; grid-template-columns:minmax(240px,.65fr) minmax(0,2fr); align-items:center; gap:28px; padding-top:22px; padding-bottom:22px; }
.tl-archive .tl-video-intro > .tl-library-heading { padding:0; margin:0; border:0; background:transparent; }
.tl-archive .tl-video-intro > .tl-library-heading .tl-shell, .tl-archive .tl-video-intro > .tl-video-latest { width:100%; max-width:none; margin:0; }
.tl-video-intro .tl-video-latest .tl-video-latest__panel { grid-template-columns:minmax(200px,320px) minmax(0,1fr); padding:16px; gap:20px; }
.tl-video-intro .tl-video-latest__heading h2 { font-size:clamp(1.15rem,1.5vw,1.5rem); line-height:1.45; margin:6px 0; }
.tl-video-intro .tl-video-latest__heading p { margin-bottom:10px; }
@media(max-width:1100px) { .tl-archive .tl-video-intro { grid-template-columns:1fr; gap:14px; } }
@media(max-width:700px) { .tl-video-intro .tl-video-latest .tl-video-latest__panel { grid-template-columns:1fr; } }
.tl-ethics__hero { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(110deg,#214a44 25%,#315d54 100%); color:#fff; padding:48px 0; }
.tl-ethics__hero>.tl-shell { position:relative; z-index:2; }
.tl-ethics__hero-logo { position:absolute; z-index:0; width:145px; height:280px; overflow:hidden; right:45px; top:10px; opacity:.55; mix-blend-mode:screen; pointer-events:none; -webkit-mask-image:linear-gradient(100deg,#000 10%,#000 45%,transparent 100%); mask-image:linear-gradient(100deg,#000 10%,#000 45%,transparent 100%); }
.tl-ethics__hero-logo img { width:1290px; max-width:none; height:auto; }
.tl-ethics__hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#214a44 12%,rgba(33,74,68,.88) 43%,rgba(33,74,68,.1) 75%,#315d54 100%); }
@media(max-width:700px) { .tl-ethics__hero-logo { right:4px; opacity:.28; } }
.tl-ethics__hero h1 { color:#fff; font-size:clamp(1.8rem,4vw,2.8rem); margin:14px 0; }
.tl-ethics__hero .tl-eyebrow { color:#e1cb9b; }
.tl-ethics__hero p { max-width:760px; line-height:1.9; }
.tl-ethics__nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding-top:30px; padding-bottom:30px; border-bottom:1px solid var(--tl-line); }
.tl-ethics__nav-group+.tl-ethics__nav-group { border-left:1px solid var(--tl-line); padding-left:32px; }
.tl-ethics__nav-label { color:#68766d; font-size:.78rem; letter-spacing:.14em; font-weight:700; margin:0 0 14px; }
.tl-ethics__nav a { display:flex; align-items:center; gap:12px; min-height:48px; padding:7px 10px; margin:3px -10px; color:#214a44; text-decoration:none; border-radius:10px; font-weight:600; }
.tl-ethics__nav-icon { display:flex; align-items:center; justify-content:center; flex:0 0 34px; height:34px; color:#61756d; }
.tl-ethics__nav a b { margin-left:auto; color:#7a6a44; font-size:1rem; font-weight:400; }
.tl-ethics__nav a[aria-current] { background:#214a44; color:white; }
.tl-ethics__nav a[aria-current] i,.tl-ethics__nav a[aria-current] b { color:#e1cb9b; }
.tl-ethics__nav a:hover:not([aria-current]) { background:#e4ece7; }
.tl-ethics__resource { border:0!important; border-bottom:1px solid var(--tl-line)!important; border-radius:0!important; background:transparent!important; }
.tl-ethics__resource-icon { display:inline-flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:50%; background:#e4ece7; color:#28514b; margin-bottom:16px; }
.tl-ethics__resource-icon svg { width:28px; height:28px; }
.tl-ethics__resource a:hover .tl-ethics__resource-icon { background:#214a44; color:#e1cb9b; }
@media(max-width:700px) {
 .tl-ethics__nav { grid-template-columns:1fr; gap:20px; }
 .tl-ethics__nav-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; }
 .tl-ethics__nav-group+.tl-ethics__nav-group { border-left:0; padding-left:0; border-top:1px solid var(--tl-line); padding-top:20px; }
 .tl-ethics__nav-label { grid-column:1/-1; margin-bottom:4px; }
 .tl-ethics__nav a { margin:0; padding:6px 3px; font-size:.9rem; gap:5px; }
 .tl-ethics__nav a b { display:none; }
}
.tl-ethics__section { padding-top:32px; padding-bottom:32px; }
.tl-ethics__section>h2 { border-left:4px solid #b89759; padding-left:14px; color:#214a44; margin-bottom:24px; }
.tl-ethics__tile { border:1px solid var(--tl-line); border-radius:14px; background:var(--tl-paper); }
.tl-ethics__tile a { display:block; padding:26px; height:100%; color:#214a44; text-decoration:none; }
.tl-ethics__tile h3 { font-size:1.35rem; line-height:1.6; font-weight:700; }
.tl-ethics__tile span { display:block; border-top:1px solid var(--tl-line); padding-top:14px; font-weight:600; }
.tl-ethics a:focus-visible { outline:3px solid #b89759; outline-offset:3px; }

/* Organisation navigation: warm icon rail, distinct from the centre directory. */
.tl-archive__header.tl-library-heading { padding:22px 0; background:var(--tl-paper); }
.tl-library-heading h1 { font-size:clamp(1.6rem,2.4vw,2.2rem); font-weight:700; line-height:1.4; letter-spacing:0; }
.tl-library-heading .tl-eyebrow { margin:0 0 3px; font-size:.9rem; letter-spacing:.04em; }
.tl-library-heading p:not(.tl-eyebrow) { font-size:1rem; margin-top:14px; }
.tl-archive .tl-archive__header.tl-library-heading h1 { color:var(--tl-ink); }
.tl-archive .tl-archive__header.tl-library-heading p:not(.tl-eyebrow) { color:var(--tl-muted); }
.tl-archive .tl-archive__header.tl-library-heading .tl-eyebrow { color:var(--tl-orange-dark); }
.tl-home .tl-section-heading { align-items:center; }
.tl-home .tl-section-heading h2 { font-size:clamp(1.5rem,2vw,2rem); font-weight:700; line-height:1.4; }
.tl-home .tl-section-heading .tl-eyebrow { margin:0 0 3px; font-size:.9rem; letter-spacing:.04em; }
.tl-section-title { display:flex; align-items:center; gap:16px; }
.tl-section-title__icon .tl-primary-label { display:none; }
.tl-section-title__icon .tl-primary-icon { width:52px; height:52px; border-radius:12px; }
.tl-section-title__icon .tl-primary-icon--designer { background:transparent; border-radius:0; }
/* Blend white-backed supplied icons into pale heading banners without redrawing the brand artwork. */
.tl-section-title__icon .tl-primary-icon--designer img { mix-blend-mode:multiply; }
.tl-section-title__icon svg { width:30px; height:30px; }
.tl-home .tl-home-topics svg { width:28px; height:28px; }
.tl-home .tl-card-grid--home,.tl-home .tl-card-grid--four { padding-top:26px; }
@media(max-width:540px) { .tl-home .tl-section-heading { flex-wrap:wrap; gap:14px; } }
#masthead .inside-header { display:grid; grid-template-columns:140px minmax(0,1fr) 140px; align-items:center; gap:20px; max-width:none; width:100%; box-sizing:border-box; padding:6px clamp(18px,3vw,56px); }
#masthead #site-navigation { justify-self:center; }
#masthead,#masthead #site-navigation { border-bottom:0; }
#masthead .inside-header #site-navigation { margin-left:0; }
#masthead .site-logo { flex-shrink:0; }
#masthead .site-logo ~ .site-branding { display:none; }
@media(min-width:769px) {
 #masthead .mobile-menu-control-wrapper { display:none; }
}
@media(max-width:768px) {
 #masthead .inside-header { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
 #masthead .mobile-menu-control-wrapper { margin-left:auto; }
 #masthead #site-navigation { width:100%; }
}
@media(min-width:769px) and (max-width:1100px) {
 #masthead .inside-header { grid-template-columns:100px minmax(0,1fr); gap:12px; }
}
.tl-home .tl-home-topics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; padding-block:18px; }
.tl-home-topics a { display:flex; align-items:center; justify-content:center; gap:12px; padding:12px; border-right:1px solid var(--tl-line); text-align:center; }
.tl-home-topics a:last-child { border-right:0; }
.tl-home-topics a:hover,.tl-home-topics a:focus-visible { background:#fff4df; color:var(--tl-orange-dark); }
.tl-home-topics .tl-primary-icon { flex-shrink:0; background:transparent; }
@media(max-width:1000px) { .tl-home .tl-home-topics { grid-template-columns:repeat(3,minmax(0,1fr)); } .tl-home-topics a:nth-child(3n) { border-right:0; } }
@media(max-width:540px) { .tl-home .tl-home-topics { grid-template-columns:repeat(2,minmax(0,1fr)); } .tl-home-topics a { flex-direction:column; border:0; } }
#site-navigation .main-nav>ul>li>a { display:flex; flex-direction:row; align-items:center; justify-content:center; gap:9px; padding:10px 12px; line-height:1.5; min-height:58px; box-sizing:border-box; color:#263441; background:transparent; font-size:.94rem; border-bottom:3px solid transparent; }
.tl-primary-icon { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:12px; background:#fff0db; color:#935010; }
.tl-primary-icon--centre { background:#e5eee9; color:#28514b; }
#site-navigation .main-nav>ul>li:hover>a,#site-navigation .main-nav>ul>li[class*="current-menu-"]>a { background:#fff8ed; border-bottom-color:#d98519; color:#683907; }
#site-navigation .main-nav>ul>li>a:focus-visible { outline:3px solid #935010; outline-offset:-3px; }
.tl-primary-label { white-space:nowrap; }
.tl-video-series-card__image--original { background:#fff; }
.tl-video-series-card__image--original img { object-fit:contain; }
.tl-video-section { margin-block:28px; }
.tl-video-section__title { padding:16px 20px; margin:0; border-left:4px solid var(--tl-orange); border-radius:8px; background:var(--tl-paper); font-size:1.5rem; font-weight:750; }
.tl-video-series-card__body h3 { font-size:1.2rem; font-weight:700; margin:0 0 12px; color:var(--tl-ink); }
.tl-video-other summary { cursor:pointer; font-size:1.2rem; font-weight:700; padding:16px 0; }
.tl-video-other summary:focus-visible { outline:3px solid var(--tl-teal); }
@media(min-width:769px) {
 #masthead #site-navigation { width:100%; min-width:0; }
 #site-navigation .inside-navigation,#site-navigation .main-nav { width:100%; max-width:none; }
 #site-navigation .main-nav>ul { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 10px; }
 #site-navigation .tl-primary-icon { flex-shrink:0; }
}
@media(max-width:768px) {
 #site-navigation .main-nav>ul>li>a { flex-direction:row; justify-content:flex-start; min-height:54px; padding:8px 18px; gap:14px; }
}

/* Production information architecture: illustrated child menus without colour noise. */
#site-navigation .main-nav .sub-menu { min-width:310px; padding:10px; border:1px solid var(--tl-line); border-radius:12px; background:#fff; box-shadow:0 18px 48px rgba(17,30,44,.18); }
#site-navigation .main-nav .sub-menu a { display:flex; align-items:center; gap:11px; min-height:48px; padding:8px 12px; border-radius:8px; color:var(--tl-ink); line-height:1.35; }
#site-navigation .main-nav .sub-menu a:hover,#site-navigation .main-nav .sub-menu a:focus-visible { background:#fff4df; color:#683907; }
.tl-submenu-icon { display:inline-flex; flex:0 0 34px; width:34px; height:34px; align-items:center; justify-content:center; border-radius:9px; background:#fff0db; color:#935010; }
.tl-submenu-icon svg { width:19px; height:19px; }
@media(min-width:1100px) {
 #site-navigation .main-nav>ul>li:nth-child(2)>.sub-menu,
 #site-navigation .main-nav>ul>li:nth-child(3)>.sub-menu,
 #site-navigation .main-nav>ul>li:nth-child(4)>.sub-menu,
 #site-navigation .main-nav>ul>li:nth-child(5)>.sub-menu,
 #site-navigation .main-nav>ul>li:nth-child(6)>.sub-menu { width:620px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 #site-navigation .main-nav>ul>li:hover>.sub-menu,
 #site-navigation .main-nav>ul>li.sfHover>.sub-menu { display:grid; }
}
@media(max-width:768px) {
 #site-navigation .main-nav .sub-menu { min-width:0; padding:4px 10px 10px 24px; border:0; border-radius:0; box-shadow:none; background:#f7f8f5; }
 #site-navigation .main-nav .sub-menu a { min-height:46px; }
}

/* A coherent reading surface: title, media and prose share one visual column. */
.tl-detail { padding-bottom:clamp(38px,6vw,78px); background:#eef1ef; }
.tl-detail .tl-reading-shell { width:min(920px,calc(100% - 40px)); }
.tl-detail__body { margin-top:clamp(24px,4vw,42px); padding:clamp(24px,5vw,54px); box-sizing:border-box; border:1px solid #d9dfdc; border-radius:18px; background:#fff; box-shadow:0 16px 42px rgba(17,30,44,.08); }
.tl-detail__media { margin-inline:0; }
.tl-detail__media img { display:block; }
.tl-prose { color:#25313b; }
.tl-prose p,.tl-prose li { max-width:72ch; }
.tl-prose blockquote { margin-inline:0; padding:18px 24px; border-left:4px solid var(--tl-orange); background:#f8f6f0; }
.tl-prose table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.tl-prose iframe,.tl-prose video { max-width:100%; }
@media(max-width:600px) {
 .tl-detail .tl-reading-shell { width:calc(100% - 20px); }
 .tl-detail__body { padding:20px; border-radius:12px; }
 .tl-prose { font-size:1rem; line-height:1.85; }
}

/* Weekly-focus archive: concise list titles, full preserved HTML on detail. */
.tl-content-card__image--weekly-focus { position:relative; display:flex; flex-direction:column; justify-content:center; gap:8px; min-height:0; padding:clamp(22px,3vw,34px); overflow:hidden; background:radial-gradient(circle at 83% 22%,rgba(255,193,95,.35),transparent 24%),radial-gradient(circle at 12% 82%,rgba(67,155,147,.38),transparent 28%),linear-gradient(135deg,#142838,#1d4951); color:#fff; }
.tl-content-card__image--weekly-focus::before { content:""; position:absolute; right:-12%; bottom:-58%; width:60%; aspect-ratio:1; border:1px solid rgba(255,255,255,.17); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.045),0 0 0 57px rgba(255,255,255,.035); }
.tl-content-card__image--weekly-focus>* { position:relative; z-index:1; }
.tl-weekly-card-visual__kicker { color:#ffc15f; font-size:.82rem; font-weight:800; letter-spacing:.16em; }
.tl-content-card__image--weekly-focus strong { max-width:10ch; font-size:clamp(1.55rem,2.5vw,2.2rem); line-height:1.18; letter-spacing:-.04em; }
.tl-weekly-card-visual__mark { position:absolute; right:11%; top:20%; color:#ffc15f; font-size:1.65rem; }
.tl-content-card__weekly-headlines { display:-webkit-box; margin:12px 0 0; overflow:hidden; color:var(--tl-muted); -webkit-box-orient:vertical; -webkit-line-clamp:2; line-height:1.65; }
.tl-weekly-archive { margin-top:42px; padding-top:32px; border-top:1px solid var(--tl-line); }
.tl-weekly-archive__heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.tl-weekly-archive__heading h2 { margin:0; font-size:clamp(1.45rem,3vw,2rem); }
.tl-weekly-archive__frame { display:block; width:100%; min-height:1050px; border:1px solid var(--tl-line); border-radius:12px; background:#e9f4df; }
.tl-weekly-archive__fallback { color:var(--tl-muted); font-size:.9rem; }
@media(max-width:600px) { .tl-weekly-archive__heading { align-items:flex-start; flex-direction:column; } .tl-weekly-archive__frame { min-height:780px; } }

/* Video list cards use a poster first and the existing floating player on demand. */
.tl-content-card.type-tl_video { position:relative; }
.tl-content-card__image--youtube { aspect-ratio:16/9; background:#101820; }
.tl-content-card__image--youtube img { width:100%; height:100%; object-fit:cover; }
.tl-video-card-play--cover { position:absolute; z-index:3; top:0; left:0; width:100%; aspect-ratio:16/9; margin:0; border:0; background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.42)); color:#fff; cursor:pointer; }
.tl-video-card-play--cover>span[aria-hidden] { display:inline-flex; align-items:center; justify-content:center; width:66px; height:66px; padding-left:5px; border:3px solid rgba(255,255,255,.9); border-radius:50%; background:rgba(17,30,44,.78); font-size:1.7rem; box-shadow:0 8px 24px rgba(0,0,0,.3); }
.tl-video-card-play--cover:hover>span[aria-hidden],.tl-video-card-play--cover:focus-visible>span[aria-hidden] { background:var(--tl-orange); color:var(--tl-ink); transform:scale(1.05); }
.tl-content-card.type-tl_video>.tl-video-detail-link { margin:0 24px 22px; }

/* Donation methods are visual radio cards; details appear only for the choice. */
.tl-donation-method-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:10px 0 18px; }
.tl-donation-method-choices label { position:relative; display:grid; grid-template-rows:58px auto auto; align-items:center; gap:5px; min-width:0; min-height:128px; margin:0; padding:12px; border:1px solid var(--tl-line); border-radius:10px; background:#fff; cursor:pointer; text-align:center; }
.tl-donation-method-choices input { position:absolute; width:1px; height:1px; opacity:0; }
.tl-donation-method-choices label:has(input:checked) { border:2px solid #a96308; background:#fff7e7; box-shadow:0 0 0 2px rgba(169,99,8,.12); }
.tl-donation-method-choices label:has(input:checked)::after { content:'✓'; position:absolute; top:7px; right:8px; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#744200; color:#fff; font-size:.8rem; }
.tl-donation-method-choices label:has(input:focus-visible) { outline:3px solid var(--tl-teal); outline-offset:3px; }
.tl-donation-method-choice__visual { display:flex; align-items:center; justify-content:center; min-width:0; height:58px; }
.tl-donation-method-choice__visual img { max-width:100%; max-height:54px; width:auto; height:auto; object-fit:contain; }
.tl-payment-generic { display:inline-flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:12px; background:#eef4f2; color:#28514b; }
.tl-donation-method-choices strong { line-height:1.35; }
.tl-donation-method-choices small { color:var(--tl-muted); line-height:1.35; }
.tl-donation-method-help { padding:15px 18px; border-left:4px solid var(--tl-orange); border-radius:8px; background:#f8f6f0; }
.tl-donation-method-help p { margin:5px 0 0; }
@media(max-width:700px) { .tl-donation-method-choices { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Illustrated parent pages restore the production hierarchy without a wall of text. */
.tl-directory { min-height:60vh; padding-bottom:clamp(48px,7vw,90px); background:#f4f6f3; }
.tl-directory__hero { padding:clamp(42px,6vw,76px) 0; background:linear-gradient(125deg,#111e2c,#203b45); color:#fff; }
.tl-directory__hero h1 { margin:0; color:#fff; font-size:clamp(2rem,5vw,3.8rem); line-height:1.2; }
.tl-directory__hero>div>p:not(.tl-eyebrow) { max-width:760px; margin:18px 0 0; color:#d7e1e4; font-size:1.12rem; line-height:1.8; }
.tl-directory__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding-top:clamp(28px,5vw,54px); }
.tl-directory__grid article { min-width:0; border:1px solid var(--tl-line); border-radius:14px; background:#fff; box-shadow:0 8px 24px rgba(17,30,44,.05); }
.tl-directory__grid a { display:grid; grid-template-columns:64px minmax(0,1fr); gap:18px; height:100%; padding:24px; box-sizing:border-box; color:var(--tl-ink); text-decoration:none; }
.tl-directory__grid a:hover { border-radius:14px; background:#fff9ee; }
.tl-directory__grid a:focus-visible { outline:3px solid var(--tl-teal); outline-offset:3px; }
.tl-directory__icon { display:inline-flex; align-items:center; justify-content:center; width:62px; height:62px; border-radius:15px; background:#fff0db; color:#935010; }
.tl-directory__grid h2 { margin:0 0 8px; font-size:1.3rem; font-weight:750; line-height:1.4; }
.tl-directory__grid p { margin:0 0 15px; color:var(--tl-muted); line-height:1.7; }
.tl-directory__grid strong { color:#744200; }
@media(max-width:700px) { .tl-directory__grid { grid-template-columns:1fr; } .tl-directory__grid a { grid-template-columns:52px minmax(0,1fr); padding:20px; } .tl-directory__icon { width:50px; height:50px; } }

/* Focus-area design A: topic content with a useful, persistent left rail. */
.tl-detail--weekly-focus .tl-detail__header { padding-block:clamp(48px,7vw,84px) clamp(38px,5vw,64px); }
.tl-detail__title--weekly-focus { max-width:800px; font-size:clamp(2rem,3.9vw,3.45rem); font-weight:780; line-height:1.32; letter-spacing:-.018em; text-wrap:balance; }
.tl-detail--weekly-focus .tl-detail__meta { margin-top:26px; padding-top:18px; border-top:1px solid rgba(255,255,255,.24); }
.tl-weekly-focus__issue-summary { max-width:800px; margin-top:18px; color:#d7e1e4; }
.tl-weekly-focus__issue-summary summary { display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid rgba(255,255,255,.3); border-radius:999px; color:#fff; cursor:pointer; font-size:.92rem; font-weight:700; }
.tl-weekly-focus__issue-summary summary:hover { border-color:#ffc15f; color:#ffc15f; }
.tl-weekly-focus__issue-summary summary:focus-visible { outline:3px solid var(--tl-teal); outline-offset:3px; }
.tl-weekly-focus__issue-summary p { margin:13px 0 0; padding:14px 16px; border-left:3px solid #ffc15f; background:rgba(255,255,255,.08); font-size:.95rem; line-height:1.75; }
@media(max-width:600px) { .tl-detail__title--weekly-focus { font-size:clamp(1.82rem,8vw,2.45rem); line-height:1.38; text-wrap:pretty; } }

/* Focus-area design A: topic content with a useful, persistent left rail. */
.tl-focus { background:#f7f8f5; min-height:60vh; padding:clamp(24px,4vw,54px) 0 clamp(60px,8vw,100px); }
.tl-focus__layout { display:grid; grid-template-columns:minmax(220px,264px) minmax(0,1fr); align-items:start; gap:clamp(24px,4vw,56px); }
.tl-focus__rail { background:#fff; border:1px solid var(--tl-line); border-radius:16px; padding:24px; box-shadow:0 8px 26px rgba(17,30,44,.05); }
@media(min-width:851px) {
 .tl-focus__rail,.tl-service__nav { position:sticky; top:24px; align-self:start; box-sizing:border-box; max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); overflow-y:auto; scrollbar-width:thin; }
 .admin-bar .tl-focus__rail,.admin-bar .tl-service__nav { top:56px; max-height:calc(100vh - 80px); max-height:calc(100dvh - 80px); }
}
.tl-focus__rail h2 { margin:24px 0 12px; font-size:1rem; color:var(--tl-ink); }
.tl-focus__rail nav ul,.tl-focus__rail-reading ul { list-style:none; padding:0; margin:0; }
.tl-focus__rail li+li { border-top:1px solid var(--tl-line); }
.tl-focus__rail a { display:block; color:var(--tl-ink); text-decoration:none; line-height:1.55; }
.tl-focus__rail nav a { padding:11px 12px; border-radius:8px; }
.tl-focus__rail nav a[aria-current="page"] { background:#eaf3f0; color:#17544b; font-weight:700; }
.tl-focus__rail a:hover { color:#895018; text-decoration:underline; }
.tl-focus__rail a:focus-visible { outline:3px solid var(--tl-teal); outline-offset:2px; }
.tl-focus__back { font-weight:700; font-size:.92rem; }
.tl-focus__rail-reading { margin-top:25px; padding-top:4px; border-top:2px solid #dce8e3; }
.tl-focus__rail-reading li a { padding:10px 0; font-size:.9rem; }
.tl-focus__main { min-width:0; }
.tl-focus__hero { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; min-height:390px; overflow:hidden; background:linear-gradient(112deg,#fff 0%,#fff 42%,#eef5f1 100%); border:1px solid var(--tl-line); border-radius:18px; padding:clamp(28px,5vw,58px); }
.tl-focus__hero::before { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 35%,rgba(255,255,255,.82) 50%,rgba(255,255,255,.22) 70%,transparent 88%); }
.tl-focus__hero-copy { position:relative; z-index:2; width:min(58%,680px); min-width:0; }
.tl-focus__hero h1 { margin:4px 0 0; color:var(--tl-ink); font-size:clamp(2rem,4.2vw,3.7rem); line-height:1.2; }
.tl-focus__rule { width:72px; height:4px; margin:25px 0; border-radius:4px; background:var(--tl-orange); }
.tl-focus__intro { max-width:68ch; margin:0; color:var(--tl-ink); font-size:1.08rem; line-height:1.85; }
.tl-focus__intro p { margin:0 0 1em; }
.tl-focus__intro p:last-child { margin-bottom:0; }
.tl-focus__hero-guide { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:clamp(20px,3vw,30px); border:1px solid #d8e5df; border-radius:15px; background:linear-gradient(145deg,#edf5f1,#fbf8f1); }
.tl-focus__hero-guide h2 { margin:5px 0 16px; color:var(--tl-ink); font-size:1.35rem; }
.tl-focus__hero-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.tl-focus__hero-topics a { display:flex; align-items:center; justify-content:space-between; gap:7px; min-width:0; padding:9px 11px; border:1px solid rgba(23,84,75,.16); border-radius:8px; color:#174f46; background:rgba(255,255,255,.8); text-decoration:none; font-size:.88rem; font-weight:700; white-space:nowrap; }
.tl-focus__hero-topics a:hover { border-color:#d59a43; color:#744200; background:#fff9ee; }
.tl-focus__hero-topics a:focus-visible,.tl-focus__hero-more:focus-visible,.tl-focus__hero-reading a:focus-visible { outline:3px solid var(--tl-teal); outline-offset:2px; }
.tl-focus__hero-topics span { color:#9a5b16; }
.tl-focus__hero-more { align-self:flex-start; margin-top:16px; color:#17544b; font-size:.9rem; font-weight:750; text-decoration:none; }
.tl-focus__hero-reading { list-style:none; margin:0; padding:0; }
.tl-focus__hero-reading li+li { border-top:1px solid rgba(23,84,75,.13); }
.tl-focus__hero-reading a { display:block; padding:9px 0; color:var(--tl-ink); text-decoration:none; font-weight:650; line-height:1.45; }
.tl-focus__hero-visual { position:absolute; z-index:0; top:-10%; right:-4%; bottom:-10%; width:72%; min-height:0; margin:0; overflow:hidden; background:transparent; }
.tl-focus__hero-visual img { position:absolute; inset:-3%; display:block; width:106%; height:106%; object-fit:cover; opacity:.82; filter:saturate(.88) contrast(.94); -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 18%,rgba(0,0,0,.82) 44%,#000 68%); mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 18%,rgba(0,0,0,.82) 44%,#000 68%); }
.tl-focus__hero-visual.is-placeholder { display:flex; align-items:center; justify-content:center; }
.tl-focus__hero-symbol { color:#456d64; font-size:5rem; }
.tl-focus__results { margin-top:clamp(32px,5vw,56px); }
.tl-focus .tl-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding-block:0; }
.tl-focus__results-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:20px; }
.tl-focus__results-heading h2 { margin:5px 0 0; font-size:clamp(1.5rem,2.8vw,2.1rem); color:var(--tl-ink); }
.tl-focus__results-heading>span { color:var(--tl-muted); white-space:nowrap; font-size:.9rem; }
.tl-focus__empty { padding:22px; border:1px solid var(--tl-line); border-radius:12px; background:#fff; }
.tl-focus__feature-section,.tl-focus__topics { margin-top:clamp(36px,5vw,58px); }
.tl-focus__feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.tl-focus__feature { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--tl-line); border-radius:13px; background:#fff; color:var(--tl-ink); text-decoration:none; }
.tl-focus__feature:hover,.tl-focus__topic-grid a:hover { background:#fff9ee; border-color:#dba456; }
.tl-focus__feature:focus-visible,.tl-focus__topic-grid a:focus-visible { outline:3px solid var(--tl-teal); outline-offset:3px; }
.tl-focus__feature-image { aspect-ratio:16/9; display:block; overflow:hidden; background:#e4e9e7; }
.tl-focus__feature-image img { display:block; width:100%; height:100%; object-fit:cover; }
.tl-focus__feature-title { display:flex; justify-content:space-between; gap:12px; padding:17px 19px; font-weight:700; line-height:1.5; }
.tl-focus__feature-title span { color:#895018; }
.tl-focus__topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tl-focus__topic-grid a { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:56px; padding:12px 16px; border:1px solid var(--tl-line); border-radius:9px; background:#fff; color:var(--tl-ink); text-decoration:none; font-weight:700; line-height:1.4; }
.tl-focus__topic-grid a span { color:#895018; }
.tl-focus--topic .tl-focus__hero .tl-eyebrow a { color:#17544b; }
@media(max-width:1000px) { .tl-focus__hero { display:grid; grid-template-columns:1fr; min-height:0; background:linear-gradient(180deg,#fff 0%,#fff 55%,#eef5f1 100%); } .tl-focus__hero::before { display:none; } .tl-focus__hero-copy { width:auto; } .tl-focus__hero-visual { position:relative; top:auto; right:auto; bottom:auto; width:auto; min-height:300px; margin:24px -12px -16px; } .tl-focus__hero-visual img { inset:-3%; width:106%; height:106%; -webkit-mask-image:radial-gradient(ellipse at 58% 50%,#000 36%,rgba(0,0,0,.92) 58%,transparent 88%); mask-image:radial-gradient(ellipse at 58% 50%,#000 36%,rgba(0,0,0,.92) 58%,transparent 88%); } }
@media(max-width:850px) { .tl-focus__layout { grid-template-columns:1fr; } .tl-focus__rail { order:2; } .tl-focus__main { order:1; } .tl-focus__rail nav ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 12px; } .tl-focus__rail nav li+li { border-top:0; } }
@media(max-width:600px) { .tl-focus__hero { padding:24px; } .tl-focus__hero-topics { grid-template-columns:1fr; } .tl-focus__results-heading { align-items:start; flex-direction:column; } .tl-focus__rail nav ul,.tl-focus .tl-card-grid,.tl-focus__feature-grid { grid-template-columns:1fr; } .tl-focus__topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:420px) { .tl-focus__topic-grid { grid-template-columns:1fr; } }

/* Designer-feedback homepage preview; the current homepage remains untouched. */
.tl-home-design-designer #masthead .inside-header { grid-template-columns:110px minmax(0,1fr); gap:12px; }
.tl-home-design-designer #masthead #site-navigation { width:100%; min-width:0; }
.tl-home-design-designer #site-navigation .main-nav>ul { flex-wrap:nowrap; gap:0; justify-content:space-between; }
.tl-home-design-designer #site-navigation .main-nav>ul>li>a { flex-direction:column; gap:3px; min-height:79px; padding:7px 5px 9px; font-size:clamp(.72rem,.78vw,.9rem); text-align:center; }
.tl-home-design-designer #site-navigation .tl-primary-icon { width:31px; height:31px; border-radius:9px; }
.tl-home-design-designer #site-navigation .tl-primary-icon svg { width:21px; height:21px; }
.tl-primary-icon--designer,
.tl-home-design-designer #site-navigation .tl-primary-icon--designer { background:transparent; border-radius:0; width:36px; height:36px; }
.tl-primary-icon--designer img { display:block; width:100%; height:100%; object-fit:contain; }
.tl-home-design-designer #site-navigation .tl-primary-label { white-space:normal; line-height:1.15; }
.tl-home--designer { background:#fff; }
.tl-design-preview-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block:12px; color:#525d66; font-size:.82rem; }
.tl-design-preview-bar a { font-weight:700; }
.tl-design-spotlight { position:relative; background:#f7f3ed; }
.tl-design-spotlight__slide { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:repeat(2,minmax(215px,18vw)); gap:0; }
.tl-design-spotlight__slide[hidden],.tl-design-spotlight__controls[hidden] { display:none; }
.tl-design-spotlight__tile { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-width:0; overflow:hidden; background:linear-gradient(135deg,#29546a,#247d79); color:#fff; text-decoration:none; }
.tl-design-spotlight__tile--lead { grid-row:span 2; }
.tl-design-spotlight__tile:nth-child(3n) { background:linear-gradient(135deg,#9c753c,#dfac56); }
.tl-design-spotlight__tile:nth-child(4n) { background:linear-gradient(135deg,#5d496b,#b0637b); }
.tl-design-spotlight__tile::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(7,19,28,.9),transparent 82%); }
.tl-design-spotlight__image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.tl-design-spotlight__tile:hover .tl-design-spotlight__image { transform:scale(1.035); }
.tl-design-spotlight__copy { display:grid; gap:8px; width:100%; padding:clamp(16px,2.5vw,38px); line-height:1.4; }
.tl-design-spotlight__type { color:#ffcc62; font-size:.82rem; font-weight:700; }
.tl-design-spotlight__copy strong { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:clamp(1rem,1.3vw,1.4rem); }
.tl-design-spotlight__tile--lead strong { font-size:clamp(1.45rem,2.6vw,2.6rem); }
.tl-design-spotlight__action { font-size:.8rem; font-weight:700; }
.tl-design-spotlight__tile:hover,.tl-design-spotlight__tile:focus { color:#fff; }
.tl-design-spotlight__tile:focus-visible { outline:4px solid #f7b52c; outline-offset:-4px; }
.tl-design-spotlight__controls { position:absolute; z-index:3; right:12px; bottom:10px; display:flex; align-items:center; justify-content:center; gap:4px; min-height:44px; padding:2px 6px; border-radius:10px; background:rgba(255,255,255,.94); box-shadow:0 2px 12px #0003; font-size:.75rem; }
.tl-design-spotlight__controls button { min-width:44px; min-height:44px; padding:4px 8px; font-size:.75rem; border:0; border-radius:6px; background:transparent; color:#18333d; cursor:pointer; }
.tl-design-spotlight__controls button:hover,.tl-design-spotlight__controls button:focus-visible { background:#ffe2a4; outline:2px solid #805315; }
.tl-design-spotlight__controls [data-home-count] { min-width:50px; text-align:center; font-weight:700; }
.tl-design-mission { position:relative; isolation:isolate; display:flex; min-height:clamp(420px,36vw,600px); align-items:center; padding-block:48px; overflow:hidden; background:linear-gradient(rgba(12,25,38,.48),rgba(12,25,38,.56)),url('../images/designer/lighthouse-pier.jpg') center top / cover; color:#fff; text-align:center; }
.tl-design-mission::before { content:none; }
.tl-design-mission__inner { max-width:900px; }
.tl-design-mission .tl-eyebrow { color:#ffdf9a; }
.tl-design-mission h2 { margin:10px 0 22px; color:#fff; font-size:clamp(2rem,4vw,3.8rem); letter-spacing:.06em; }
.tl-design-mission p:not(.tl-eyebrow) { max-width:65ch; margin-inline:auto; font-size:clamp(1rem,1.4vw,1.2rem); line-height:1.85; }
.tl-design-mission a { display:inline-block; margin-top:20px; color:#fff; font-weight:700; text-underline-offset:5px; }
.tl-home--designer .tl-design-section { padding-block:clamp(44px,5vw,74px); }
.tl-home--designer .tl-design-section .tl-card-grid { padding-top:24px; }
.tl-home--designer .tl-design-section .tl-content-card h2 { display:inline; padding:2px 4px; background:linear-gradient(transparent 47%,#ffdd69 47%); box-decoration-break:clone; -webkit-box-decoration-break:clone; -webkit-line-clamp:unset; overflow:visible; }
.tl-design-concerns { background:#fcfaf5; }
.tl-design-concerns__grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:clamp(9px,1.7vw,24px); padding-top:24px; }
.tl-design-concerns__item { display:grid; justify-items:center; gap:14px; align-content:start; min-width:0; padding:12px 6px; color:#24383e; font-weight:700; text-align:center; text-decoration:none; }
.tl-design-concerns__image { display:block; width:100%; max-width:150px; aspect-ratio:1; transition:transform .2s; }
.tl-design-concerns__image img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.tl-design-concerns__item:hover .tl-design-concerns__image { transform:translateY(-5px); }
.tl-design-concerns__item:focus-visible { outline:3px solid var(--tl-teal); }
.tl-design-support { padding-block:clamp(65px,8vw,115px); background:linear-gradient(90deg,rgba(0,106,103,.95),rgba(0,144,131,.78)),url('../images/focus-areas/focus-social-concern.webp') center 48% / cover; color:#fff; text-align:center; }
.tl-design-support .tl-eyebrow,.tl-design-support h2 { color:#fff; }
.tl-design-support h2 { margin:4px 0 14px; font-size:clamp(2rem,4vw,3.7rem); }
.tl-design-support p { font-size:1.1rem; }
.tl-design-support .tl-button { margin-top:16px; background:#fff; color:#14534e !important; }
.tl-design-support__actions { display:flex; justify-content:center; align-items:stretch; flex-wrap:wrap; gap:14px; margin-top:16px; }
.tl-design-support__actions .tl-button { margin-top:0; align-self:center; }
.tl-design-support__demo { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:48px; padding:10px 20px; border:1px solid rgba(255,255,255,.8); border-radius:999px; color:#fff !important; font-weight:700; text-decoration:none; }
.tl-design-support__demo:hover,.tl-design-support__demo:focus-visible { background:rgba(255,255,255,.16); color:#fff !important; }
.tl-design-support__demo small { font-size:.68rem; font-weight:500; }
@media(max-width:1150px) { .tl-home-design-designer #masthead .inside-header { display:flex; flex-wrap:wrap; justify-content:space-between; } .tl-home-design-designer #masthead #site-navigation { flex-basis:100%; } .tl-design-concerns__grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:768px) { .tl-home-design-designer #site-navigation .main-nav>ul { flex-wrap:wrap; } .tl-home-design-designer #site-navigation .main-nav>ul>li>a { flex-direction:row; min-height:52px; justify-content:flex-start; font-size:1rem; } .tl-design-spotlight__slide { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; } .tl-design-spotlight__tile { min-height:210px; } .tl-design-spotlight__tile--lead { grid-column:1/-1; grid-row:auto; min-height:320px; } .tl-design-concerns__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:520px) { .tl-design-preview-bar { align-items:flex-start; flex-direction:column; } .tl-design-spotlight__slide { grid-template-columns:1fr; } .tl-design-spotlight__tile,.tl-design-spotlight__tile--lead { grid-column:auto; min-height:215px; } .tl-design-concerns__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .tl-design-mission { min-height:0; } }
.tl-directory__focus { grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(18px,3vw,36px); padding-block:clamp(38px,6vw,78px); }
.tl-directory__focus .tl-design-concerns__item { padding:18px 12px 24px; border:1px solid var(--tl-line); border-radius:16px; background:#fff; box-shadow:0 10px 28px rgba(24,47,54,.07); }
.tl-directory__focus .tl-design-concerns__image { max-width:175px; }
.tl-design-concerns__image { max-width:190px; }
.tl-design-concerns__image img { mix-blend-mode:normal; }
.tl-directory__focus .tl-design-concerns__image { max-width:230px; }
.tl-directory__focus .tl-design-concerns__item strong { font-size:1.3rem; }
.tl-directory__focus-description { max-width:21ch; color:var(--tl-muted); font-size:.9rem; font-weight:400; line-height:1.65; }
.tl-directory__focus .tl-design-concerns__item:hover { border-color:#dba456; background:#fffaf1; }
@media(max-width:950px) { .tl-directory__focus { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:660px) { .tl-directory__focus { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:420px) { .tl-directory__focus { grid-template-columns:1fr; } }

/* Shared desktop navigation: every page uses the designer's compact icon-above-label layout. */
/* Approved concern hero: full background, darkening overlay and scroll-revealed introduction. */
body.tl-wide-service #page.grid-container { max-width:none; }
.tl-wide-service .tl-service .tl-shell,.tl-wide-service .tl-directory .tl-shell { width:min(1600px,calc(100% - 64px)); }
.tl-service__layout { display:grid; grid-template-columns:minmax(0,3fr) minmax(260px,1fr); gap:clamp(24px,3vw,48px); padding-block:36px; align-items:start; }
.tl-service .tl-library-heading h1 { color:var(--tl-ink); background:none; }
.tl-service .tl-library-heading .tl-eyebrow { color:var(--tl-orange-dark); }
.tl-service .tl-library-heading p:not(.tl-eyebrow) { color:var(--tl-muted); }
.tl-service__content { min-width:0; line-height:1.85; }
.tl-service__content p { max-width:75ch; }
.tl-service__content img { max-width:100%; height:auto !important; }
.tl-service__content table { width:100%; border-collapse:collapse; margin:24px 0; }
.tl-service__content th,.tl-service__content td { padding:14px; border:1px solid var(--tl-line); vertical-align:top; }
.tl-service__content th { background:#fff5cf; }
.tl-service__content caption { font-size:1.35rem; font-weight:700; padding:12px; text-align:left; }
.tl-service__content .float_left,.tl-service__content .float_right { display:inline-block; width:48%; vertical-align:top; }
.tl-service__nav { padding:24px; border:1px solid var(--tl-line); border-radius:14px; background:#fff; }
.tl-service__nav h2 { font-size:1.2rem; }
.tl-service__nav ul { list-style:none; margin:0; padding:0; }
.tl-service__nav a { display:block; padding:12px 0; border-bottom:1px solid var(--tl-line); }
.tl-service__nav a[aria-current=page] { font-weight:700; color:#167568; }
.tl-service__nav p { margin-top:20px; font-size:.85rem; color:var(--tl-muted); }
.tl-service__related { padding-block:16px 48px; }
@media(max-width:850px) { .tl-service__layout { grid-template-columns:1fr; gap:24px; } .tl-service__content table { display:block; overflow-x:auto; } .tl-service__content .float_left,.tl-service__content .float_right { width:100%; } }
@media(max-width:600px) { .tl-wide-service .tl-service .tl-shell,.tl-wide-service .tl-directory .tl-shell { width:calc(100% - 28px); } }
.tl-focus--designer { padding-top:0; padding-bottom:clamp(36px,5vw,58px); overflow-x:clip; background:var(--focus-paper,var(--tl-paper)); }
body.tl-focus-page #page.grid-container { width:100%; max-width:none; margin:0; }
body.tl-focus-page #content.site-content,body.tl-focus-page #primary,body.tl-focus-page #main { padding:0; margin:0; max-width:none; }
body.tl-focus-page #main.tl-focus--designer { padding-bottom:clamp(36px,5vw,58px); }
.tl-focus__layout--designer { position:relative; isolation:isolate; padding-top:32px; }
@media(min-width:851px) {
 .tl-focus__layout--designer::before,.tl-focus__layout--designer::after { content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:100vw; height:var(--focus-hero-height,652px); pointer-events:none; }
 .tl-focus__layout--designer::before { z-index:-2; background:var(--focus-background) center / cover no-repeat; }
 .tl-focus__layout--designer::after { z-index:-1; background:#241e30; opacity:.67; }
 .tl-focus__layout--designer.is-scroll-reveal::after { opacity:calc(.12 + var(--focus-reveal,1) * .55); }
 .tl-focus__layout--designer:focus-within::after { opacity:.67; }
 .tl-focus__layout--designer .tl-focus__hero--designer { background:transparent; overflow:visible; }
 .tl-focus__layout--designer .tl-focus__hero--designer::before { content:none; }
 .tl-focus__layout--designer .tl-focus__hero--designer .tl-focus__hero-visual { display:none; }
}
.tl-focus__hero--designer { min-height:620px; border:0; border-radius:0; background:#403849; padding:clamp(30px,4vw,58px); color:#fff; }
.tl-focus__hero--designer::before { display:block; background:#241e30; opacity:.67; }
.tl-focus__hero--designer .tl-focus__hero-visual { inset:0; width:100%; min-height:0; margin:0; position:absolute; }
.tl-focus__hero--designer .tl-focus__hero-visual img { inset:0; width:100%; height:100%; opacity:1; filter:none; mask-image:none; -webkit-mask-image:none; }
.tl-focus__hero--designer .tl-focus__hero-copy { width:100%; color:#fff; }
.tl-focus__hero--designer h1 { color:#fff; text-align:center; margin:0 0 28px; font-size:clamp(2.6rem,5vw,4.8rem); font-weight:400; }
.tl-focus__hero--designer .tl-eyebrow,.tl-focus__hero--designer .tl-focus__intro,.tl-focus__hero--designer .tl-focus__intro p { color:#fff; }
.tl-focus__hero--designer .tl-focus__intro { line-height:1.85; }
.tl-focus__hero--designer .tl-focus__intro a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.tl-focus__hero--designer .tl-focus__rule { background:rgba(255,255,255,.55); }
.tl-focus__hero--designer.is-scroll-reveal::before { opacity:calc(.12 + var(--focus-reveal,1) * .55); }
.tl-focus__hero--designer .tl-focus__intro .is-empty-spacer { display:none; }
.tl-focus__hero--designer.is-scroll-reveal .tl-focus__hero-copy { opacity:1; transform:none; }
html.tl-focus-motion .tl-focus__hero--designer h1 { transform:translateY(var(--focus-title-offset,200px)); transition:transform .65s cubic-bezier(.16,1,.3,1); }
html.tl-focus-motion .tl-focus__hero--designer .tl-focus__intro { opacity:0; transform:translateY(56px); pointer-events:none; transition:opacity .55s ease-out,transform .7s cubic-bezier(.16,1,.3,1); }
html.tl-focus-motion .tl-focus__hero--designer .tl-eyebrow,
html.tl-focus-motion .tl-focus__hero--designer .tl-focus__rule { opacity:0; transition:opacity .45s ease-out; }
html.tl-focus-motion .tl-focus__hero--designer.has-revealed-intro h1 { transform:translateY(0); }
html.tl-focus-motion .tl-focus__hero--designer.has-revealed-intro .tl-focus__intro { opacity:1; transform:translateY(0); pointer-events:auto; }
html.tl-focus-motion .tl-focus__hero--designer.has-revealed-intro .tl-eyebrow,
html.tl-focus-motion .tl-focus__hero--designer.has-revealed-intro .tl-focus__rule { opacity:1; }
/* Shared overview and collection layout; special focus image heroes remain separate. */
body.tl-wide-section #page.grid-container { max-width:none; }
.tl-wide-section .tl-directory .tl-shell,
.tl-wide-section .tl-archive .tl-shell,
.tl-wide-section .tl-ethics .tl-shell { width:min(1600px,calc(100% - 64px)); }
.tl-library-heading h1,
.tl-archive .tl-library-heading h1,
.tl-archive .tl-library-top h1 { color:var(--tl-ink); font-size:clamp(1.6rem,2.4vw,2.2rem); font-weight:700; line-height:1.4; letter-spacing:0; }
.tl-library-heading .tl-eyebrow { color:var(--tl-orange-dark); }
.tl-library-heading p:not(.tl-eyebrow) { color:var(--tl-muted); }
.tl-library-heading .entry-content { margin-top:14px; max-width:85ch; }
/* Legacy organisation slogans were white on the old image background. */
.tl-information .tl-service__content div[style*="color:#ffffff"],
.tl-information .tl-service__content div[style*="color: #ffffff"] { color:var(--tl-ink) !important; }
.tl-information .page-self-intro { display:grid; gap:28px; color:var(--tl-ink); }
.tl-information .tl-service__nav a,
.tl-information .tl-service__nav a[aria-current="page"] { color:var(--tl-orange-dark); }
.tl-information .page-self-intro .welcome { padding:clamp(22px,3vw,40px); border:1px solid var(--tl-line); border-radius:18px; background:white; }
.tl-information .page-self-intro .mission { background:var(--tl-paper); border-top:4px solid var(--tl-orange); }
.tl-information .page-self-intro .mission { position:relative; isolation:isolate; overflow:hidden; }
.tl-information .page-self-intro .mission::after { content:""; position:absolute; z-index:-1; right:30px; bottom:24px; width:clamp(180px,24vw,290px); height:260px; background:url('../images/truth-light-logo.jpg') center / contain no-repeat; mix-blend-mode:multiply; opacity:.17; mask-image:linear-gradient(to right,transparent,#000 28%,#000 85%,transparent); pointer-events:none; }
@media(max-width:600px) { .tl-information .page-self-intro .mission::after { display:none; } }
.tl-information .page-self-intro .page-title,
.tl-information .page-self-intro p:empty,
.tl-information .page-self-intro .focus .triple-col-c { display:none; }
.tl-information .page-self-intro .mission>div[style] { font-size:clamp(1.5rem,2.1vw,2rem) !important; font-weight:750; line-height:1.5; margin-bottom:24px; }
.tl-information .page-self-intro h2 { font-size:1.4rem; font-weight:700; color:var(--tl-ink); margin:0 0 18px; line-height:1.4; }
.tl-information .page-self-intro p { max-width:none; margin:0 0 18px; line-height:1.9; }
.tl-information .page-self-intro .small { color:var(--tl-muted); font-size:.9rem; }
.tl-information .page-self-intro p:has(>iframe) { padding:10px; margin:24px 0 0; background:white; border:1px solid var(--tl-line); border-radius:14px; }
.tl-information .page-self-intro iframe { display:block; width:100%; height:auto; aspect-ratio:16/9; border:0; border-radius:8px; }
.tl-embedded-video { position:relative; overflow:hidden; border:1px solid var(--tl-line); border-radius:12px; background:var(--tl-ink); }
.tl-embedded-video>.tl-video-frame { aspect-ratio:16/9; padding:0; }
.tl-embedded-video>.tl-video-frame iframe { width:100%; height:100%; border:0; visibility:hidden; }
.tl-embedded-video>.tl-embedded-video__play { position:absolute; inset:0; display:block; width:100%; height:100%; padding:0; border:0; border-radius:0; background:var(--tl-ink); color:white; cursor:pointer; }
.tl-embedded-video__play img { display:block; width:100%; height:100%; object-fit:cover; opacity:.85; }
.tl-embedded-video__play span { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); white-space:nowrap; padding:14px 24px; border-radius:10px; background:var(--tl-orange); color:var(--tl-ink); font-weight:700; }
.tl-embedded-video__play:hover img { opacity:1; }
.tl-embedded-video__play:focus-visible { outline:4px solid var(--tl-orange); outline-offset:-4px; }
.tl-information .page-self-intro .mission .tl-embedded-video { width:min(100%,360px); margin:24px 0 0; }
.tl-information .page-self-intro .mission p:has(>.tl-embedded-video) { margin:0; padding:0; border:0; background:transparent; }
.tl-information .page-self-intro .team .content-wrapper { display:flex; flex-direction:column-reverse; gap:4px; }
.tl-information .page-self-intro .welcome-button-group { display:flex; flex-wrap:wrap; gap:14px; }
.tl-information .page-self-intro .welcome-button a { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 24px; border:2px solid var(--tl-orange-dark); border-radius:10px; background:var(--tl-orange); color:var(--tl-ink); font-weight:700; text-decoration:none; }
.tl-information .page-self-intro .welcome-button:nth-child(2) a { background:white; color:var(--tl-orange-dark); }
.tl-information .page-self-intro .welcome-button a:hover { background:var(--tl-paper); }
.tl-information .page-self-intro .welcome-button a:focus-visible { outline:3px solid var(--tl-ink); outline-offset:4px; }
.tl-information .page-self-intro .focus { background:transparent; padding:0; border:0; }
.tl-information .page-self-intro .focus .triple-col-a,
.tl-information .page-self-intro .focus .triple-col-b { padding:clamp(22px,3vw,36px); background:var(--tl-paper); border:1px solid var(--tl-line); border-radius:18px; }
.tl-information .page-self-intro .focus .triple-col-b { margin-top:28px; background:white; }
.tl-information .page-self-intro .focus ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:24px 0 0; padding:0; list-style:none; }
.tl-information .page-self-intro .focus li { margin:0; padding:24px; background:white; border:1px solid var(--tl-line); border-top:3px solid var(--tl-orange); border-radius:12px; line-height:1.85; }
.tl-information .page-self-intro .focus li strong { display:block; font-size:1.15rem; margin-bottom:12px; color:var(--tl-ink); }
.tl-information .page-self-intro .focus li.tl-intro-photo { position:relative; isolation:isolate; overflow:hidden; padding-top:142px; background:var(--tl-paper); }
.tl-information .page-self-intro .focus li.tl-intro-photo::before { content:""; position:absolute; z-index:-1; inset:0 0 auto; height:170px; background-image:linear-gradient(to bottom,rgba(245,241,233,.06),rgba(245,241,233,.15) 35%,var(--tl-paper) 94%),var(--tl-intro-photo); background-size:cover; background-position:center 58%; pointer-events:none; }
.tl-intro-photo--media-literacy { --tl-intro-photo:url('../images/focus-areas/designer-background-media-literacy.jpg'); }
.tl-intro-photo--gambling { --tl-intro-photo:url('../images/focus-areas/designer-background-gambling.jpg'); }
.tl-intro-photo--sexual-ethics { --tl-intro-photo:url('../images/focus-areas/designer-background-sexual-ethics.jpg'); }
.tl-intro-photo--relationship-education { --tl-intro-photo:url('../images/focus-areas/designer-background-relationship-education.jpg'); }
.tl-intro-photo--social-concern { --tl-intro-photo:url('../images/focus-areas/designer-background-social-concern.jpg'); }
.tl-information .page-self-intro .focus .triple-col-b ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tl-information .page-self-intro .focus .triple-col-b li { background:var(--tl-paper); padding:20px; }
.tl-information .page-self-intro .switch-topic { margin:24px 0 0; }
.tl-information .page-self-intro .develope { background:var(--tl-paper); counter-reset:tl-intro-route; }
.tl-information .page-self-intro .develope ul { list-style:none; margin:0; padding:0; }
.tl-information .page-self-intro .develope li { position:relative; padding:18px 18px 18px 62px; margin:0 0 12px; background:white; border:1px solid var(--tl-line); border-radius:10px; line-height:1.8; counter-increment:tl-intro-route; }
.tl-information .page-self-intro .develope li::before { content:counter(tl-intro-route,decimal-leading-zero); position:absolute; left:18px; top:19px; color:var(--tl-orange-dark); font-weight:750; }
@media(max-width:1100px) { .tl-information .page-self-intro .focus .triple-col-b ul { grid-template-columns:1fr; } }
@media(max-width:600px) {
 .tl-information .page-self-intro .focus ul { grid-template-columns:1fr; }
 .tl-information .page-self-intro .welcome-button-group { flex-direction:column; }
 .tl-information .page-self-intro .welcome-button a { width:100%; }
}
@media(max-width:600px) {
 .tl-wide-section .tl-directory .tl-shell,
 .tl-wide-section .tl-archive .tl-shell,
 .tl-wide-section .tl-ethics .tl-shell { width:calc(100% - 28px); }
}
html.tl-focus-motion .tl-focus__hero--designer:focus-within h1 { transform:none; }
.tl-focus__layout--designer::after,
.tl-focus__hero--designer::before { background:var(--focus-color,#f5f1e9); opacity:.85; transition:opacity .65s ease; }
.tl-focus__layout--designer.is-scroll-reveal::after,
.tl-focus__hero--designer.is-scroll-reveal::before,
.tl-focus__layout--designer:focus-within::after { opacity:.85; }
html.tl-focus-motion .tl-focus__layout--designer.is-scroll-reveal:not(:has(.has-revealed-intro)):not(:focus-within)::after { opacity:.12; }
.tl-focus__hero--designer h1,
.tl-focus__hero--designer .tl-eyebrow,
.tl-focus__hero--designer .tl-focus__intro,
.tl-focus__hero--designer .tl-focus__intro p,
.tl-focus__hero--designer .tl-focus__intro a { color:#fff; }
.tl-focus__hero--designer .tl-focus__rule { background:rgba(255,255,255,.55); }
html.tl-focus-motion .tl-focus__hero--designer:not(.has-revealed-intro):not(:focus-within) h1 { color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.55); }
html.tl-focus-motion .tl-focus__hero--designer.has-revealed-intro h1 { text-shadow:none; }
.tl-focus__hero--designer:focus-within .tl-focus__hero-copy { opacity:1; transform:none; }
.tl-focus__hero--designer:focus-within .tl-focus__intro { opacity:1; transform:none; pointer-events:auto; }
.tl-focus__hero--designer:focus-within::before { opacity:.85; }
@media(max-width:1000px) { .tl-focus__hero--designer { min-height:420px; } .tl-focus__hero--designer::before { display:block; } }
@media(prefers-reduced-motion:reduce) { .tl-focus__hero--designer .tl-focus__hero-copy { opacity:1; transform:none; } }
@media(min-width:769px) {
 #site-navigation .main-nav>ul,
 .tl-home-design-designer #site-navigation .main-nav>ul { justify-content:center; gap:0 clamp(6px,.7vw,12px); flex-wrap:wrap; }
 #site-navigation .main-nav>ul>li,
 .tl-home-design-designer #site-navigation .main-nav>ul>li { flex:0 0 auto; }
 #site-navigation .main-nav>ul>li>a,
 .tl-home-design-designer #site-navigation .main-nav>ul>li>a { position:relative; flex-direction:column; justify-content:center; gap:3px; height:80px; min-height:80px; padding:7px 16px 8px; font-size:clamp(.76rem,.78vw,.9rem); line-height:1.2; text-align:center; }
 #site-navigation .tl-primary-label,
 .tl-home-design-designer #site-navigation .tl-primary-label { white-space:nowrap; line-height:1.2; }
 #site-navigation .tl-primary-icon,
 .tl-home-design-designer #site-navigation .tl-primary-icon { flex-shrink:0; width:36px; height:36px; }
 #site-navigation .main-nav>ul>li>a>.dropdown-menu-toggle { position:absolute; right:0; bottom:12px; padding:0; margin:0; width:14px; height:16px; line-height:16px; }
 #site-navigation .main-nav>ul>li>a>.dropdown-menu-toggle .gp-icon svg { width:10px; height:10px; }
}
