/* =========================================================================
   The Presidency — theme styles
   Colours, fonts and spacing come from theme.json (Appearance → Editor → Styles);
   this file only adds layout details the block settings cannot express.
   ========================================================================= */

:root {
	--tp-green: var(--wp--preset--color--green, #006D21);
	--tp-green-dark: var(--wp--preset--color--green-dark, #004D17);
	--tp-green-deep: var(--wp--preset--color--green-deep, #00330F);
	--tp-red: var(--wp--preset--color--red, #DF0000);
	--tp-sand: var(--wp--preset--color--sand, #F6F3EC);
	--tp-line: var(--wp--preset--color--line, #E6E1D6);
	--tp-muted: var(--wp--preset--color--muted, #6B6B66);
	--tp-ink: var(--wp--preset--color--ink, #1C1C1A);
	--tp-r-s: 12px;
	--tp-r-m: 18px;
	--tp-r-l: 24px;
	--tp-ease: cubic-bezier(.2, .7, .2, 1);
	--tp-tricolour: linear-gradient(180deg, var(--tp-green) 0 33.34%, #fff 33.34% 66.67%, var(--tp-red) 66.67%);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: #fff; clip: auto !important; clip-path: none; color: var(--tp-ink); display: block; height: auto; left: 5px; padding: 15px 23px 14px; top: 5px; width: auto; z-index: 100000; }
.tp-main { margin-block-start: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0; }
:where(.wp-site-blocks) :focus-visible { outline: 3px solid var(--tp-red); outline-offset: 2px; }
img { height: auto; }

/* ---------- Trust bar ---------- */
.tp-trust { font-size: .78rem; padding-block: .45rem; }
.tp-trust p { margin: 0; color: rgba(255,255,255,.88); }
.tp-trust__text { display: flex; align-items: center; gap: .6rem; }
.tp-flag { display: inline-block; width: 20px; height: 13px; border-radius: 2px; background: var(--tp-tricolour); box-shadow: 0 0 0 1px rgba(255,255,255,.35); flex: none; }
.tp-lang { display: flex; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.tp-lang li a { display: inline-block; padding: .2rem .55rem; border-radius: 6px; color: rgba(255,255,255,.85); text-decoration: none; font-weight: 600; font-size: .75rem; }
.tp-lang li a:hover, .tp-lang li.current-lang a { background: var(--wp--preset--color--white); color: var(--tp-green-dark); }

/* ---------- Header ---------- */
.tp-site-header { position: sticky; top: 0; z-index: 50; background: var(--wp--preset--color--white); transition: box-shadow .3s; }
.admin-bar .tp-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
.tp-site-header.is-scrolled { box-shadow: 0 8px 30px rgba(0,0,0,.08); }
.tp-header { background: var(--wp--preset--color--white); }
.tp-header__row { padding-block: .9rem; gap: 1.5rem; }
.tp-brand { flex: none; }
.tp-brand .wp-block-site-logo img { width: 52px; height: auto; }
.tp-brand__text .wp-block-site-title { margin: 0; }
.tp-brand__text .wp-block-site-tagline { margin: 0; }
.tp-nav { flex: 1; }
.tp-nav .wp-block-navigation-item__content { color: var(--tp-ink); position: relative; padding-block: .4rem; }
.tp-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--tp-red); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--tp-ease); }
.tp-nav .wp-block-navigation-item__content:hover::after,
.tp-nav .current-menu-item > .wp-block-navigation-item__content::after,
.tp-nav [aria-current="page"]::after { transform: scaleX(1); }
.tp-nav .wp-block-navigation__submenu-container { border: 1px solid var(--tp-line) !important; border-radius: var(--tp-r-s); padding: .5rem !important; box-shadow: 0 18px 40px rgba(0,0,0,.1); }
.tp-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--tp-green-deep) !important; color: #fff !important; padding: 2rem; }
.tp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #fff; font-family: var(--wp--preset--font-family--serif); font-size: 1.6rem; }
.tp-header-search .wp-block-search__button { width: 44px; height: 44px; padding: 0; border-radius: 50%; background: var(--wp--preset--color--white); color: var(--tp-ink); border: 1px solid var(--tp-line); display: inline-flex; align-items: center; justify-content: center; }
.tp-header-search .wp-block-search__button:hover { border-color: var(--tp-green); color: var(--tp-green); }
.tp-header-search .wp-block-search__input { border-radius: 999px; border: 1px solid var(--tp-line); padding-inline: 1rem; }
.tp-header-search.wp-block-search__searchfield-hidden .wp-block-search__input { border: 0; }
.tp-header__cta .wp-block-button__link { padding: .7rem 1.15rem; white-space: nowrap; }
.tp-tricolour-rule { height: 5px; background: var(--tp-tricolour); margin: 0 !important; }
@media (max-width: 1180px) { .tp-header__cta { display: none; } }
@media (max-width: 600px) { .tp-brand__text .wp-block-site-tagline { display: none; } .tp-trust__text { font-size: .7rem; } }

/* ---------- Sections & type helpers ---------- */
.tp-section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.tp-section + .tp-section { margin-block-start: 0; }
.tp-section__head { margin-bottom: clamp(1.75rem, 3vw, 2.75rem); gap: 1rem; }
.tp-section__head h2, .tp-section__head h1 { margin: 0; }
.is-style-tp-eyebrow, h6.wp-block-heading { font-family: var(--wp--preset--font-family--sans); font-size: .72rem !important; letter-spacing: .18em; text-transform: uppercase; color: var(--tp-green); font-weight: 600; margin: 0; }
.has-white-color .is-style-tp-eyebrow, .has-green-dark-background-color .is-style-tp-eyebrow, .has-green-deep-background-color .is-style-tp-eyebrow, .tp-pillars h6 { color: #fff; opacity: .85; }
.is-style-tp-lead { font-size: clamp(1.06rem, 1.3vw, 1.2rem); line-height: 1.6; color: var(--wp--preset--color--body); max-width: 44rem; }
.has-white-color .is-style-tp-lead, .tp-cab-band .is-style-tp-lead { color: rgba(255,255,255,.85); }
.tp-more { margin: 0; font-weight: 600; font-size: .95rem; white-space: nowrap; }
.tp-more a { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; }
.tp-more a::after { content: "→"; transition: transform .3s var(--tp-ease); }
.tp-more a:hover::after { transform: translateX(4px); }
.tp-more--light a { color: #fff; }
.tp-note { color: var(--tp-muted); font-size: .9rem; margin-top: 1rem; }
.tp-rounded img, img.tp-rounded, .tp-rounded { border-radius: var(--tp-r-l); overflow: hidden; }
.tp-sticky { position: sticky; top: 120px; }

/* Breadcrumbs */
.tp-breadcrumbs { font-size: .8rem; color: var(--tp-muted); display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; }
.tp-breadcrumbs a { color: var(--tp-muted); text-decoration: none; }
.tp-breadcrumbs a:hover { color: var(--tp-green); }
.has-white-color .tp-breadcrumbs, .has-white-color .tp-breadcrumbs a { color: rgba(255,255,255,.75); }

/* Page hero */
.tp-page-hero { padding-block: clamp(3rem, 6vw, 5rem) clamp(2rem, 4vw, 3rem); }
.tp-page-hero h1 { margin-block: .6rem 1rem; }
.tp-page-hero .tp-tiles { margin-top: 2.5rem; }

/* Buttons */
.wp-block-button__link { transition: transform .3s var(--tp-ease), box-shadow .3s, background .3s, color .3s; }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.15); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid var(--tp-green-dark); color: var(--tp-green-dark); background: transparent; padding: calc(.8rem - 1px) calc(1.4rem - 1px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--tp-green-dark); color: #fff; }
.wp-block-button.is-style-tp-light .wp-block-button__link { background: transparent; border: 1px solid rgba(255,255,255,.6); color: #fff; }
.wp-block-button.is-style-tp-light .wp-block-button__link:hover { background: var(--wp--preset--color--white); color: var(--tp-green-dark); }
.wp-block-button.is-style-tp-red .wp-block-button__link, .tp-btn-red { background: var(--tp-red); color: #fff; }
.wp-block-button.is-style-tp-red .wp-block-button__link:hover { background: #b80000; }

/* Cards */
.is-style-tp-card { background: var(--wp--preset--color--white); border: 1px solid var(--tp-line); border-radius: var(--tp-r-m); padding: clamp(1.25rem, 2.5vw, 2rem); }
.has-white-background-color .is-style-tp-card { background: var(--tp-sand); }
.is-style-tp-tricolour { position: relative; padding-left: 1.5rem; }
.is-style-tp-tricolour::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; border-radius: 3px; background: var(--tp-tricolour); }
.tp-hover { transition: transform .45s var(--tp-ease), box-shadow .45s var(--tp-ease); }
.tp-zoom { overflow: hidden; border-radius: var(--tp-r-m); }
.tp-zoom img { transition: transform 1.1s var(--tp-ease); }
.tp-hover:hover .tp-zoom img { transform: scale(1.05); }

/* ---------- Hero slider ---------- */
.is-style-tp-hero-slider { position: relative; overflow: hidden; background: var(--tp-green-deep); margin-top: 0 !important; }
.is-style-tp-hero-slider .tp-slides { list-style: none; margin: 0; padding: 0; display: grid; }
.is-style-tp-hero-slider .tp-slides > li { grid-area: 1 / 1; margin: 0 !important; opacity: 0; visibility: hidden; transition: opacity 1s var(--tp-ease), visibility 1s; }
.is-style-tp-hero-slider .tp-slides > li.is-active { opacity: 1; visibility: visible; z-index: 1; }
.is-style-tp-hero-slider:not(.is-ready) .tp-slides > li:first-child { opacity: 1; visibility: visible; }
.tp-slide { min-height: min(82vh, 760px) !important; padding: 0 0 clamp(6.5rem, 10vw, 8.5rem) !important; }
.tp-slide > .wp-block-cover__inner-container { width: 100%; max-width: 1320px; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2rem); box-sizing: border-box; }
.tp-slide__body { margin-left: 0 !important; max-width: 860px !important; }
.tp-slide__body > * { max-width: none !important; margin-left: 0 !important; }
.tp-slide .wp-block-cover__image-background { transform: scale(1.06); transition: transform 8s linear; }
li.is-active .tp-slide .wp-block-cover__image-background { transform: scale(1); }
.tp-slide__body > * { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--tp-ease), transform .8s var(--tp-ease); }
li.is-active .tp-slide__body > *, .is-style-tp-hero-slider:not(.is-ready) .tp-slide__body > * { opacity: 1; transform: none; }
li.is-active .tp-slide__body > *:nth-child(2) { transition-delay: .12s; }
li.is-active .tp-slide__body > *:nth-child(3) { transition-delay: .24s; }
li.is-active .tp-slide__body > *:nth-child(4) { transition-delay: .36s; }
.tp-slide__title { font-size: clamp(2.1rem, 4.4vw, 3.9rem) !important; margin: .9rem 0 .75rem; line-height: 1.04 !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-wrap: balance; }
.tp-slide__title a { color: #fff !important; text-decoration: none !important; }
.tp-slide__excerpt { max-width: 46rem; color: rgba(255,255,255,.88) !important; }
.tp-slide__excerpt p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }
.tp-slide__meta .wp-block-post-date { color: rgba(255,255,255,.85); font-size: .85rem; }
.tp-badge a, .tp-badge { background: var(--tp-red); color: #fff !important; border-radius: 4px; padding: .3rem .6rem; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; text-decoration: none; }
.tp-badge .wp-block-post-terms__separator { display: none; }
.is-style-tp-hero-slider .wp-block-read-more { display: inline-flex; align-items: center; gap: .6rem; margin-top: 1.25rem; padding: .85rem 1.4rem; border-radius: 999px; background: var(--tp-red); color: #fff; font-weight: 600; font-size: .9rem; text-decoration: none; }
.is-style-tp-hero-slider .wp-block-read-more::after { content: "→"; }
.is-style-tp-hero-slider .wp-block-read-more:hover { background: #b80000; }
.tp-slider-ui { position: absolute; left: 0; right: 0; bottom: 0; z-index: 5; border-top: 1px solid rgba(255,255,255,.18); background: linear-gradient(0deg, rgba(0,20,6,.55), transparent); }
.tp-slider-ui__inner { max-width: 1320px; margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2rem); display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: stretch; }
.tp-slider-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 1.5rem; }
.tp-slider-tab { all: unset; cursor: pointer; padding: 1rem 0 1.15rem; color: rgba(255,255,255,.65); font-size: .82rem; line-height: 1.4; position: relative; display: block; }
.tp-slider-tab b { display: block; color: #fff; font-family: var(--wp--preset--font-family--serif); font-weight: 500; font-size: .95rem; margin-bottom: .2rem; }
.tp-slider-tab span { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.tp-slider-tab::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 3px; background: rgba(255,255,255,.2); }
.tp-slider-tab i { position: absolute; left: 0; top: -1px; height: 3px; width: 0; background: var(--tp-red); }
.tp-slider-tab.is-active { color: #fff; }
.tp-slider-tab.is-active i { animation: tp-progress var(--tp-dur, 7s) linear forwards; }
.is-style-tp-hero-slider.is-paused .tp-slider-tab.is-active i { animation-play-state: paused; }
.tp-slider-tab:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@keyframes tp-progress { from { width: 0; } to { width: 100%; } }
.tp-slider-btns { display: flex; gap: .5rem; align-items: center; }
.tp-slider-btns button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.45); background: transparent; color: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background .3s, color .3s; }
.tp-slider-btns button:hover { background: var(--wp--preset--color--white); color: var(--tp-green-dark); }
@media (max-width: 782px) { .tp-slider-tabs { display: none; } .tp-slider-ui__inner { grid-template-columns: 1fr; justify-items: end; padding-block: .75rem; } .tp-slide__title { -webkit-line-clamp: 4; } }

/* ---------- Agenda ---------- */
.tp-agenda { padding-block: 1.1rem; border-bottom: 1px solid var(--tp-line); }
.tp-agenda p { margin: 0; }
.tp-live { display: inline-flex; align-items: center; gap: .6rem; text-transform: uppercase; letter-spacing: .16em; font-size: .72rem; color: var(--tp-green-dark); }
.tp-live__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--tp-red); box-shadow: 0 0 0 0 rgba(223,0,0,.5); animation: tp-pulse 1.8s infinite; }
@keyframes tp-pulse { 70% { box-shadow: 0 0 0 10px rgba(223,0,0,0); } 100% { box-shadow: 0 0 0 0 rgba(223,0,0,0); } }
.tp-agenda__item { display: flex; align-items: center; gap: .75rem; font-size: .92rem; }
.tp-date { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 10px; background: var(--tp-sand); border: 1px solid var(--tp-line); font-size: .62rem; text-transform: uppercase; letter-spacing: .1em; color: var(--tp-muted); line-height: 1.1; }
.tp-date b { font-family: var(--wp--preset--font-family--serif); font-size: 1.15rem; color: var(--tp-green-dark); letter-spacing: 0; }

/* ---------- News ---------- */
.tp-post-meta .wp-block-post-terms, .tp-post-meta .wp-block-post-date { margin: 0; }
.tp-lead-story .wp-block-post-title { margin: .5rem 0; }
.tp-news-list .wp-block-post-template { display: flex; flex-direction: column; }
.tp-news-row { padding-block: 1.25rem; border-top: 1px solid var(--tp-line); margin: 0 !important; gap: 1.25rem !important; }
.tp-news-row:first-child { padding-top: 0; border-top: 0; }
.tp-news-row .wp-block-post-title { margin: .35rem 0 0; }
.tp-card-grid { gap: clamp(1.25rem, 2.5vw, 2rem) !important; }
.tp-news-card .wp-block-post-title { margin: 0; }
.tp-news-card .wp-block-post-excerpt { margin: 0; font-size: .95rem; }
.tp-cat-pills { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 1.5rem 0 0; }
.tp-cat-pills li a { display: inline-block; background: var(--wp--preset--color--white); border: 1px solid var(--tp-line); border-radius: 999px; padding: .5rem 1rem; font-size: .85rem; color: var(--wp--preset--color--body); text-decoration: none; }
.tp-cat-pills li a:hover, .tp-cat-pills li.current-cat a { background: var(--tp-green-dark); color: #fff; border-color: var(--tp-green-dark); }
.tp-pagination { margin-top: 3rem; gap: .5rem; }
.tp-pagination .page-numbers { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid var(--tp-line); text-decoration: none; }
.tp-pagination .page-numbers.current { background: var(--tp-green-dark); color: #fff; border-color: var(--tp-green-dark); }
@media (max-width: 781px) { .tp-card-grid, .tp-speech-grid { grid-template-columns: 1fr !important; } }
@media (min-width: 782px) and (max-width: 1080px) { .tp-card-grid, .tp-speech-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* ---------- Photo tiles ---------- */
.tp-tile { border-radius: var(--tp-r-m); overflow: hidden; padding: 1.5rem !important; }
.tp-tile .wp-block-cover__image-background { transition: transform 1.2s var(--tp-ease); }
.tp-tile:hover .wp-block-cover__image-background { transform: scale(1.06); }
.tp-tile__title { margin: 0 0 .35rem; font-size: 1.5rem !important; }
.tp-tile__title a { color: #fff !important; text-decoration: none !important; }
.tp-tile__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.tp-tile__sub { margin: 0; color: rgba(255,255,255,.82); font-size: .9rem; }
.tp-tile:hover { transform: translateY(-4px); box-shadow: 0 24px 50px rgba(0,0,0,.18); }

/* ---------- Pillars ---------- */
.tp-pillar { position: relative; border: 1px solid rgba(255,255,255,.16); border-radius: var(--tp-r-m); padding: 1.5rem; min-height: 230px; justify-content: flex-start; }
.tp-pillar:hover { background: rgba(255,255,255,.06); transform: translateY(-4px); }
.tp-pillar__num, .tp-mvc__num { font-family: var(--wp--preset--font-family--serif); font-size: 2.6rem; line-height: 1; margin: 0; color: #fff; }
.tp-pillar__num::after, .tp-mvc__num::after { content: ""; display: block; width: 28px; height: 3px; background: var(--tp-red); margin-top: .8rem; }
.tp-pillar__title { margin: .6rem 0 0; }
.tp-pillar__title a { color: #fff !important; text-decoration: none !important; }
.tp-pillar__title a::after { content: ""; position: absolute; inset: 0; }
.tp-pillar__text { margin: 0; color: rgba(255,255,255,.78); font-size: .92rem; }
.tp-focus { background: var(--tp-sand); border: 1px solid var(--tp-line); border-radius: var(--tp-r-m); padding: 1.5rem; }
.tp-focus .tp-pillar__num { color: var(--tp-green-dark); font-size: 2rem; }
.tp-focus h3 { margin: .5rem 0 0; }
.tp-focus p { margin: 0; font-size: .95rem; color: var(--wp--preset--color--body); }

/* ---------- Speeches ---------- */
.tp-yt-thumb, .wp-block-post-featured-image { position: relative; }
.tp-yt-thumb { background: linear-gradient(135deg, var(--tp-green-dark), var(--tp-green-deep)); overflow: hidden; }
.tp-speech-card > .wp-block-post-featured-image, .tp-news-card > .wp-block-post-featured-image, .tp-minister > .wp-block-post-featured-image { width: 100%; align-self: stretch; }
.tp-play { position: absolute; left: 50%; top: 50%; width: 62px; height: 62px; margin: -31px 0 0 -31px; border-radius: 50%; background: var(--tp-red); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 12px 30px rgba(0,0,0,.35); transition: transform .35s var(--tp-ease); pointer-events: none; z-index: 2; }
.tp-hover:hover .tp-play { transform: scale(1.1); }
.tp-duration { position: absolute; right: .75rem; bottom: .75rem; background: rgba(0,0,0,.78); color: #fff; font-size: .75rem; font-weight: 600; padding: .2rem .5rem; border-radius: 6px; z-index: 2; pointer-events: none; }
.tp-speech-card .wp-block-post-title, .tp-speech-card .wp-block-post-terms, .tp-speech-card .wp-block-post-date { margin: 0; }
.tp-speech-body .wp-block-embed { margin-top: 0; }
.tp-speech-body .wp-block-embed iframe { border-radius: var(--tp-r-m); }
.tp-facts { margin: 0; display: grid; gap: .9rem; }
.tp-facts div { display: grid; gap: .15rem; }
.tp-facts dt { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tp-muted); }
.tp-facts dd { margin: 0; font-size: .98rem; }
.tp-yt-link { font-weight: 600; }
.tp-badge-inline a { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; }

/* ---------- Services ---------- */
.tp-svc { background: var(--tp-sand); border: 1px solid var(--tp-line); border-radius: var(--tp-r-m); padding: 1.5rem; position: relative; }
.tp-svc:hover { transform: translateY(-4px); border-color: var(--tp-green); box-shadow: 0 18px 40px rgba(0,0,0,.08); }
.tp-svc__num { margin: 0; color: var(--tp-red); font-weight: 700; font-size: .8rem; letter-spacing: .12em; }
.tp-svc h3 { margin: .25rem 0 0; }
.tp-svc h3 a { color: var(--tp-ink); text-decoration: none; }
.tp-svc h3 a::after { content: ""; position: absolute; inset: 0; }
.tp-svc__sub { margin: 0; color: var(--tp-muted); font-size: .92rem; }
.tp-cta { padding-block: .5rem; }
.tp-cta h2 { margin: 0; }

/* ---------- Profiles ---------- */
.tp-profile { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.tp-profile-hero { align-items: center !important; }
.tp-profile-hero h1 { margin: .4rem 0 1rem; }
.is-style-tp-portrait img, .tp-minister-portrait img { border-radius: var(--tp-r-l); box-shadow: 0 30px 60px rgba(0,0,0,.18); }
.is-style-tp-portrait { position: relative; }
.is-style-tp-portrait::after { content: ""; position: absolute; left: -14px; top: 24px; bottom: 24px; width: 6px; border-radius: 3px; background: var(--tp-tricolour); }
.tp-facts-row { margin-block: 1.75rem; padding-block: 1.25rem; border-block: 1px solid var(--tp-line); }
.tp-fact { gap: .2rem !important; }
.tp-fact p { margin: 0; }
.tp-fact__label { font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--tp-muted); }
.tp-fact__value { font-family: var(--wp--preset--font-family--serif); font-size: 1.25rem; color: var(--tp-ink); }
.tp-fact__sub { font-size: .85rem; color: var(--tp-muted); }
.tp-glance h6 { margin-bottom: .25rem; }
.tp-quote-band { max-width: 980px; }
.tp-quote-big { font-size: clamp(1.75rem, 3.4vw, 2.75rem) !important; line-height: 1.2 !important; margin: 0; }
.tp-quote-band::before { content: "“"; font-family: var(--wp--preset--font-family--serif); font-size: 6rem; line-height: .6; color: var(--tp-red); }
.tp-quote-cite { color: var(--tp-muted); margin: 0; font-size: .95rem; }
.tp-link-card { background: var(--wp--preset--color--white); border: 1px solid var(--tp-line); border-radius: var(--tp-r-m); padding: 1.1rem; position: relative; }
.tp-link-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,.08); border-color: var(--tp-green); }
.tp-link-card__img { margin: 0; flex: none; }
.tp-link-card__img img { border-radius: var(--tp-r-s); }
.tp-link-card h3 { margin: 0; line-height: 1.25; }
.tp-link-card h3 a { color: var(--tp-ink); text-decoration: none; }
.tp-link-card h3 a::after { content: ""; position: absolute; inset: 0; }
.tp-link-card .tp-more { font-size: .85rem; }
.tp-lead3 { margin-bottom: 1rem; }

/* Lists */
.is-style-tp-timeline { list-style: none; padding: 0 0 0 1.75rem; margin: 0; border-left: 2px solid var(--tp-line); }
.is-style-tp-timeline > li { position: relative; padding-bottom: 1.75rem; display: flex; flex-direction: column; gap: .25rem; }
.is-style-tp-timeline > li::before { content: ""; position: absolute; left: calc(-1.75rem - 7px); top: .35rem; width: 12px; height: 12px; border-radius: 50%; background: var(--wp--preset--color--white); border: 3px solid var(--tp-green); }
.is-style-tp-timeline > li:first-child::before { background: var(--tp-red); border-color: var(--tp-red); }
.is-style-tp-timeline strong { font-family: var(--wp--preset--font-family--serif); font-weight: 500; font-size: 1.2rem; line-height: 1.3; }
.tp-tl__when { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--tp-green); font-weight: 600; }
.tp-tl__sub { color: var(--wp--preset--color--body); font-size: .95rem; }
.is-style-tp-check { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; }
.is-style-tp-check li { position: relative; padding-left: 2rem; }
.is-style-tp-check li::before { content: "✓"; position: absolute; left: 0; top: .05rem; width: 1.35rem; height: 1.35rem; border-radius: 50%; background: var(--tp-green); color: #fff; font-size: .75rem; display: inline-flex; align-items: center; justify-content: center; }
.tp-presidents { list-style: none; padding: 0; margin: 1.5rem 0 0; counter-reset: p; }
.tp-presidents li { counter-increment: p; display: grid; grid-template-columns: 2.5rem 1fr auto; gap: 1rem; align-items: baseline; padding-block: .9rem; border-top: 1px solid var(--tp-line); }
.tp-presidents li::before { content: counter(p, decimal-leading-zero); font-family: var(--wp--preset--font-family--serif); color: var(--tp-red); }
.tp-presidents li strong { font-weight: 500; }
.tp-presidents li span { color: var(--tp-muted); font-size: .9rem; }
.tp-steps { padding-left: 1.25rem; margin: 0; display: grid; gap: .75rem; }

/* Accordion */
.is-style-tp-accordion { border-top: 1px solid var(--tp-line); padding-block: 1.1rem; margin: 0 !important; }
.is-style-tp-accordion:last-of-type { border-bottom: 1px solid var(--tp-line); }
.is-style-tp-accordion summary { cursor: pointer; font-family: var(--wp--preset--font-family--serif); font-size: 1.3rem; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.is-style-tp-accordion summary::-webkit-details-marker { display: none; }
.is-style-tp-accordion summary::after { content: "+"; color: var(--tp-green); font-family: var(--wp--preset--font-family--sans); transition: transform .3s; }
.is-style-tp-accordion[open] summary::after { transform: rotate(45deg); }
.is-style-tp-accordion p { color: var(--wp--preset--color--body); margin: .75rem 0 0; }

/* Facts & statehood */
.tp-facts-grid { border-top: 1px solid var(--tp-line); border-left: 1px solid var(--tp-line); border-radius: var(--tp-r-m); overflow: hidden; }
.tp-facts-grid .tp-fact { padding: 1.4rem; border-right: 1px solid var(--tp-line); border-bottom: 1px solid var(--tp-line); }
.tp-mvc-grid { margin-top: 1.25rem !important; border-radius: var(--tp-r-m); overflow: hidden; }
.tp-mvc { padding: 1.6rem; border-right: 1px solid rgba(255,255,255,.12); }
.tp-mvc h3 { margin: .6rem 0 0; }
.tp-mvc p { margin: 0; color: rgba(255,255,255,.8); font-size: .92rem; }
.tp-symbol__img img { height: 110px; width: auto; object-fit: contain; }
.tp-symbol__note { font-size: 4rem; line-height: 110px; height: 110px; margin: 0; color: var(--tp-green); }
.tp-symbol h3, .tp-symbol p { margin: 0; }

/* ---------- Cabinet ---------- */
.tp-cab-hero { min-height: clamp(300px, 46vw, 560px) !important; }
.tp-cab-band { align-items: flex-end !important; }
.tp-cab-band h1 { margin: .5rem 0 0; }
.tp-filter { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; justify-content: space-between; margin-bottom: 2rem; }
.tp-filter__search { flex: 1; min-width: 260px; max-width: 460px; position: relative; }
.tp-filter__search input { width: 100%; box-sizing: border-box; padding: .85rem 1rem .85rem 2.75rem; border: 1px solid var(--tp-line); border-radius: 999px; background: var(--wp--preset--color--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236B6B66' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 1rem center; font: inherit; }
.tp-filter__search input:focus { outline: 3px solid var(--tp-red); outline-offset: 1px; }
.tp-filter__pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.tp-filter__pills button { background: var(--wp--preset--color--white); border: 1px solid var(--tp-line); border-radius: 999px; padding: .6rem 1rem; font: 500 .85rem var(--wp--preset--font-family--sans); color: var(--wp--preset--color--body); cursor: pointer; transition: all .25s; }
.tp-filter__pills button:hover { border-color: var(--tp-green); color: var(--tp-green); }
.tp-filter__pills button.is-on { background: var(--tp-green-dark); border-color: var(--tp-green-dark); color: #fff; }
.tp-filter__count { width: 100%; margin: 0; font-size: .82rem; color: var(--tp-muted); }
.tp-minister-grid { gap: 1.25rem !important; }
.tp-minister { background: var(--wp--preset--color--white); border: 1px solid var(--tp-line); border-radius: var(--tp-r-m); overflow: hidden; padding-bottom: 1.1rem; height: 100%; }
.tp-minister:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(0,0,0,.1); }
.tp-minister .tp-zoom { border-radius: 0; }
.tp-minister .tp-zoom img { object-position: center 15%; }
.tp-minister > *:not(.wp-block-post-featured-image) { padding-inline: 1.1rem; margin: 0 !important; }
.tp-minister .wp-block-post-terms { margin-top: .9rem !important; }
.tp-minister__name { line-height: 1.3; }
.tp-minister__name a { color: var(--tp-ink); }
.tp-minister__role { color: var(--wp--preset--color--body); }
.tp-minister__role p { margin: 0; }
[data-tp-hidden] { display: none !important; }
@media (max-width: 1080px) { .tp-minister-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 781px) { .tp-minister-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* ---------- Priorities ---------- */
.tp-jumps { margin-top: 1.75rem; }
.tp-jump { margin: 0; }
.tp-jump a { display: inline-flex; align-items: center; gap: .5rem; background: var(--wp--preset--color--white); border: 1px solid var(--tp-line); border-radius: 999px; padding: .55rem 1rem .55rem .55rem; color: var(--tp-ink); font-size: .9rem; text-decoration: none; transition: all .25s; }
.tp-jump a span { display: inline-flex; width: 28px; height: 28px; border-radius: 50%; background: var(--tp-green-dark); color: #fff; align-items: center; justify-content: center; font-size: .72rem; font-weight: 700; }
.tp-jump a:hover { border-color: var(--tp-green); color: var(--tp-green); }
.tp-priority h2 { margin: .4rem 0 .6rem; }
.tp-priority h6 { margin-top: 2rem !important; margin-bottom: .9rem !important; }
.tp-status { align-self: flex-start; font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; padding: .2rem .55rem; border-radius: 4px; }
.tp-status--done { background: #E3F1E7; color: var(--tp-green-dark); }
.tp-status--progress { background: #FFF1D6; color: #8A5A00; }
.tp-status--planned { background: var(--tp-sand); color: var(--tp-muted); border: 1px solid var(--tp-line); }
.tp-milestones strong { font-family: var(--wp--preset--font-family--sans) !important; font-weight: 500 !important; font-size: 1rem !important; }
.tp-related { list-style: none; padding: 0; margin: 0; }
.tp-related li { display: flex; flex-direction: column; gap: .2rem; padding-block: .75rem; border-top: 1px solid var(--tp-line); }
.tp-related a { font-weight: 600; }
:target { scroll-margin-top: 140px; }

/* ---------- Forms ---------- */
.tp-form { display: grid; gap: 1.25rem; }
.tp-form label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: .35rem; }
.tp-form input[type=text], .tp-form input[type=email], .tp-form input[type=tel], .tp-form select, .tp-form textarea, .tp-track input { width: 100%; box-sizing: border-box; border: 1px solid var(--tp-line); border-radius: var(--tp-r-s); padding: .8rem .95rem; font: inherit; background: var(--wp--preset--color--white); color: var(--tp-ink); }
.tp-form :is(input, select, textarea):focus, .tp-track input:focus { outline: 3px solid var(--tp-red); outline-offset: 1px; border-color: transparent; }
.tp-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
.tp-form__grid p { margin: 0 0 1rem; }
.tp-span-2 { grid-column: 1 / -1; }
.tp-form__services { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .6rem; }
.tp-form__services legend { font-family: var(--wp--preset--font-family--serif); font-size: 1.4rem; margin-bottom: .75rem; }
.tp-service { margin: 0 !important; cursor: pointer; }
.tp-service input { position: absolute; opacity: 0; }
.tp-service span { display: block; border: 1px solid var(--tp-line); border-radius: var(--tp-r-s); padding: .9rem 1rem; font-weight: 600; font-size: .9rem; transition: all .2s; background: var(--wp--preset--color--white); }
.tp-service input:checked + span { border-color: var(--tp-green-dark); background: var(--tp-green-dark); color: #fff; }
.tp-service input:focus-visible + span { outline: 3px solid var(--tp-red); outline-offset: 2px; }
.tp-consent label { font-weight: 400; display: flex; gap: .6rem; align-items: flex-start; }
.tp-hp { position: absolute !important; left: -9999px !important; }
.tp-form-error { background: #FDECEC; color: #8B0000; border-radius: var(--tp-r-s); padding: .85rem 1rem; }
.tp-form-done { text-align: center; padding: 2rem 1rem; }
.tp-form-done__icon { display: inline-flex; width: 64px; height: 64px; border-radius: 50%; background: var(--tp-green); color: #fff; font-size: 1.8rem; align-items: center; justify-content: center; }
.tp-track label { font-family: var(--wp--preset--font-family--serif); font-size: 1.3rem; display: block; margin-bottom: .75rem; }
.tp-track div { display: flex; gap: .5rem; }
.tp-track .wp-element-button { border: 0; cursor: pointer; }
.tp-track__result { margin: .9rem 0 0; }
.tp-form .wp-element-button { border: 0; cursor: pointer; font: inherit; font-weight: 600; }
@media (max-width: 640px) { .tp-form__grid { grid-template-columns: 1fr; } }

/* ---------- Contact ---------- */
.tp-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.tp-chips li { background: var(--tp-sand); border: 1px solid var(--tp-line); border-radius: 999px; padding: .5rem .95rem; font-size: .9rem; }
.tp-downloads { list-style: none; padding: 0; margin: 0; }
.tp-downloads li { display: flex; justify-content: space-between; gap: 1rem; padding-block: .9rem; border-top: 1px solid var(--tp-line); }
.tp-downloads li span { color: var(--tp-muted); font-size: .8rem; }
.tp-offices h3 { margin: 0; }
.tp-offices p { margin: 0; }

/* ---------- Articles ---------- */
.tp-article-head { padding-block: clamp(2.5rem, 5vw, 4rem) 2rem; }
.tp-article-title { margin: .75rem 0 1rem; text-wrap: balance; }
.tp-article-figure { padding: 0 !important; }
.tp-article-image img { border-radius: var(--tp-r-l); }
.tp-article-figure + .tp-article { margin-top: -6rem; padding-top: 8rem; }
.tp-article-body { font-size: 1.125rem; line-height: 1.78; color: var(--wp--preset--color--body); }
.tp-article-body > p:first-of-type::first-letter { float: left; font-family: var(--wp--preset--font-family--serif); font-size: 4.2rem; line-height: .85; margin: .35rem .6rem 0 0; color: var(--tp-green-dark); }
.tp-article-body h2 { font-size: 1.75rem; margin-top: 2.5rem; }
.tp-article-foot { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--tp-line); }
.tp-share { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.tp-share span { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--tp-muted); margin-right: .25rem; }
.tp-share a, .tp-share button { border: 1px solid var(--tp-line); background: var(--wp--preset--color--white); border-radius: 999px; padding: .45rem .9rem; font: 500 .82rem var(--wp--preset--font-family--sans); color: var(--tp-ink); text-decoration: none; cursor: pointer; }
.tp-share a:hover, .tp-share button:hover { border-color: var(--tp-green); color: var(--tp-green); }
.tp-signature { font-style: italic; color: var(--tp-muted); }
.tp-big-search .wp-block-search__input { border-radius: 999px; padding: .9rem 1.25rem; border: 1px solid var(--tp-line); }
.tp-big-search .wp-block-search__button { border-radius: 999px; background: var(--tp-green); color: #fff; border: 0; padding-inline: 1.25rem; }
.tp-404 { font-family: var(--wp--preset--font-family--serif); font-size: clamp(5rem, 14vw, 9rem); line-height: 1; margin: 0; color: var(--tp-green-dark); }

/* ---------- Footer ---------- */
.tp-footer { padding-block: clamp(3rem, 6vw, 4.5rem) 1.5rem; }
.tp-footer a { color: rgba(255,255,255,.82); text-decoration: none; }
.tp-footer a:hover { color: #fff; text-decoration: underline; }
.tp-footer__cols { gap: 2.5rem !important; }
.tp-footer__emblem { margin: 0; }
.tp-footer__name { margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: 1.1rem; line-height: 1.35; }
.tp-footer__name strong { font-weight: 600; font-size: 1.25rem; }
.tp-footer__about { color: rgba(255,255,255,.72); font-size: .92rem; max-width: 26rem; }
.tp-footer__h { color: #fff !important; opacity: .7; margin-bottom: 1rem !important; }
.tp-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; font-size: .95rem; }
.tp-footer__contact { color: rgba(255,255,255,.75); font-size: .92rem; line-height: 1.7; }
.tp-footer__bottom { margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.14); font-size: .82rem; color: rgba(255,255,255,.65); }
.tp-footer__bottom p { margin: 0; }
.tp-footer__social { gap: .75rem !important; }

/* ---------- Motion ---------- */
.tp-reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--tp-ease), transform .9s var(--tp-ease); }
.tp-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.tp-reveal { opacity: 1; transform: none; }
}

/* ---------- Responsive columns ---------- */
@media (max-width: 781px) {
	.tp-profile-hero, .tp-priority, .tp-speech-layout, .tp-services, .tp-cab-band { flex-direction: column; }
	.tp-sticky { position: static; }
	.tp-priority > .wp-block-column { flex-basis: 100% !important; }
	.tp-presidents li { grid-template-columns: 2rem 1fr; }
	.tp-presidents li span { grid-column: 2; }
	.is-style-tp-portrait::after { display: none; }
}

/* ---------- RTL ---------- */
[dir=rtl] .is-style-tp-timeline { padding: 0 1.75rem 0 0; border-left: 0; border-right: 2px solid var(--tp-line); }
[dir=rtl] .is-style-tp-timeline > li::before { left: auto; right: calc(-1.75rem - 7px); }
[dir=rtl] .tp-more a::after { content: "←"; }
[dir=rtl] .is-style-tp-check li { padding-left: 0; padding-right: 2rem; }
[dir=rtl] .is-style-tp-check li::before { left: auto; right: 0; }
[dir=rtl] .tp-article-body > p:first-of-type::first-letter { float: right; margin: .35rem 0 0 .6rem; }

/* ---------- Editor ---------- */
.editor-styles-wrapper .is-style-tp-hero-slider .tp-slides > li { opacity: 1; visibility: visible; grid-area: auto; }
.editor-styles-wrapper .tp-reveal { opacity: 1; transform: none; }

/* ---------- Event galleries ---------- */
.tp-gallery-wrap { margin-top: 3.5rem; padding-top: 2.5rem; border-top: 1px solid var(--tp-line); }
.tp-gallery-head h2 { margin: .4rem 0 .3rem; }
.tp-gallery-head .tp-note { margin: 0 0 1.5rem; }
.tp-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 200px; gap: 12px; }
.tp-gi { position: relative; display: block; border-radius: 14px; overflow: hidden; background: var(--tp-green-dark); cursor: zoom-in; }
.tp-gi img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transition: transform 1s var(--tp-ease); }
.tp-gi:hover img { transform: scale(1.05); }
.tp-gi:first-child { grid-column: span 2; grid-row: span 2; }
.tp-gallery.n1 .tp-gi { grid-column: 1 / -1; grid-row: span 2; }
.tp-gallery.n2 .tp-gi { grid-column: span 2; grid-row: span 2; }
.tp-gcap { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 14px 12px; background: linear-gradient(0deg, rgba(0,26,8,.8), transparent); color: #fff; font-size: .8rem; opacity: 0; transition: opacity .3s; }
.tp-gi:hover .tp-gcap, .tp-gi:focus-visible .tp-gcap { opacity: 1; }
.tp-lightbox { position: fixed; inset: 0; z-index: 9999; background: rgba(0,20,6,.94); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 1.5rem; }
.tp-lightbox img { max-width: min(1200px, 92vw); max-height: 76vh; border-radius: 12px; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.tp-lightbox p { color: rgba(255,255,255,.85); margin: 0; text-align: center; max-width: 720px; font-size: .9rem; }
.tp-lightbox nav { display: flex; gap: .6rem; }
.tp-lightbox button { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); background: transparent; color: #fff; font-size: 1.2rem; cursor: pointer; }
.tp-lightbox button:hover { background: #fff; color: var(--tp-green-dark); }
.tp-albums { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; }
.tp-album { position: relative; flex: 0 0 380px; height: 280px; border-radius: var(--tp-r-m); overflow: hidden; scroll-snap-align: start; color: #fff !important; text-decoration: none !important; background: var(--tp-green-dark); }
.tp-album img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transition: transform 1.1s var(--tp-ease); }
.tp-album:hover img { transform: scale(1.05); }
.tp-album__count { position: absolute; right: 14px; top: 14px; z-index: 2; background: rgba(0,0,0,.6); backdrop-filter: blur(6px); font-size: .75rem; font-weight: 600; padding: .35rem .7rem; border-radius: 999px; }
.tp-album__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 2.5rem 1.1rem 1rem; background: linear-gradient(0deg, rgba(0,26,8,.88), transparent); display: flex; flex-direction: column; gap: .25rem; }
.tp-album__date { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--green-soft, #8CC49C); font-weight: 600; }
.tp-album__title { font-family: var(--wp--preset--font-family--serif); font-size: 1.15rem; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tp-albums-section .tp-albums:empty, .tp-albums-section:not(:has(.tp-album)) { display: none; }
@media (max-width: 781px) { .tp-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 160px; } .tp-album { flex-basis: 300px; height: 230px; } }
.tp-gallery.n3 { grid-template-columns: 2fr 1fr; } .tp-gallery.n3 .tp-gi:first-child { grid-column: 1; grid-row: span 2; }

/* ---------- Presidents gallery ---------- */
.tp-pres-section { position: relative; }
.tp-pres-section::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--tp-tricolour); }
.tp-pres-grid { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
.tp-pres { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: var(--tp-r-m); overflow: hidden; transition: transform .45s var(--tp-ease), background .3s, border-color .3s; }
.tp-pres:hover { transform: translateY(-6px); background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.3); }
.tp-pres__ph { position: relative; margin: 0 !important; }
.tp-pres__img { margin: 0 !important; }
.tp-pres__img img { filter: grayscale(.35); transition: filter .5s, transform 1.1s var(--tp-ease); display: block; }
.tp-pres:hover .tp-pres__img img, .tp-pres.is-current .tp-pres__img img { filter: none; }
.tp-pres__badge { position: absolute; left: 12px; bottom: 12px; margin: 0; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; background: rgba(255,255,255,.92); color: var(--tp-green-dark); padding: .3rem .55rem; border-radius: 5px; }
.tp-pres.is-current { border-color: var(--tp-red); background: rgba(223,0,0,.08); }
.tp-pres.is-current .tp-pres__badge { background: var(--tp-red); color: #fff; }
.tp-pres__body { padding: 1rem 1rem 1.1rem; }
.tp-pres__body p, .tp-pres__body h3 { margin: 0 !important; }
.tp-pres__years { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--green-soft, #8CC49C); font-weight: 600; }
.tp-pres__name { line-height: 1.25 !important; }
.tp-pres__note { font-size: .8rem; line-height: 1.45; color: rgba(255,255,255,.66); }
@media (max-width: 1100px) { .tp-pres-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .tp-pres-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* ---------- About Somaliland ---------- */
.tp-about-card { border-radius: var(--tp-r-l); overflow: hidden; }
.tp-about-card__cols { margin: 0 !important; align-items: stretch !important; }
.tp-about-card__img { margin: 0 !important; height: 100%; }
.tp-about-card__img img { height: 100% !important; }
.tp-about-card .wp-block-column:last-child { padding: clamp(1.5rem, 4vw, 3rem); align-self: center; }
.tp-about-card h2 a { color: #fff !important; text-decoration: none !important; }
.tp-about-top { position: relative; }
.tp-about-top::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--tp-tricolour); }
.tp-about-title { font-size: clamp(2.8rem, 6vw, 4.75rem) !important; line-height: 1 !important; }
.tp-about-title em { font-weight: 300; }
.tp-about-flag img { border-radius: var(--tp-r-l); box-shadow: 0 40px 80px rgba(0,0,0,.35); }
.tp-about-hero { align-items: center !important; }
.tp-about-stats { margin-top: 3rem; border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.tp-about-stats .tp-fact { padding: 1.25rem 1.4rem; border-left: 1px solid rgba(255,255,255,.14); }
.tp-about-stats .tp-fact__label { color: rgba(255,255,255,.6); }
.tp-about-stats .tp-fact__value { color: #fff; font-size: 1.4rem; }
.tp-about-jumps { padding-block: 1.5rem .5rem; }
.tp-about-tl { columns: 2; column-gap: 4rem; border-left: 0; padding-left: 0; }
.tp-about-tl > li { break-inside: avoid; padding-left: 1.75rem; border-left: 2px solid var(--tp-line); }
.tp-about-tl > li::before { left: -7px; }
@media (max-width: 900px) { .tp-about-tl { columns: 1; } }
.tp-big { font-family: var(--wp--preset--font-family--serif); font-size: 3rem; line-height: 1; color: var(--tp-green-dark); margin: 0; }
.tp-region { background: var(--wp--preset--color--white); border: 1px solid var(--tp-line); border-radius: 16px; padding: 1.1rem 1.3rem; transition: all .3s; }
.tp-region h3, .tp-region p { margin: 0; }
.tp-region:hover { background: var(--tp-green-dark); border-color: var(--tp-green-dark); }
.tp-region:hover h3, .tp-region:hover p { color: #fff; }
.tp-chips--dark li { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); color: #fff; }
.tp-about-stats .tp-fact__value { font-size: clamp(1.05rem, 1.4vw, 1.3rem); }
.tp-demo-grid .is-style-tp-card { padding: 1.25rem; }
.tp-demo-grid .tp-big { font-size: 2.4rem; }
.tp-demo-grid p { margin: 0; font-size: .92rem; }
.tp-cab-hero .wp-block-cover__background { opacity: 0 !important; }
/* Keep the main menu on one line on laptops */
.tp-nav .wp-block-navigation__container { flex-wrap: nowrap !important; }
.tp-nav .wp-block-navigation-item__content { white-space: nowrap; }
@media (max-width: 1320px) { .tp-nav .wp-block-navigation__container { gap: 1.2rem !important; } .tp-nav { font-size: .9rem !important; } }
