:root{
  --navy:#071b2d;--navy2:#0c2a43;--blue:#0a6fae;--cyan:#00a8d8;--gold:#efa92f;
  --ink:#13283a;--muted:#6b7c89;--line:#dfe7ec;--soft:#f4f7f9;--white:#fff;
  --radius:22px;--shadow:0 20px 55px rgba(7,27,45,.12);--container:1240px
}

/* Keyboard parity for desktop dropdown navigation. */
.tfz-menu li:focus-within > .sub-menu,
.tfz-primary-nav li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: none;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"Almarai",Arial,sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}html.tfz-nav-open{overflow:hidden;scroll-behavior:auto}body.tfz-nav-open{position:fixed;top:var(--tfz-nav-scroll-offset,0);inset-inline:0;width:100%;overflow:hidden;padding-inline-end:var(--tfz-nav-scrollbar-width,0)}body,button,input,select,textarea{font-family:"Almarai",Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{cursor:pointer}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tfz-container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.tfz-container--narrow{width:min(calc(100% - 40px),860px);margin-inline:auto}.tfz-skip-link{position:fixed;top:-80px;inset-inline-start:20px;z-index:9999;background:#fff;color:#111;padding:10px 16px;border-radius:8px}.tfz-skip-link:focus{top:20px}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
/* header */
.tfz-site-header{position:relative;z-index:100;background:#fff}.tfz-topbar{background:var(--navy);color:#d8e6ef;font-size:13px}.tfz-topbar__inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.tfz-topbar__contact,.tfz-topbar__links{display:flex;align-items:center;gap:14px}.tfz-topbar a:hover{color:#fff}.tfz-utility-menu{display:flex;gap:14px;list-style:none;margin:0;padding:0}.tfz-lang-switch{display:flex;align-items:center;gap:3px}.tfz-lang-switch a,.tfz-lang-switch span{min-width:34px;height:26px;border:1px solid rgba(255,255,255,.18);border-radius:7px;display:grid;place-items:center;font-size:10px;font-weight:800}.tfz-lang-switch .is-current{background:var(--gold);border-color:var(--gold);color:var(--navy)}.tfz-mainbar{background:#fff;border-bottom:1px solid rgba(7,27,45,.06);transition:.25s}.tfz-site-header.is-scrolled .tfz-mainbar{box-shadow:0 12px 35px rgba(7,27,45,.08)}.tfz-mainbar__inner{min-height:88px;display:flex;align-items:center;gap:24px}.tfz-brand{margin-inline-end:auto}.tfz-brand__link{display:flex;align-items:center;gap:12px}.tfz-brand .custom-logo{max-height:58px;width:auto;display:block}.tfz-brand__mark{width:58px;height:58px;border-radius:14px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px}.tfz-brand__text{display:flex;flex-direction:column;line-height:1.3}.tfz-brand__text strong{font-size:15px;color:var(--navy)}.tfz-brand__text small{font-size:9px;color:var(--muted);margin-top:3px}.tfz-primary-nav{margin-inline:auto}.tfz-menu,.tfz-primary-nav .menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}.tfz-menu>li,.tfz-primary-nav .menu>li{position:relative;list-style:none}.tfz-menu>li>a,.tfz-primary-nav .menu>li>a{display:flex;align-items:center;min-height:46px;padding:0 11px;border-radius:10px;font-size:14px;font-weight:700;color:#23394a;white-space:nowrap}.tfz-menu>li>a:hover,.tfz-menu>.current-menu-item>a,.tfz-primary-nav .menu>li>a:hover{background:var(--soft);color:var(--blue)}.tfz-menu .sub-menu,.tfz-primary-nav .sub-menu{position:absolute;top:calc(100% + 8px);inset-inline-start:0;width:230px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;margin:0;list-style:none;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.tfz-menu li:hover>.sub-menu,.tfz-primary-nav li:hover>.sub-menu{opacity:1;visibility:visible;transform:none}.tfz-menu .sub-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:700}.tfz-menu .sub-menu a:hover{background:var(--soft);color:var(--blue)}.tfz-header-cta{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 19px;border-radius:11px;background:var(--gold);color:var(--navy);font-size:14px;font-weight:800;box-shadow:0 10px 25px rgba(239,169,47,.22)}.tfz-header-cta:hover{background:#ffc152;transform:translateY(-1px)}.tfz-menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px}.tfz-menu-toggle span:not(.screen-reader-text){display:block;height:2px;background:var(--navy);margin:5px 0}
/* hero */
.tfz-front-page>.wp-block-cover:first-child{margin-top:0}.tfz-hero{min-height:680px!important;position:relative;display:flex;align-items:center;background:var(--navy)}.tfz-hero .wp-block-cover__background{background:rgba(4,22,37,.70)!important}.tfz-hero .wp-block-cover__inner-container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.tfz-hero__content{max-width:780px}.tfz-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--gold);font-size:11px;font-weight:800}.tfz-kicker:before{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}.tfz-hero h1{margin:16px 0 18px;color:#fff;font-size:clamp(42px,5.4vw,74px);line-height:1.12;font-weight:800;letter-spacing:-.02em}.tfz-hero p{max-width:690px;margin:0;color:#e3edf3;font-size:16px;line-height:1.9}.tfz-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.wp-block-button__link,.tfz-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:50px;padding:0 23px!important;border-radius:12px!important;font-size:14px!important;font-weight:800!important}.tfz-hero .wp-block-button:first-child .wp-block-button__link,.tfz-btn--primary,.tfz-cta .wp-block-button__link{background:var(--gold)!important;color:var(--navy)!important;border:1px solid var(--gold)!important}.tfz-hero .is-style-outline .wp-block-button__link,.tfz-btn--outline{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.55)!important}.tfz-btn--light{background:#fff;color:var(--navy)}
/* floating gateway */
.tfz-value-strip{position:relative;z-index:6;margin-top:-62px!important;width:min(calc(100% - 40px),var(--container));margin-inline:auto!important;background:var(--navy);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.tfz-value-strip>.wp-block-group__inner-container{padding:0}.tfz-value-strip .wp-block-columns{margin:0!important}.tfz-value-strip .wp-block-column{padding:27px 23px;border-inline-end:1px solid rgba(255,255,255,.1)}.tfz-value-strip .wp-block-column:last-child{border-inline-end:0}.tfz-value-strip h3{margin:0 0 7px;color:#fff;font-size:14px}.tfz-value-strip p{margin:0;color:#aac0ce;font-size:10px;line-height:1.8}
/* sections */
.tfz-section{padding:92px 0}.tfz-section--soft{background:var(--soft)}.tfz-section--dark{background:var(--navy);color:#fff}.tfz-section>.wp-block-group__inner-container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.tfz-section-title{margin-bottom:34px}.tfz-section-title h2,.tfz-section h2{margin:8px 0 12px;font-size:clamp(28px,3.2vw,44px);line-height:1.28;color:var(--navy);font-weight:800}.tfz-section--dark h2{color:#fff}.tfz-section-title p{max-width:740px;margin:0;color:var(--muted)}.tfz-feature-card{height:100%;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:.25s}.tfz-feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.tfz-feature-number{color:var(--gold);font-size:11px;font-weight:800}.tfz-feature-card h3{margin:8px 0 10px;font-size:17px;color:var(--navy)}.tfz-feature-card p{margin:0;font-size:14px;color:var(--muted)}.tfz-split{align-items:center!important;gap:54px!important}.tfz-split .wp-block-image img{border-radius:24px;box-shadow:var(--shadow)}.tfz-port-panel{background:var(--navy2);color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:28px;overflow:hidden}.tfz-port-panel>.wp-block-group__inner-container{padding:46px}.tfz-port-panel h2{color:#fff}.tfz-port-panel p{color:#b8cad5}.tfz-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-radius:18px;overflow:hidden}.tfz-metric{padding:28px;background:#fff}.tfz-metric strong{display:block;color:var(--navy);font-size:31px;line-height:1.1;font-weight:800}.tfz-metric span{display:block;color:var(--muted);font-size:12px;margin-top:7px}.tfz-vessel-board{display:grid;gap:10px;margin-top:22px}.tfz-vessel-row{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:12px;align-items:center;padding:14px 16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:12px}.tfz-vessel-row strong{font-size:13px;color:#fff}.tfz-vessel-row span{font-size:13px;color:#abc0cc}.tfz-status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#e9f6ed;color:#268445!important;font-size:12px!important;font-weight:800}.tfz-status--expected{background:#fff5df;color:#9a6600!important}.tfz-status--anchored{background:#e7f3fa;color:#196b98!important}.tfz-status--departed{background:#edf0f2;color:#677681!important}.tfz-journey{counter-reset:journey}.tfz-journey .wp-block-column{padding:28px 23px;border-top:3px solid var(--line);background:#fff}.tfz-journey .wp-block-column:before{counter-increment:journey;content:"0" counter(journey);display:block;color:var(--gold);font-size:11px;font-weight:800;margin-bottom:14px}.tfz-journey h3{margin:0 0 8px;font-size:15px}.tfz-journey p{font-size:14px;color:var(--muted)}
/* cards and listings */
.tfz-card-grid,.tfz-opportunities-grid,.tfz-branches-grid,.tfz-jobs-grid,.tfz-documents-grid,.tfz-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tfz-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 28px rgba(7,27,45,.05);transition:.25s}.tfz-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.tfz-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#dce6ec}.tfz-card__media img{width:100%;height:100%;object-fit:cover;transition:.35s}.tfz-card:hover .tfz-card__media img{transform:scale(1.035)}.tfz-card__body{padding:22px}.tfz-card__meta{font-size:12px;color:var(--blue);font-weight:800;margin-bottom:8px}.tfz-card h2,.tfz-card h3{margin:0 0 10px;font-size:17px;line-height:1.5;color:var(--navy)}.tfz-card p{margin:0 0 14px;font-size:14px;color:var(--muted)}.tfz-text-link{font-size:14px;color:var(--blue);font-weight:800}.tfz-document-card,.tfz-job-card,.tfz-branch-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.tfz-document-card h3,.tfz-job-card h3,.tfz-branch-card h3{margin:0 0 10px;color:var(--navy);font-size:15px}.tfz-document-card p,.tfz-job-card p,.tfz-branch-card p{font-size:14px;color:var(--muted)}
/* Partners — v1.2.6 UI pass: compact, centered cards (not a full-width 3-col
   grid like the other content types, since the partner count is currently
   small) with a larger, non-cropped logo area and the partner name printed
   underneath it. */
.tfz-partners-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.tfz-partner{display:flex;flex-direction:column;align-items:center;width:100%;max-width:310px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:26px 22px;transition:.25s}
.tfz-partner:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.tfz-partner__link{display:flex;flex-direction:column;align-items:center;width:100%;text-decoration:none}
.tfz-partner__logo{display:flex;align-items:center;justify-content:center;width:100%;min-height:clamp(110px,18vw,150px);margin-bottom:16px}
.tfz-partner__logo img{max-width:100%;max-height:clamp(90px,15vw,130px);width:auto;height:auto;object-fit:contain}
.tfz-partner__logo-placeholder{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--navy);color:var(--gold);font-size:22px;font-weight:800}
.tfz-partner__name{font-size:14px;font-weight:700;color:var(--navy);text-align:center;line-height:1.5}
.tfz-partner__link-indicator{display:inline-block;margin-inline-start:4px;color:var(--gold);font-size:12px}
.tfz-empty{padding:30px;border:1px dashed #c7d4dc;border-radius:16px;color:var(--muted);text-align:center}
/* Partners section background — a distinct, very light blue-grey tint (kept
   deliberately close to the existing --soft tone used elsewhere) so the
   section reads as visually separate from the "Branches & Offices" section
   directly above it, without introducing a new strong color. */
.tfz-section--partners{background:#f5f8fc;padding:40px 0;border-top:1px solid var(--line)}
.tfz-section--partners .tfz-section-title{margin-bottom:18px}
.tfz-partners-more{margin-top:14px;text-align:center}
/* Leadership & Management — a deliberately institutional card: a large
   portrait photo is the dominant visual element (not a small circular
   avatar like the Partners logos), with name and position underneath a
   short gold divider. A small, fixed number of cards on the homepage
   (limit="3") and the full roster grouped by category on the dedicated
   archive page share this same card. Uses only existing tokens
   (--navy/--gold/--soft/--radius/--shadow) — no new palette. */
.tfz-leadership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}
.tfz-person{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 8px 28px rgba(7,27,45,.05);transition:.25s}
.tfz-person:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.tfz-person__photo{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--soft)}
.tfz-person__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.tfz-person__photo-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--navy);color:var(--gold);font-size:52px;font-weight:800}
.tfz-person__body{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;padding:22px 18px 26px}
.tfz-person__body:before{content:"";width:34px;height:2px;margin-bottom:14px;background:var(--gold);border-radius:2px}
.tfz-person__name{margin:0 0 6px;font-size:17px;font-weight:800;color:var(--navy)}
.tfz-person__name a{color:inherit}
.tfz-person__position{margin:0;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--muted)}
/* Section rhythm: Branches (--soft) -> Leadership (white) -> Partners
   (light blue-grey) — an alternating background makes Leadership read as
   its own institutional section rather than a continuation of Partners. */
.tfz-section--leadership{background:#fff;padding:92px 0;border-top:1px solid var(--line)}
.tfz-leadership-category{margin-bottom:56px}
.tfz-leadership-category:last-child{margin-bottom:0}
.tfz-leadership-category__title{margin:0 0 24px;font-size:clamp(22px,2.6vw,32px);color:var(--navy);font-weight:800}
.tfz-person-detail__position{margin:6px 0 0;color:#b8cad5;font-size:13px}
/* Alignment polish (homepage preview only — scoped to .tfz-home-runtime,
   the same convention already used elsewhere in this file for
   homepage-only overrides, so the /leadership/ archive page, which does
   not use this wrapper, is untouched). With fewer than 3 published
   profiles, center the existing card(s) at the exact same card width the
   3-up row already produces — (100% - 2*gap)/3 — instead of stretching a
   lone card into a full-width 3-column track. Card design itself
   (image/name/position/radius/shadow/colors) is not touched. */
.tfz-home-runtime .tfz-leadership-grid:has(> .tfz-person:only-child){grid-template-columns:minmax(0,calc((100% - 52px)/3));justify-content:center}
.tfz-home-runtime .tfz-leadership-grid:has(> .tfz-person:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,calc((100% - 52px)/3)));justify-content:center}
@media(max-width:900px){.tfz-leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tfz-section--leadership{padding:68px 0}.tfz-home-runtime .tfz-leadership-grid:has(> .tfz-person:only-child){grid-template-columns:minmax(0,calc((100% - 26px)/2));justify-content:center}}
@media(max-width:700px){.tfz-leadership-grid{grid-template-columns:1fr}.tfz-leadership-grid .tfz-person{max-width:360px;margin-inline:auto;width:100%}}
/* CTA */
.tfz-cta{margin:70px auto!important;width:min(calc(100% - 40px),var(--container));border-radius:28px;background:var(--navy);color:#fff;overflow:hidden}.tfz-cta>.wp-block-group__inner-container{padding:50px}.tfz-cta h2{color:#fff;margin:0 0 10px;font-size:36px}.tfz-cta p{color:#b8cad5;margin:0}
/* internal pages */
.tfz-page-hero{padding:82px 0;background:var(--soft);border-bottom:1px solid var(--line)}.tfz-page-hero h1{margin:8px 0 0;font-size:clamp(34px,4vw,54px);line-height:1.25;color:var(--navy)}.tfz-page-content{padding-top:70px;padding-bottom:90px}.tfz-prose{font-size:16px;line-height:2}.tfz-prose h2,.tfz-prose h3,.tfz-prose h4{color:var(--navy);line-height:1.4;margin-top:1.8em}.tfz-prose p{color:#3f5261}.tfz-prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.tfz-prose ul{padding-inline-start:22px}.tfz-listing{padding-top:65px;padding-bottom:90px}.tfz-list-row{padding:24px 0;border-bottom:1px solid var(--line)}.tfz-list-row h2{margin:0 0 8px;font-size:20px}.tfz-list-row p{margin:0;color:var(--muted)}.tfz-article__header{padding:90px 0 45px;background:var(--soft)}.tfz-article__header h1{font-size:clamp(34px,4vw,56px);line-height:1.3;margin:8px 0}.tfz-article__header p{color:var(--muted);font-size:15px}.tfz-article__meta{font-size:12px;color:var(--blue);font-weight:800}.tfz-article__image{padding-top:45px}.tfz-article__image img{width:100%;border-radius:24px}.tfz-article .tfz-prose{padding-top:45px;padding-bottom:90px}.tfz-detail__hero{padding:88px 0;background:var(--navy);color:#fff}.tfz-detail__hero h1{margin:12px 0 8px;color:#fff;font-size:clamp(34px,4vw,55px)}.tfz-detail__hero p{color:#b8cad5}.tfz-detail__layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:55px;padding-top:60px;padding-bottom:90px}.tfz-detail__image{width:100%;border-radius:22px;margin-bottom:25px}.tfz-detail__aside{align-self:start;position:sticky;top:30px;padding:24px;background:var(--soft);border:1px solid var(--line);border-radius:20px}.tfz-detail__aside>div{padding:14px 0;border-bottom:1px solid var(--line)}.tfz-detail__aside small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.tfz-detail__aside strong{display:block;color:var(--navy);font-size:13px}.tfz-detail__aside .tfz-btn{width:100%;margin-top:12px}
/* forms */
.tfz-form{display:grid;gap:14px}.tfz-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tfz-field label{display:block;font-size:12px;font-weight:800;color:var(--navy);margin-bottom:6px}.tfz-field input,.tfz-field textarea,.tfz-field select{width:100%;border:1px solid #d3dde3;border-radius:11px;background:#fff;padding:12px 14px;color:var(--ink);outline:none}.tfz-field textarea{min-height:145px;resize:vertical}.tfz-field input:focus,.tfz-field textarea:focus,.tfz-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,111,174,.1)}.tfz-notice{padding:14px 16px;border-radius:12px;margin-bottom:18px;font-size:13px}.tfz-notice--success{background:#e8f7ed;color:#1e713a}.tfz-notice--error{background:#fff0f0;color:#9b2d2d}.tfz-contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px}.tfz-contact-card{padding:28px;background:var(--navy);color:#fff;border-radius:22px}.tfz-contact-card h3{margin-top:0}.tfz-contact-card p,.tfz-contact-card a{color:#c3d1da;font-size:13px}
/* footer */
.tfz-footer{background:#051725;color:#bbcad3;padding:72px 0 0}.tfz-footer__grid{display:grid;grid-template-columns:1.35fr .8fr .9fr 1fr;gap:42px}.tfz-footer h2,.tfz-footer h3{color:#fff;margin-top:0}.tfz-footer h2{font-size:20px}.tfz-footer h3{font-size:14px}.tfz-footer p{font-size:14px}.tfz-footer-menu,.tfz-contact-list{list-style:none;padding:0;margin:0}.tfz-footer-menu li,.tfz-contact-list li{margin:9px 0;font-size:13px}.tfz-footer a:hover{color:#fff}.tfz-footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:55px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1);font-size:12px}.tfz-error-page{text-align:center;padding:130px 0}.tfz-error-code{display:block;font-size:90px;line-height:1;font-weight:800;color:#dfe9ef}
@media(min-width:1321px){.tfz-mainbar__inner{width:max-content;max-width:calc(100% - 40px);display:flex;align-items:center;justify-content:center;gap:clamp(36px,3vw,48px);margin-inline:auto}.tfz-brand{min-width:0;margin-inline:0}.tfz-primary-nav{margin-inline:0}.tfz-header-cta{flex:0 0 auto}}
@media(min-width:1321px) and (max-width:1500px){.tfz-brand__link{gap:14px !important}.tfz-brand__text{min-width:190px}.tfz-menu>li>a,.tfz-primary-nav .menu>li>a{padding-inline:9px;font-size:13px}.tfz-header-cta{padding-inline:15px}}
@media(min-width:1321px) and (max-width:1400px){.tfz-brand__link{gap:10px !important}.tfz-brand__text{min-width:170px}.tfz-menu>li>a,.tfz-primary-nav .menu>li>a{padding-inline:8px}.tfz-header-cta{padding-inline:13px}}
@media(max-width:1320px){.tfz-primary-nav{position:fixed;top:126px;inset-inline:18px;max-height:calc(100dvh - 144px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:12px;display:none}.tfz-primary-nav.is-open{display:block}.tfz-primary-nav .tfz-menu,.tfz-primary-nav .menu{display:grid;align-items:stretch;gap:2px}.tfz-primary-nav .tfz-menu>li>a,.tfz-primary-nav .menu>li>a{min-height:42px;padding:8px 12px;justify-content:flex-start;line-height:1.4;text-align:start}.tfz-primary-nav .sub-menu{position:static;width:auto;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:var(--soft);padding:6px;display:none}.tfz-primary-nav .sub-menu a{min-height:38px;padding:7px 10px;line-height:1.4}.tfz-primary-nav .menu-item-has-children:hover>.sub-menu{display:block}.tfz-primary-nav .menu-item-has-children.is-open>.sub-menu{display:block}.tfz-menu-toggle{display:block;flex:0 0 auto}.tfz-header-cta{margin-inline-start:0}}
/* Typography refinement (Fix #2): raising nav-link and button font-size
   (12px->14px, 11px->14px) increased the primary nav's natural width
   enough that the inline desktop nav no longer fit the header between
   roughly 1150-1320px, causing real horizontal overflow (confirmed via
   live testing at 1200/1250px). Moving this existing, already-tested
   dropdown-nav breakpoint up from 1150px to 1320px removes the tight zone
   entirely by switching to the (already fully working) dropdown pattern
   before the fit problem starts, rather than shrinking the new, larger
   nav text back down. */
@media(max-width:900px){.tfz-card-grid,.tfz-opportunities-grid,.tfz-branches-grid,.tfz-jobs-grid,.tfz-documents-grid,.tfz-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tfz-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tfz-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tfz-detail__layout{grid-template-columns:1fr}.tfz-detail__aside{position:static}.tfz-contact-layout{grid-template-columns:1fr}}
@media(max-width:700px){.tfz-container,.tfz-container--narrow{width:min(calc(100% - 28px),var(--container))}.tfz-topbar__contact a:first-child,.tfz-topbar__contact span,.tfz-utility-menu{display:none}.tfz-mainbar__inner{min-height:76px;gap:10px}.tfz-brand__text small{display:none}.tfz-brand__text strong{font-size:12px}.tfz-brand__mark{width:46px;height:46px}.tfz-header-cta{display:none}.tfz-primary-nav{top:114px;inset-inline:14px;max-height:calc(100dvh - 128px);padding:10px}.tfz-primary-nav .tfz-menu,.tfz-primary-nav .menu{gap:1px}.tfz-primary-nav .tfz-menu>li>a,.tfz-primary-nav .menu>li>a{min-height:40px;padding:7px 10px}.tfz-hero{min-height:620px!important}.tfz-hero h1{font-size:38px}.tfz-hero p{font-size:14px}.tfz-value-strip{margin-top:-42px!important}.tfz-value-strip .wp-block-columns{display:grid!important;grid-template-columns:1fr 1fr}.tfz-value-strip .wp-block-column{padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.tfz-section{padding:68px 0}.tfz-section--partners{padding:32px 0}.tfz-section>.wp-block-group__inner-container{width:min(calc(100% - 28px),var(--container))}.tfz-card-grid,.tfz-opportunities-grid,.tfz-branches-grid,.tfz-jobs-grid,.tfz-documents-grid,.tfz-news-grid{grid-template-columns:1fr}.tfz-partner{max-width:none;width:100%}.tfz-vessel-row{grid-template-columns:1fr 1fr}.tfz-footer__grid{grid-template-columns:1fr}.tfz-footer__bottom{display:block}.tfz-form-row{grid-template-columns:1fr}.tfz-cta>.wp-block-group__inner-container{padding:35px 25px}.tfz-cta h2{font-size:28px}}


/* v1.0.1 — official brand lockup */
.tfz-brand{min-width:300px}
.tfz-brand__link{display:flex;align-items:center;gap:14px;width:max-content;max-width:100%}
.tfz-brand .custom-logo-link{display:flex;align-items:center;flex:0 0 auto}
.tfz-brand .custom-logo{width:auto;height:auto;max-height:66px;max-width:92px;object-fit:contain}
.tfz-brand__text{display:flex;flex-direction:column;justify-content:center;min-width:0;line-height:1.25}
.tfz-brand__text strong{display:block;color:var(--navy);font-size:16px;line-height:1.35;font-weight:800;white-space:nowrap}
html[dir="ltr"] .tfz-brand__text strong{letter-spacing:.02em;font-size:14px}
@media(max-width:1150px){
  .tfz-brand{min-width:250px}
  .tfz-brand .custom-logo{max-height:58px;max-width:82px}
  .tfz-brand__text strong{font-size:14px}
}
@media(max-width:700px){
  .tfz-brand{min-width:0}
  .tfz-brand__link{gap:9px}
  .tfz-brand .custom-logo{max-height:48px;max-width:68px}
  .tfz-brand__text strong,
  html[dir="ltr"] .tfz-brand__text strong{font-size:11px;white-space:normal;max-width:120px}
}


/* v1.0.2 — corrected official horizontal brand lockup.
   Important: logo and name now share a single valid anchor. */
.tfz-mainbar__inner{
    align-items:center;
}
.tfz-brand{
    min-width:360px;
    margin-inline-end:auto;
}
.tfz-brand__link{
    display:flex !important;
    flex-direction:row;
    align-items:center !important;
    justify-content:flex-start;
    gap:18px !important;
    width:max-content;
    max-width:100%;
    min-height:68px;
}
.tfz-brand__logo{
    display:block;
    flex:0 0 auto;
    width:auto;
    height:auto;
    max-width:90px;
    max-height:66px;
    object-fit:contain;
}
.tfz-brand__text{
    display:flex !important;
    align-items:center;
    min-width:210px;
    min-height:66px;
}
.tfz-brand__text strong{
    display:block;
    margin:0;
    color:var(--navy);
    font-size:18px;
    line-height:1.35;
    font-weight:800;
    white-space:nowrap;
}
html[dir="ltr"] .tfz-brand__text strong{
    font-size:16px;
    letter-spacing:.025em;
}
@media(max-width:1150px){
    .tfz-brand{min-width:295px}
    .tfz-brand__link{gap:13px !important}
    .tfz-brand__logo{max-width:76px;max-height:58px}
    .tfz-brand__text{min-width:175px;min-height:58px}
    .tfz-brand__text strong{font-size:14px}
    html[dir="ltr"] .tfz-brand__text strong{font-size:13px}
}
@media(max-width:700px){
    .tfz-brand{min-width:0}
    .tfz-brand__link{gap:9px !important;min-height:50px}
    .tfz-brand__logo{max-width:62px;max-height:48px}
    .tfz-brand__text{min-width:0;min-height:48px}
    .tfz-brand__text strong,
    html[dir="ltr"] .tfz-brand__text strong{
        font-size:11px;
        white-space:normal;
        max-width:118px;
    }
}

/* v1.6.3 — keep the desktop brand box content-sized so the explicit
   group gap is also the visible Brand-to-Navigation gap. */
@media(min-width:1321px){
    .tfz-brand{min-width:0;margin-inline:0}
}


/* v1.0.5 — managed homepage structural safety.
   The runtime is rendered directly by front-page.php, outside Gutenberg wrappers. */
.tfz-front-page{
    width:100%;
    max-width:none;
    overflow-x:clip;
}
.tfz-home-runtime{
    display:block;
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}
.tfz-home-runtime > .tfz-hero{
    width:100%;
    max-width:none;
    margin-left:0 !important;
    margin-right:0 !important;
}
.tfz-home-runtime .tfz-hero__content{
    direction:inherit;
}


/* ==========================================================
   v1.0.6 — Managed Homepage Runtime Layout
   ----------------------------------------------------------
   The managed homepage is rendered from PHP, so WordPress
   does not auto-enqueue all Gutenberg block CSS. Everything
   below is scoped to .tfz-home-runtime and makes the homepage
   completely independent from Gutenberg's frontend CSS.
   ========================================================== */

.tfz-home-runtime,
.tfz-home-runtime *{
    box-sizing:border-box;
}

/* --- Cover / Hero ownership --- */
.tfz-home-runtime .wp-block-cover{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:430px;
    width:100%;
    overflow:hidden;
    padding:1em;
    isolation:isolate;
}
.tfz-home-runtime .wp-block-cover__image-background{
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    border:0;
    box-shadow:none;
}
.tfz-home-runtime .wp-block-cover__background{
    position:absolute;
    inset:0;
    z-index:1;
    width:100%;
    height:100%;
    background:rgba(4,22,37,.70)!important;
}
.tfz-home-runtime .wp-block-cover__inner-container{
    position:relative;
    z-index:2;
    width:min(calc(100% - 40px),var(--container));
    margin-inline:auto;
}
.tfz-home-runtime .tfz-hero__content{
    width:min(780px,100%);
    max-width:780px;
    margin-inline-start:0;
    margin-inline-end:auto;
}
.tfz-home-runtime .tfz-hero__content > .wp-block-group__inner-container{
    width:100%;
}

/* --- Native layout replacement for Gutenberg columns --- */
.tfz-home-runtime .wp-block-columns{
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:22px;
    width:100%;
    margin:0;
}
.tfz-home-runtime .wp-block-column{
    flex:1 1 0;
    min-width:0;
    margin:0;
}

/* Value strip is always a clean four-column grid on desktop. */
.tfz-home-runtime .tfz-value-strip .wp-block-columns{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
}
.tfz-home-runtime .tfz-value-strip .wp-block-column{
    min-width:0;
}

/* Split sections */
.tfz-home-runtime .tfz-split{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:center!important;
    gap:54px!important;
}

/* Journey */
.tfz-home-runtime .tfz-journey{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
}

/* Buttons */
.tfz-home-runtime .wp-block-buttons{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
}
.tfz-home-runtime .wp-block-button{
    display:inline-block;
    margin:0;
}

/* Images / figures */
.tfz-home-runtime .wp-block-image{
    margin:0;
}
.tfz-home-runtime .wp-block-image img{
    display:block;
    width:100%;
}

/* CTA two-column layout */
.tfz-home-runtime .tfz-cta .wp-block-columns{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 260px;
    align-items:center;
    gap:30px;
}

/* Prevent any runtime section from causing horizontal breakout. */
.tfz-home-runtime .alignfull,
.tfz-home-runtime .alignwide{
    max-width:none;
    margin-left:0!important;
    margin-right:0!important;
}
.tfz-home-runtime{
    overflow-x:hidden;
}

/* Tablet */
@media(max-width:900px){
    .tfz-home-runtime .tfz-value-strip .wp-block-columns{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tfz-home-runtime .wp-block-columns{
        flex-wrap:wrap;
    }
    .tfz-home-runtime .wp-block-columns > .wp-block-column{
        flex:1 1 calc(50% - 11px);
    }
    .tfz-home-runtime .tfz-split{
        grid-template-columns:1fr;
        gap:34px!important;
    }
    .tfz-home-runtime .tfz-journey{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tfz-home-runtime .tfz-cta .wp-block-columns{
        grid-template-columns:1fr;
    }
    .tfz-home-runtime .tfz-cta .wp-block-column[style]{
        flex-basis:auto!important;
    }
}

/* Mobile */
@media(max-width:700px){
    .tfz-home-runtime .wp-block-cover{
        padding-inline:14px;
    }
    .tfz-home-runtime .wp-block-cover__inner-container{
        width:100%;
    }
    .tfz-home-runtime .tfz-hero__content{
        width:100%;
        max-width:none;
        margin:0;
    }
    .tfz-home-runtime .tfz-value-strip .wp-block-columns,
    .tfz-home-runtime .tfz-journey{
        grid-template-columns:1fr;
    }
    .tfz-home-runtime .wp-block-columns{
        display:block;
    }
    .tfz-home-runtime .wp-block-column{
        width:100%;
    }
    .tfz-home-runtime .tfz-split{
        display:grid!important;
        grid-template-columns:1fr;
    }
    .tfz-home-runtime .tfz-cta .wp-block-columns{
        display:grid!important;
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   v1.0.7 — WHY TFZ / Competitive Advantage polish
   Scoped to the managed homepage only.
   ========================================================== */

/* Give this section its own visual rhythm without affecting other sections. */
.tfz-home-runtime .tfz-section:has(.tfz-feature-card){
    position:relative;
    overflow:hidden;
    padding-top:96px;
    padding-bottom:104px;
    background:
        radial-gradient(circle at 92% 18%, rgba(10,111,174,.055) 0, rgba(10,111,174,0) 30%),
        #fff;
}
html[dir="ltr"] .tfz-home-runtime .tfz-section:has(.tfz-feature-card){
    background:
        radial-gradient(circle at 8% 18%, rgba(10,111,174,.055) 0, rgba(10,111,174,0) 30%),
        #fff;
}

.tfz-home-runtime .tfz-section:has(.tfz-feature-card) .tfz-section-title{
    max-width:820px;
    margin-bottom:44px;
}
.tfz-home-runtime .tfz-section:has(.tfz-feature-card) .tfz-section-title h2{
    max-width:700px;
    margin-top:9px;
    margin-bottom:14px;
}
.tfz-home-runtime .tfz-section:has(.tfz-feature-card) .tfz-section-title > p:last-child{
    max-width:740px;
    color:#6a7b88;
    font-size:13px;
    line-height:1.95;
}

/* Exact four-card grid on desktop. */
.tfz-home-runtime .tfz-section:has(.tfz-feature-card) > .wp-block-group__inner-container > .wp-block-columns{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px!important;
    align-items:stretch;
}

.tfz-home-runtime .tfz-section:has(.tfz-feature-card) .wp-block-column{
    min-width:0;
}

/* Card shell */
.tfz-home-runtime .tfz-feature-card{
    position:relative;
    height:100%;
    min-height:275px;
    padding:30px 25px 25px;
    overflow:hidden;
    border:1px solid #e1e9ee;
    border-radius:20px;
    background:#fff;
    box-shadow:
        0 5px 18px rgba(7,27,45,.035),
        0 22px 55px rgba(7,27,45,.045);
    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}

/* Delicate institutional accent instead of loud gradients. */
.tfz-home-runtime .tfz-feature-card{
    border-top:3px solid var(--gold);
}
.tfz-home-runtime .tfz-feature-card:hover{
    transform:translateY(-6px);
    border-color:#d0e0e9;
    border-top-color:var(--gold);
    box-shadow:
        0 12px 30px rgba(7,27,45,.07),
        0 28px 65px rgba(7,27,45,.085);
}

/* Icon container — fixed design, content remains editable in TFZ Homepage. */
.tfz-home-runtime .tfz-feature-card::before{
    content:"";
    display:block;
    width:58px;
    height:58px;
    margin-bottom:28px;
    border:1px solid #dbe8ef;
    border-radius:16px;
    background-color:#f3f8fb;
    background-repeat:no-repeat;
    background-position:center;
    background-size:27px 27px;
    transition:transform .28s ease, background-color .28s ease;
}
.tfz-home-runtime .tfz-feature-card:hover::before{
    transform:translateY(-2px);
    background-color:#edf6fb;
}

/* 01 — location / compass */
.tfz-home-runtime .tfz-section:has(.tfz-feature-card) .wp-block-column:nth-child(1) .tfz-feature-card::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m15.5 8.5-2.2 4.8-4.8 2.2 2.2-4.8 4.8-2.2Z'/%3E%3C/svg%3E");
}

/* 02 — port / ship */
.tfz-home-runtime .tfz-section:has(.tfz-feature-card) .wp-block-column:nth-child(2) .tfz-feature-card::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18c2 0 2 1 4 1s2-1 4-1 2 1 4 1 2-1 4-1 2 1 2 1'/%3E%3Cpath d='m5 14 2-7h10l2 7'/%3E%3Cpath d='M9 7V4h6v3'/%3E%3Cpath d='M7 14h10'/%3E%3C/svg%3E");
}

/* 03 — investor environment / building */
.tfz-home-runtime .tfz-section:has(.tfz-feature-card) .wp-block-column:nth-child(3) .tfz-feature-card::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16'/%3E%3Cpath d='M6 20V8l6-4 6 4v12'/%3E%3Cpath d='M9 10h1M14 10h1M9 14h1M14 14h1M11 20v-3h2v3'/%3E%3C/svg%3E");
}

/* 04 — regional connectivity / network */
.tfz-home-runtime .tfz-section:has(.tfz-feature-card) .wp-block-column:nth-child(4) .tfz-feature-card::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='19' cy='6' r='2'/%3E%3Ccircle cx='19' cy='18' r='2'/%3E%3Cpath d='m7 11 10-4M7 13l10 4'/%3E%3C/svg%3E");
}

/* Number becomes a quiet editorial marker. */
.tfz-home-runtime .tfz-feature-number{
    position:absolute;
    top:31px;
    inset-inline-end:24px;
    color:#9eb0bc;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:.12em;
}

/* Typography */
.tfz-home-runtime .tfz-feature-card h3{
    margin:0 0 11px;
    color:var(--navy);
    font-size:16px;
    line-height:1.55;
    font-weight:800;
}
.tfz-home-runtime .tfz-feature-card p{
    margin:0;
    color:#687986;
    font-size:14px;
    line-height:1.95;
}

/* Small bottom cue gives all cards a consistent finish. */
.tfz-home-runtime .tfz-feature-card::after{
    content:"";
    position:absolute;
    inset-inline-start:25px;
    bottom:21px;
    width:30px;
    height:2px;
    border-radius:999px;
    background:var(--gold);
    opacity:.85;
    transition:width .28s ease;
}
.tfz-home-runtime .tfz-feature-card:hover::after{
    width:52px;
}

@media(max-width:1000px){
    .tfz-home-runtime .tfz-section:has(.tfz-feature-card) > .wp-block-group__inner-container > .wp-block-columns{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tfz-home-runtime .tfz-feature-card{
        min-height:245px;
    }
}

@media(max-width:700px){
    .tfz-home-runtime .tfz-section:has(.tfz-feature-card){
        padding-top:70px;
        padding-bottom:76px;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-feature-card) .tfz-section-title{
        margin-bottom:30px;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-feature-card) > .wp-block-group__inner-container > .wp-block-columns{
        display:grid!important;
        grid-template-columns:1fr;
        gap:13px!important;
    }
    .tfz-home-runtime .tfz-feature-card{
        min-height:0;
        padding:24px 22px 43px;
    }
    .tfz-home-runtime .tfz-feature-card::before{
        width:52px;
        height:52px;
        margin-bottom:21px;
        background-size:24px 24px;
    }
    .tfz-home-runtime .tfz-feature-number{
        top:27px;
        inset-inline-end:21px;
    }
}


/* ==========================================================
   v1.0.8 — Strategic Gateway / About section polish
   Exact scope:
   the soft section immediately following "Why TFZ".
   ========================================================== */

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft{
    position:relative;
    overflow:hidden;
    padding-top:98px;
    padding-bottom:104px;
    background:#f5f8fa;
    border-top:1px solid #edf2f5;
    border-bottom:1px solid #edf2f5;
}

/* subtle institutional geometry, no content */
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft::before{
    content:"";
    position:absolute;
    inset-inline-start:-110px;
    top:-120px;
    width:300px;
    height:300px;
    border:1px solid rgba(10,111,174,.08);
    border-radius:50%;
}
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft::after{
    content:"";
    position:absolute;
    inset-inline-start:-42px;
    top:-52px;
    width:165px;
    height:165px;
    border:1px solid rgba(239,169,47,.13);
    border-radius:50%;
}

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
> .wp-block-group__inner-container{
    position:relative;
    z-index:1;
}

/* Stronger two-column composition */
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-split{
    display:grid!important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:76px!important;
    align-items:center!important;
}

/* Text column */
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child{
    position:relative;
    max-width:610px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-kicker{
    margin:0 0 13px;
    color:var(--gold);
    font-size:11px;
    font-weight:800;
}

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
h2{
    max-width:580px;
    margin:0 0 20px;
    color:var(--navy);
    font-size:clamp(32px,3vw,47px);
    line-height:1.3;
    font-weight:800;
    letter-spacing:-.015em;
    text-wrap:balance;
}

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child
> p:not(.tfz-kicker){
    max-width:575px;
    margin:0;
    color:#5e707d;
    font-size:13px;
    line-height:2.05;
}

/* Small visual authority line below narrative */
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child::after{
    content:"";
    display:block;
    width:72px;
    height:3px;
    margin-top:27px;
    border-radius:999px;
    background:var(--gold);
}

/* CTA */
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.wp-block-buttons{
    margin-top:29px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.wp-block-button__link{
    min-height:50px;
    padding-inline:24px!important;
    border-radius:12px!important;
    background:var(--navy)!important;
    border:1px solid var(--navy)!important;
    color:#fff!important;
    box-shadow:0 12px 28px rgba(7,27,45,.10);
    transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.wp-block-button__link:hover{
    transform:translateY(-2px);
    background:var(--blue)!important;
    border-color:var(--blue)!important;
    box-shadow:0 16px 34px rgba(7,27,45,.15);
}

/* Image becomes a premium visual anchor */
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child{
    position:relative;
    padding:18px 18px 0 0;
}

html[dir="ltr"]
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child{
    padding:18px 0 0 18px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::before{
    content:"";
    position:absolute;
    inset-inline-start:0;
    top:0;
    width:58%;
    height:58%;
    border-radius:24px;
    background:var(--navy);
    opacity:.055;
    transform:translate(-18px,-18px);
    z-index:0;
}

html[dir="ltr"]
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::before{
    transform:translate(18px,-18px);
}

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.wp-block-image{
    position:relative;
    z-index:1;
    margin:0;
    border-radius:26px;
    overflow:hidden;
    box-shadow:0 28px 65px rgba(7,27,45,.14);
    background:#dfe8ed;
}

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.wp-block-image img{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    object-position:center;
    border-radius:0;
    box-shadow:none;
    transition:transform .45s ease;
}

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.wp-block-image:hover img{
    transform:scale(1.025);
}

/* Gold corner mark gives the image a restrained signature */
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::after{
    content:"";
    position:absolute;
    inset-inline-end:-10px;
    bottom:-10px;
    width:78px;
    height:78px;
    border-inline-end:4px solid var(--gold);
    border-bottom:4px solid var(--gold);
    border-radius:0 0 18px 0;
    z-index:2;
    pointer-events:none;
}

html[dir="rtl"]
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::after{
    border-inline-end:4px solid var(--gold);
    border-bottom:4px solid var(--gold);
}

/* Tablet */
@media(max-width:1000px){
    .tfz-home-runtime
    .tfz-section:has(.tfz-feature-card)
    + .tfz-section--soft
    .tfz-split{
        grid-template-columns:1fr 1fr;
        gap:44px!important;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-feature-card)
    + .tfz-section--soft
    h2{
        font-size:36px;
    }
}

/* Mobile */
@media(max-width:700px){
    .tfz-home-runtime
    .tfz-section:has(.tfz-feature-card)
    + .tfz-section--soft{
        padding-top:70px;
        padding-bottom:76px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-feature-card)
    + .tfz-section--soft
    .tfz-split{
        display:grid!important;
        grid-template-columns:1fr;
        gap:34px!important;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-feature-card)
    + .tfz-section--soft
    h2{
        font-size:31px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-feature-card)
    + .tfz-section--soft
    .tfz-split
    .wp-block-column:last-child,
    html[dir="ltr"]
    .tfz-home-runtime
    .tfz-section:has(.tfz-feature-card)
    + .tfz-section--soft
    .tfz-split
    .wp-block-column:last-child{
        padding:10px 10px 0 0;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-feature-card)
    + .tfz-section--soft
    .wp-block-image{
        border-radius:20px;
    }
}


/* v1.0.9 — final Strategic Gateway CTA safety */
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.wp-block-button
.wp-block-button__link{
    background:#071b2d !important;
    border-color:#071b2d !important;
    color:#ffffff !important;
    opacity:1 !important;
}
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.wp-block-button
.wp-block-button__link:hover{
    background:#0a6fae !important;
    border-color:#0a6fae !important;
    color:#ffffff !important;
}


/* ==========================================================
   v1.0.10 — Integrated Business Platform / Metrics polish
   Scoped only to the homepage section that contains .tfz-metrics
   ========================================================== */

.tfz-home-runtime .tfz-section:has(.tfz-metrics){
    position:relative;
    overflow:hidden;
    padding-top:88px;
    padding-bottom:96px;
    background:#ffffff;
    border-top:1px solid #eef2f5;
    border-bottom:1px solid #eef2f5;
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics)::before{
    content:"TFZ";
    position:absolute;
    inset-inline-start:-14px;
    bottom:-34px;
    color:#071b2d;
    opacity:.025;
    font-size:150px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.06em;
    pointer-events:none;
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-section-title{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-bottom:34px;
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-section-title .tfz-kicker{
    margin:0 0 8px;
    color:var(--gold);
    font-size:11px;
    font-weight:800;
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-section-title h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(30px,3vw,44px);
    line-height:1.3;
    font-weight:800;
}

/* Main institutional dashboard panel */
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metrics{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    overflow:hidden;
    padding:0;
    border:1px solid rgba(255,255,255,.07);
    border-radius:24px;
    background:var(--navy);
    box-shadow:0 26px 60px rgba(7,27,45,.14);
}

/* Thin gold signature line */
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metrics::before{
    content:"";
    position:absolute;
    top:0;
    inset-inline-start:0;
    width:100%;
    height:3px;
    background:var(--gold);
    z-index:2;
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric{
    position:relative;
    min-height:185px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:34px 30px 30px;
    background:transparent;
    border-inline-end:1px solid rgba(255,255,255,.09);
    transition:background-color .25s ease, transform .25s ease;
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:last-child{
    border-inline-end:0;
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:hover{
    background:rgba(255,255,255,.045);
}

/* Editorial number marker */
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric::after{
    position:absolute;
    top:22px;
    inset-inline-end:22px;
    color:#a8bbc7;
    opacity:.52;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.14em;
}
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:nth-child(1)::after{content:"01";}
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:nth-child(2)::after{content:"02";}
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:nth-child(3)::after{content:"03";}
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:nth-child(4)::after{content:"04";}

/* Small icon chip */
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric::before{
    content:"";
    display:block;
    width:42px;
    height:42px;
    margin-bottom:22px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    background-color:rgba(255,255,255,.045);
    background-repeat:no-repeat;
    background-position:center;
    background-size:20px 20px;
}

/* 01 calendar / foundation */
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:nth-child(1)::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23efa92f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18M8 14h2M14 14h2M8 18h2'/%3E%3C/svg%3E");
}

/* 02 always-on support / clock */
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:nth-child(2)::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23efa92f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

/* 03 Mediterranean / globe */
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:nth-child(3)::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23efa92f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E");
}

/* 04 integrated platform / network */
.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:nth-child(4)::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23efa92f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='6' height='6' rx='1'/%3E%3Crect x='14' y='4' width='6' height='6' rx='1'/%3E%3Crect x='9' y='14' width='6' height='6' rx='1'/%3E%3Cpath d='M7 10v2h5M17 10v2h-5M12 12v2'/%3E%3C/svg%3E");
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric strong{
    display:block;
    margin:0;
    color:#ffffff;
    font-size:clamp(34px,3vw,48px);
    line-height:1;
    font-weight:800;
    letter-spacing:-.025em;
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric span{
    display:block;
    max-width:180px;
    margin-top:11px;
    color:#aebfca;
    font-size:12px;
    line-height:1.75;
    font-weight:700;
}

@media(max-width:900px){
    .tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metrics{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric{
        border-bottom:1px solid rgba(255,255,255,.09);
    }
    .tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:nth-child(2){
        border-inline-end:0;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:nth-child(3),
    .tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:nth-child(4){
        border-bottom:0;
    }
}

@media(max-width:700px){
    .tfz-home-runtime .tfz-section:has(.tfz-metrics){
        padding-top:68px;
        padding-bottom:74px;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-section-title{
        display:block;
        margin-bottom:27px;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metrics{
        grid-template-columns:1fr;
        border-radius:20px;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric{
        min-height:150px;
        border-inline-end:0;
        border-bottom:1px solid rgba(255,255,255,.09)!important;
        padding:27px 24px;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric:last-child{
        border-bottom:0!important;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric::before{
        margin-bottom:17px;
    }
}


/* ==========================================================
   v1.0.11 — Port Operations Dashboard polish
   Scoped only to the dark homepage section containing .tfz-port-panel
   ========================================================== */

.tfz-home-runtime .tfz-section--dark:has(.tfz-port-panel){
    position:relative;
    overflow:hidden;
    padding-top:96px;
    padding-bottom:104px;
    background:#061a2a;
}

/* restrained port-grid atmosphere */
.tfz-home-runtime .tfz-section--dark:has(.tfz-port-panel)::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.20;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size:44px 44px;
}
.tfz-home-runtime .tfz-section--dark:has(.tfz-port-panel)::after{
    content:"";
    position:absolute;
    width:460px;
    height:460px;
    inset-inline-end:-160px;
    top:-180px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(10,111,174,.15) 0%, rgba(10,111,174,0) 68%);
    pointer-events:none;
}

.tfz-home-runtime .tfz-section--dark:has(.tfz-port-panel) > .wp-block-group__inner-container{
    position:relative;
    z-index:1;
}

/* Main port dashboard shell */
.tfz-home-runtime .tfz-port-panel{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.09);
    border-radius:28px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)),
        #0a2940;
    box-shadow:0 34px 80px rgba(0,0,0,.22);
}

.tfz-home-runtime .tfz-port-panel::before{
    content:"PORT OPERATIONS";
    position:absolute;
    top:28px;
    inset-inline-end:34px;
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;
    background:rgba(255,255,255,.035);
    color:#9fb6c4;
    font-size:8px;
    font-weight:800;
    letter-spacing:.13em;
}
html[dir="rtl"] .tfz-home-runtime .tfz-port-panel::before{
    content:"عمليات الميناء";
    letter-spacing:0;
    font-size:9px;
}

.tfz-home-runtime .tfz-port-panel::after{
    content:"";
    position:absolute;
    top:0;
    inset-inline-start:0;
    width:100%;
    height:3px;
    background:var(--gold);
}

.tfz-home-runtime .tfz-port-panel > .wp-block-group__inner-container{
    padding:50px 48px 46px;
}

/* intro */
.tfz-home-runtime .tfz-port-panel .tfz-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin:0 0 13px;
    color:#efb44e;
    font-size:10px;
    font-weight:800;
}
.tfz-home-runtime .tfz-port-panel .tfz-kicker::before{
    content:"";
    width:28px;
    height:2px;
    border-radius:999px;
    background:#efb44e;
}

.tfz-home-runtime .tfz-port-panel h2{
    max-width:780px;
    margin:0 0 14px;
    color:#fff;
    font-size:clamp(32px,3.2vw,47px);
    line-height:1.28;
    font-weight:800;
    letter-spacing:-.015em;
    text-wrap:balance;
}

.tfz-home-runtime .tfz-port-panel > .wp-block-group__inner-container > p:not(.tfz-kicker){
    max-width:720px;
    margin:0;
    color:#afc2ce;
    font-size:12px;
    line-height:1.95;
}

/* Operational board */
.tfz-home-runtime .tfz-vessel-board{
    position:relative;
    margin-top:34px;
    padding-top:35px;
    display:grid;
    gap:9px;
    border-top:1px solid rgba(255,255,255,.09);
}

.tfz-home-runtime .tfz-vessel-board::before{
    content:"LIVE OPERATIONS";
    position:absolute;
    top:11px;
    inset-inline-start:0;
    color:#7892a3;
    font-size:8px;
    line-height:1;
    font-weight:800;
    letter-spacing:.15em;
}
html[dir="rtl"] .tfz-home-runtime .tfz-vessel-board::before{
    content:"الحركة التشغيلية";
    letter-spacing:0;
    font-size:9px;
}

/* Vessel row */
.tfz-home-runtime .tfz-vessel-row{
    position:relative;
    display:grid;
    grid-template-columns:1.25fr .72fr .95fr 1fr;
    gap:14px;
    align-items:center;
    min-height:66px;
    padding:13px 16px 13px 18px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:13px;
    background:rgba(255,255,255,.045);
    transition:
        background-color .22s ease,
        border-color .22s ease,
        transform .22s ease;
}
html[dir="rtl"] .tfz-home-runtime .tfz-vessel-row{
    padding:13px 18px 13px 16px;
}

.tfz-home-runtime .tfz-vessel-row:hover{
    transform:translateY(-1px);
    border-color:rgba(255,255,255,.13);
    background:rgba(255,255,255,.065);
}

.tfz-home-runtime .tfz-vessel-row::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#38a3d6;
    box-shadow:0 0 0 5px rgba(56,163,214,.09);
    position:absolute;
    inset-inline-start:-4px;
    top:50%;
    transform:translateY(-50%);
}

.tfz-home-runtime .tfz-vessel-row strong{
    color:#fff;
    font-size:13px;
    line-height:1.5;
    font-weight:800;
}

.tfz-home-runtime .tfz-vessel-row > span:not(.tfz-status){
    color:#a9bdc9;
    font-size:13px;
    line-height:1.55;
}

/* statuses */
.tfz-home-runtime .tfz-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-height:27px;
    padding:0 10px;
    border-radius:999px;
    border:1px solid transparent;
    font-size:12px!important;
    font-weight:800;
    letter-spacing:.01em;
}

.tfz-home-runtime .tfz-status--expected{
    background:rgba(239,169,47,.13);
    border-color:rgba(239,169,47,.23);
    color:#f2bb5b!important;
}
.tfz-home-runtime .tfz-status--anchored{
    background:rgba(54,157,211,.12);
    border-color:rgba(54,157,211,.22);
    color:#7bc5e8!important;
}
.tfz-home-runtime .tfz-status--berthed{
    background:rgba(48,180,115,.12);
    border-color:rgba(48,180,115,.22);
    color:#79d5a6!important;
}
.tfz-home-runtime .tfz-status--departed{
    background:rgba(180,195,205,.10);
    border-color:rgba(180,195,205,.16);
    color:#bdcbd3!important;
}

/* Empty operations state */
.tfz-home-runtime .tfz-port-panel .tfz-empty{
    position:relative;
    margin-top:32px;
    min-height:118px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:34px 26px;
    border:1px dashed rgba(255,255,255,.14);
    border-radius:16px;
    background:rgba(255,255,255,.025);
    color:#8fa7b6;
    font-size:10px;
    text-align:center;
}
.tfz-home-runtime .tfz-port-panel .tfz-empty::before{
    content:"";
    width:10px;
    height:10px;
    margin-inline-end:10px;
    border-radius:50%;
    background:#efa92f;
    box-shadow:0 0 0 5px rgba(239,169,47,.08);
}

/* Responsive */
@media(max-width:900px){
    .tfz-home-runtime .tfz-port-panel > .wp-block-group__inner-container{
        padding:42px 34px 38px;
    }
    .tfz-home-runtime .tfz-port-panel::before{
        top:22px;
        inset-inline-end:26px;
    }
    .tfz-home-runtime .tfz-vessel-row{
        grid-template-columns:1.15fr .75fr 1fr;
    }
    .tfz-home-runtime .tfz-vessel-row > span:last-child{
        grid-column:1 / -1;
        padding-top:4px;
        border-top:1px solid rgba(255,255,255,.055);
    }
}

@media(max-width:700px){
    .tfz-home-runtime .tfz-section--dark:has(.tfz-port-panel){
        padding-top:68px;
        padding-bottom:74px;
    }
    .tfz-home-runtime .tfz-port-panel{
        border-radius:21px;
    }
    .tfz-home-runtime .tfz-port-panel > .wp-block-group__inner-container{
        padding:58px 22px 28px;
    }
    .tfz-home-runtime .tfz-port-panel::before{
        top:20px;
        inset-inline-start:22px;
        inset-inline-end:auto;
    }
    .tfz-home-runtime .tfz-port-panel h2{
        font-size:30px;
    }
    .tfz-home-runtime .tfz-port-panel > .wp-block-group__inner-container > p:not(.tfz-kicker){
        font-size:11px;
    }
    .tfz-home-runtime .tfz-vessel-board{
        margin-top:27px;
        padding-top:33px;
    }
    .tfz-home-runtime .tfz-vessel-row{
        grid-template-columns:1fr auto;
        gap:8px 12px;
        padding:15px 14px;
    }
    .tfz-home-runtime .tfz-vessel-row > span:not(.tfz-status){
        grid-column:1 / -1;
    }
    .tfz-home-runtime .tfz-vessel-row > span:last-child{
        padding-top:7px;
    }
    .tfz-home-runtime .tfz-port-panel .tfz-empty{
        min-height:105px;
        padding:26px 18px;
    }
}


/* ==========================================================
   v1.0.12 — Investment Opportunities polish
   Scoped only to the opportunities section immediately
   after the Port Operations section.
   ========================================================== */

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft{
    position:relative;
    overflow:hidden;
    padding-top:96px;
    padding-bottom:104px;
    background:#f5f8fa;
    border-top:0;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft::before{
    content:"";
    position:absolute;
    top:0;
    inset-inline-start:0;
    width:100%;
    height:1px;
    background:#e6edf1;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-section-title{
    max-width:780px;
    margin-bottom:40px;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-section-title
.tfz-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin:0 0 10px;
    color:#9a6a13;
    font-size:10px;
    font-weight:800;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-section-title
.tfz-kicker::before{
    content:"";
    width:30px;
    height:2px;
    border-radius:999px;
    background:var(--gold);
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-section-title h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(32px,3vw,46px);
    line-height:1.28;
    font-weight:800;
    letter-spacing:-.015em;
}

/* 4 opportunity cards on large screens */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

/* Opportunity card */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:100%;
    overflow:hidden;
    border:1px solid #dce6ec;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 30px rgba(7,27,45,.055);
    transform:none;
    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}

/* editorial number */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card::before{
    position:absolute;
    top:15px;
    inset-inline-start:16px;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:31px;
    height:24px;
    padding-inline:8px;
    border:1px solid rgba(255,255,255,.34);
    border-radius:999px;
    background:rgba(7,27,45,.72);
    color:#fff;
    backdrop-filter:blur(5px);
    font-size:8px;
    line-height:1;
    font-weight:800;
    letter-spacing:.08em;
}
.tfz-home-runtime .tfz-section--dark:has(.tfz-port-panel) + .tfz-section--soft .tfz-opportunities-grid .tfz-card:nth-child(1)::before{content:"01";}
.tfz-home-runtime .tfz-section--dark:has(.tfz-port-panel) + .tfz-section--soft .tfz-opportunities-grid .tfz-card:nth-child(2)::before{content:"02";}
.tfz-home-runtime .tfz-section--dark:has(.tfz-port-panel) + .tfz-section--soft .tfz-opportunities-grid .tfz-card:nth-child(3)::before{content:"03";}
.tfz-home-runtime .tfz-section--dark:has(.tfz-port-panel) + .tfz-section--soft .tfz-opportunities-grid .tfz-card:nth-child(4)::before{content:"04";}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:hover{
    transform:translateY(-7px);
    border-color:#cbdce5;
    box-shadow:0 22px 52px rgba(7,27,45,.105);
}

/* Image */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card__media{
    position:relative;
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#dce6ec;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card__media::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(7,27,45,0) 55%, rgba(7,27,45,.24) 100%);
    pointer-events:none;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:hover
.tfz-card__media img{
    transform:scale(1.045);
}

/* Content */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card__body{
    position:relative;
    display:flex;
    flex:1;
    flex-direction:column;
    padding:24px 22px 22px;
}

/* Status pill */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card__meta{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    min-height:26px;
    margin:0 0 14px;
    padding:0 10px;
    border:1px solid #d9e5eb;
    border-radius:999px;
    background:#f2f7fa;
    color:#55707f;
    font-size:12px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}

/* gold dot in meta */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card__meta::before{
    content:"";
    width:6px;
    height:6px;
    margin-inline-end:7px;
    border-radius:50%;
    background:var(--gold);
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card h3{
    margin:0 0 11px;
    color:var(--navy);
    font-size:16px;
    line-height:1.55;
    font-weight:800;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card h3 a{
    color:inherit;
    text-decoration:none;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card p{
    margin:0 0 20px;
    color:#697b87;
    font-size:14px;
    line-height:1.9;
}

/* Opportunity CTA link */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-text-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    margin-top:auto;
    padding-top:15px;
    border-top:1px solid #edf2f5;
    color:#0a6fae;
    font-size:14px;
    font-weight:800;
    text-decoration:none;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-text-link::after{
    content:"←";
    color:var(--gold);
    font-size:14px;
    line-height:1;
    transition:transform .2s ease;
}

html[dir="ltr"]
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-text-link::after{
    content:"→";
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-text-link:hover::after{
    transform:translateX(-3px);
}

html[dir="ltr"]
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-text-link:hover::after{
    transform:translateX(3px);
}

/* Empty state */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-empty{
    min-height:150px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px;
    border:1px dashed #cbd9e1;
    border-radius:18px;
    background:#fff;
    color:#718590;
    font-size:10px;
    text-align:center;
}

/* Responsive */
@media(max-width:1100px){
    .tfz-home-runtime
    .tfz-section--dark:has(.tfz-port-panel)
    + .tfz-section--soft
    .tfz-opportunities-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .tfz-home-runtime
    .tfz-section--dark:has(.tfz-port-panel)
    + .tfz-section--soft{
        padding-top:68px;
        padding-bottom:74px;
    }

    .tfz-home-runtime
    .tfz-section--dark:has(.tfz-port-panel)
    + .tfz-section--soft
    .tfz-section-title{
        margin-bottom:29px;
    }

    .tfz-home-runtime
    .tfz-section--dark:has(.tfz-port-panel)
    + .tfz-section--soft
    .tfz-opportunities-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .tfz-home-runtime
    .tfz-section--dark:has(.tfz-port-panel)
    + .tfz-section--soft
    .tfz-opportunities-grid
    .tfz-card{
        border-radius:17px;
    }

    .tfz-home-runtime
    .tfz-section--dark:has(.tfz-port-panel)
    + .tfz-section--soft
    .tfz-opportunities-grid
    .tfz-card__body{
        padding:21px 19px 20px;
    }
}


/* ==========================================================
   v1.0.13 — Opportunity cards: no-image layout + badge fix
   Scoped only to the homepage investment opportunities.
   ========================================================== */

/* Number always sits opposite the status badge. */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card::before{
    inset-inline-start:auto;
    inset-inline-end:16px;
}

/* Cards without a featured image become intentional text cards. */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:not(:has(.tfz-card__media)){
    min-height:285px;
    background:
        radial-gradient(circle at 88% 7%, rgba(10,111,174,.055) 0, rgba(10,111,174,0) 28%),
        #ffffff;
}

/* A compact institutional header area replaces the missing photo. */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:not(:has(.tfz-card__media))::after{
    content:"";
    position:absolute;
    top:22px;
    inset-inline-start:22px;
    width:42px;
    height:42px;
    border:1px solid #dbe7ed;
    border-radius:12px;
    background-color:#f3f8fb;
    background-repeat:no-repeat;
    background-position:center;
    background-size:21px 21px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16'/%3E%3Cpath d='M6 20V9l6-5 6 5v11'/%3E%3Cpath d='M9 12h6M9 16h6'/%3E%3C/svg%3E");
}

/* Reserve a compact header band, not a fake empty image area. */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:not(:has(.tfz-card__media))
.tfz-card__body{
    padding-top:82px;
}

/* Status badge stays on the content side and never collides with number. */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:not(:has(.tfz-card__media))
.tfz-card__meta{
    position:absolute;
    top:23px;
    inset-inline-start:76px;
    margin:0;
}

/* Stronger body rhythm for text-only cards. */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:not(:has(.tfz-card__media))
h3{
    margin-top:4px;
    margin-bottom:13px;
    font-size:17px;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:not(:has(.tfz-card__media))
p{
    margin-bottom:24px;
    font-size:14px;
    line-height:2;
}

/* Small gold signature at the lower edge of no-image cards. */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:not(:has(.tfz-card__media))
.tfz-card__body::after{
    content:"";
    position:absolute;
    inset-inline-end:22px;
    bottom:21px;
    width:28px;
    height:2px;
    border-radius:999px;
    background:var(--gold);
    opacity:.8;
}

/* When there IS an image, keep status in normal flow and number over image. */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:has(.tfz-card__media)
.tfz-card__meta{
    position:static;
}

/* Keep no-image card icon/status spacious on narrow layouts. */
@media(max-width:700px){
    .tfz-home-runtime
    .tfz-section--dark:has(.tfz-port-panel)
    + .tfz-section--soft
    .tfz-opportunities-grid
    .tfz-card:not(:has(.tfz-card__media)){
        min-height:0;
    }

    .tfz-home-runtime
    .tfz-section--dark:has(.tfz-port-panel)
    + .tfz-section--soft
    .tfz-opportunities-grid
    .tfz-card:not(:has(.tfz-card__media))
    .tfz-card__body{
        padding-top:78px;
    }

    .tfz-home-runtime
    .tfz-section--dark:has(.tfz-port-panel)
    + .tfz-section--soft
    .tfz-opportunities-grid
    .tfz-card:not(:has(.tfz-card__media))
    .tfz-card__meta{
        top:22px;
        inset-inline-start:71px;
    }
}


/* ==========================================================
   v1.0.14 — Investor Journey polish
   Scoped to .tfz-journey in the managed homepage.
   ========================================================== */

.tfz-home-runtime .tfz-journey{
    position:relative;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px!important;
    margin-top:38px;
    counter-reset:tfz-journey-step;
}

/* connecting route */
.tfz-home-runtime .tfz-journey::before{
    content:"";
    position:absolute;
    top:49px;
    inset-inline-start:9%;
    width:82%;
    height:2px;
    background:linear-gradient(90deg,#dce7ed 0%,#efa92f 50%,#dce7ed 100%);
    z-index:0;
}

.tfz-home-runtime .tfz-journey > *{
    position:relative;
    z-index:1;
    min-width:0;
}

/* Works whether each step is a column, group or direct block */
.tfz-home-runtime .tfz-journey > *{
    counter-increment:tfz-journey-step;
    min-height:245px;
    padding:78px 24px 25px;
    border:1px solid #dfe8ed;
    border-radius:19px;
    background:#fff;
    box-shadow:0 10px 30px rgba(7,27,45,.045);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.tfz-home-runtime .tfz-journey > *:hover{
    transform:translateY(-5px);
    border-color:#ccdae2;
    box-shadow:0 20px 46px rgba(7,27,45,.085);
}

/* numbered node */
.tfz-home-runtime .tfz-journey > *::before{
    content:"0" counter(tfz-journey-step);
    position:absolute;
    top:25px;
    inset-inline-start:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border:5px solid #f5f8fa;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
    box-shadow:0 0 0 1px #d9e5eb;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.05em;
}

/* small icon at opposite side */
.tfz-home-runtime .tfz-journey > *::after{
    content:"";
    position:absolute;
    top:34px;
    inset-inline-end:24px;
    width:29px;
    height:29px;
    background-repeat:no-repeat;
    background-position:center;
    background-size:24px 24px;
}

/* explore */
.tfz-home-runtime .tfz-journey > *:nth-child(1)::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m16 16 4 4'/%3E%3Cpath d='M11 8v6M8 11h6'/%3E%3C/svg%3E");
}

/* apply */
.tfz-home-runtime .tfz-journey > *:nth-child(2)::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l4 4v14H7z'/%3E%3Cpath d='M14 3v5h5M10 13h5M10 17h5'/%3E%3C/svg%3E");
}

/* review */
.tfz-home-runtime .tfz-journey > *:nth-child(3)::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3C/svg%3E");
}

/* launch */
.tfz-home-runtime .tfz-journey > *:nth-child(4)::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19h14M7 19v-8l5-4 5 4v8M10 14h4'/%3E%3C/svg%3E");
}

.tfz-home-runtime .tfz-journey h3{
    margin:0 0 11px;
    color:var(--navy);
    font-size:16px;
    line-height:1.55;
    font-weight:800;
}

.tfz-home-runtime .tfz-journey p{
    margin:0;
    color:#697b87;
    font-size:14px;
    line-height:1.95;
}

@media(max-width:950px){
    .tfz-home-runtime .tfz-journey{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tfz-home-runtime .tfz-journey::before{
        display:none;
    }
}

@media(max-width:700px){
    .tfz-home-runtime .tfz-journey{
        grid-template-columns:1fr;
        gap:13px!important;
        margin-top:28px;
    }

    .tfz-home-runtime .tfz-journey > *{
        min-height:0;
        padding:72px 21px 23px;
    }

    .tfz-home-runtime .tfz-journey > *::before{
        top:20px;
        inset-inline-start:21px;
        width:44px;
        height:44px;
    }

    .tfz-home-runtime .tfz-journey > *::after{
        top:29px;
        inset-inline-end:21px;
    }
}


/* ==========================================================
   v1.0.15 — Investor Journey CTA + Location polish
   ========================================================== */

/* ---------- Journey: real next action ---------- */
.tfz-home-runtime .tfz-journey-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin-top:24px;
    padding:24px 26px;
    border:1px solid #dce6ec;
    border-radius:18px;
    background:#f7fafb;
}

.tfz-home-runtime .tfz-journey-actions__lead{
    display:flex;
    flex-direction:column;
    gap:5px;
    min-width:0;
}

.tfz-home-runtime .tfz-journey-actions__eyebrow{
    color:#9a6a13;
    font-size:9px;
    line-height:1.4;
    font-weight:800;
}

.tfz-home-runtime .tfz-journey-actions__lead strong{
    color:var(--navy);
    font-size:14px;
    line-height:1.6;
    font-weight:800;
}

.tfz-home-runtime .tfz-journey-actions__buttons{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

.tfz-home-runtime .tfz-journey-actions .tfz-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:47px;
    padding:0 19px;
    border:1px solid transparent;
    border-radius:11px;
    font-size:9.5px;
    line-height:1.4;
    font-weight:800;
    text-decoration:none;
    transition:transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.tfz-home-runtime .tfz-journey-actions .tfz-btn--primary{
    background:var(--navy);
    border-color:var(--navy);
    color:#fff;
    box-shadow:0 10px 22px rgba(7,27,45,.10);
}

.tfz-home-runtime .tfz-journey-actions .tfz-btn--primary::after{
    content:"←";
    margin-inline-start:8px;
    color:var(--gold);
    font-size:13px;
}
html[dir="ltr"] .tfz-home-runtime .tfz-journey-actions .tfz-btn--primary::after{
    content:"→";
}

.tfz-home-runtime .tfz-journey-actions .tfz-btn--primary:hover{
    transform:translateY(-2px);
    background:#0a6fae;
    border-color:#0a6fae;
    box-shadow:0 14px 28px rgba(7,27,45,.14);
}

.tfz-home-runtime .tfz-journey-actions .tfz-btn--secondary{
    background:#fff;
    border-color:#d7e2e8;
    color:#315365;
}

.tfz-home-runtime .tfz-journey-actions .tfz-btn--secondary:hover{
    transform:translateY(-2px);
    border-color:#bcd0db;
    color:#0a6fae;
}

/* ---------- Next section: Location / Connectivity ---------- */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft{
    position:relative;
    overflow:hidden;
    padding-top:100px;
    padding-bottom:106px;
    background:#f4f7f9;
    border-top:1px solid #e7edf1;
    border-bottom:1px solid #e7edf1;
}

/* fallback when a cache/filter causes the CTA wrapper to be absent */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft{
    position:relative;
    overflow:hidden;
    padding-top:100px;
    padding-bottom:106px;
    background:#f4f7f9;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split,
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.tfz-split{
    display:grid!important;
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
    gap:72px!important;
    align-items:center!important;
}

/* Location text side */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child,
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child{
    position:relative;
    max-width:590px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-kicker,
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.tfz-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin:0 0 12px;
    color:#9a6a13;
    font-size:10px;
    font-weight:800;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-kicker::before,
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.tfz-kicker::before{
    content:"";
    width:31px;
    height:2px;
    border-radius:999px;
    background:var(--gold);
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
h2,
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
h2{
    max-width:560px;
    margin:0 0 19px;
    color:var(--navy);
    font-size:clamp(33px,3vw,46px);
    line-height:1.3;
    font-weight:800;
    letter-spacing:-.015em;
    text-wrap:balance;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child
> p:not(.tfz-kicker),
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child
> p:not(.tfz-kicker){
    max-width:555px;
    margin:0;
    color:#60727e;
    font-size:12px;
    line-height:2.05;
}

/* Three connectivity indicators derived from the location narrative */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child::after,
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child::after{
    content:"البحر المتوسط  •  مطار طبرق الدولي  •  شبكة الطرق الساحلية";
    display:block;
    max-width:540px;
    margin-top:27px;
    padding-top:18px;
    border-top:1px solid #dbe5ea;
    color:#315365;
    font-size:9.5px;
    line-height:1.8;
    font-weight:800;
}
html[dir="ltr"] .tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child::after,
html[dir="ltr"] .tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child::after{
    content:"Mediterranean Sea  •  Tobruk International Airport  •  Coastal Road Network";
}

/* Map / location image */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child,
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child{
    position:relative;
    padding:18px 18px 0 0;
}
html[dir="ltr"] .tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child,
html[dir="ltr"] .tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child{
    padding:18px 0 0 18px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.wp-block-image,
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.wp-block-image{
    position:relative;
    z-index:1;
    margin:0;
    overflow:hidden;
    border:1px solid #d6e1e7;
    border-radius:24px;
    background:#fff;
    box-shadow:0 24px 55px rgba(7,27,45,.11);
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.wp-block-image img,
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.wp-block-image img{
    display:block;
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
    border-radius:0;
}

/* Location badge */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::after,
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::after{
    content:"شرق ليبيا • البحر المتوسط";
    position:absolute;
    z-index:2;
    inset-inline-end:0;
    bottom:-14px;
    display:flex;
    align-items:center;
    min-height:42px;
    padding:0 16px;
    border-radius:11px;
    background:var(--navy);
    color:#fff;
    box-shadow:0 12px 26px rgba(7,27,45,.15);
    font-size:9px;
    font-weight:800;
}
html[dir="ltr"] .tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::after,
html[dir="ltr"] .tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::after{
    content:"EASTERN LIBYA • MEDITERRANEAN";
}

@media(max-width:950px){
    .tfz-home-runtime .tfz-journey-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .tfz-split,
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-section--soft
    .tfz-split{
        grid-template-columns:1fr 1fr;
        gap:42px!important;
    }
}

@media(max-width:700px){
    .tfz-home-runtime .tfz-journey-actions{
        margin-top:16px;
        padding:20px;
        border-radius:16px;
    }

    .tfz-home-runtime .tfz-journey-actions__buttons{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }

    .tfz-home-runtime .tfz-journey-actions .tfz-btn{
        width:100%;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft,
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-section--soft{
        padding-top:70px;
        padding-bottom:80px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .tfz-split,
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-section--soft
    .tfz-split{
        grid-template-columns:1fr;
        gap:35px!important;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    h2,
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-section--soft
    h2{
        font-size:31px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .tfz-split
    .wp-block-column:last-child,
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-section--soft
    .tfz-split
    .wp-block-column:last-child{
        padding:9px 9px 0 0;
    }
}


/* ==========================================================
   v1.0.16 — APPROVED 3D LOCATION DESIGN
   - Journey CTA is visually separated from Location
   - Old flat map is replaced visually by the approved 3D asset
   - Live title/description remain HTML and editable
   ========================================================== */

/* ---------- Journey CTA: its own standalone card ---------- */
.tfz-home-runtime .tfz-journey-actions{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:48px;
    margin-top:34px;
    margin-bottom:78px;
    padding:31px 34px;
    border:1px solid #dbe5eb;
    border-radius:20px;
    background:#ffffff;
    box-shadow:0 14px 36px rgba(7,27,45,.055);
}

.tfz-home-runtime .tfz-journey-actions::after{
    content:"";
    position:absolute;
    top:24px;
    bottom:24px;
    inset-inline-end:43%;
    width:1px;
    background:#e6edf1;
    pointer-events:none;
}

.tfz-home-runtime .tfz-journey-actions__lead{
    gap:4px;
    padding-inline-end:34px;
}

.tfz-home-runtime .tfz-journey-actions__eyebrow{
    color:#9a6a13;
    font-size:9px;
}

.tfz-home-runtime .tfz-journey-actions__lead strong{
    font-size:15px;
    line-height:1.55;
}

.tfz-home-runtime .tfz-journey-actions__desc{
    display:block;
    max-width:590px;
    margin-top:5px;
    color:#83939d;
    font-size:9.5px;
    line-height:1.75;
}

.tfz-home-runtime .tfz-journey-actions__buttons{
    gap:13px;
}

.tfz-home-runtime .tfz-journey-actions .tfz-btn{
    min-height:54px;
    padding:0 24px;
    border-radius:12px;
    font-size:10px;
}

.tfz-home-runtime .tfz-journey-actions .tfz-btn--primary{
    background:var(--gold);
    border-color:var(--gold);
    color:var(--navy);
    box-shadow:0 12px 28px rgba(239,169,47,.20);
}
.tfz-home-runtime .tfz-journey-actions .tfz-btn--primary::after{
    color:var(--navy);
}
.tfz-home-runtime .tfz-journey-actions .tfz-btn--primary:hover{
    background:#f4b847;
    border-color:#f4b847;
    color:var(--navy);
}

.tfz-home-runtime .tfz-journey-actions .tfz-btn--secondary{
    border:1.5px solid #cbd8df;
    color:var(--navy);
}

/* ---------- Location section: separate premium canvas ---------- */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft{
    margin-top:0;
    padding:0 0 105px;
    background:#ffffff;
    border:0;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
> .wp-block-group__inner-container{
    max-width:1540px;
    padding:58px 58px 54px;
    border:1px solid #dbe4e9;
    border-radius:27px;
    background:
        radial-gradient(circle at 8% 92%, rgba(239,169,47,.035), transparent 22%),
        radial-gradient(circle at 95% 8%, rgba(10,111,174,.035), transparent 22%),
        #fbfcfd;
    box-shadow:0 18px 48px rgba(7,27,45,.065);
}

/* Layout follows the approved concept: large visual + concise narrative. */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split{
    grid-template-columns:minmax(0,1.2fr) minmax(400px,.8fr)!important;
    gap:72px!important;
    align-items:center!important;
}

/* Keep Arabic text on the right and map on the left as currently rendered. */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child{
    max-width:610px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-kicker{
    color:#a96f13;
    margin-bottom:14px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
h2{
    max-width:570px;
    margin-bottom:22px;
    font-size:clamp(38px,3.25vw,54px);
    line-height:1.25;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child
> p:not(.tfz-kicker){
    max-width:565px;
    color:#667783;
    font-size:12px;
    line-height:2.05;
}

/* Stronger live connection summary under the paragraph. */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child::after{
    content:"البحر المتوسط   •   مطار طبرق الدولي   •   شبكة الطرق الساحلية";
    margin-top:30px;
    padding-top:20px;
    color:var(--navy);
    font-size:10px;
}
html[dir="ltr"] .tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child::after{
    content:"Mediterranean Sea   •   Tobruk International Airport   •   Coastal Road Network";
}

/* ---------- Replace old flat map with the approved 3D visual ---------- */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child{
    position:relative;
    padding:0;
}

/* Decorative compass echo, matching the concept. */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::before{
    content:"N";
    position:absolute;
    z-index:4;
    top:-19px;
    inset-inline-start:-18px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:76px;
    height:76px;
    border:1px solid rgba(169,111,19,.32);
    border-radius:50%;
    background:
        linear-gradient(45deg, transparent 48%, rgba(169,111,19,.45) 49%, rgba(169,111,19,.45) 51%, transparent 52%),
        linear-gradient(-45deg, transparent 48%, rgba(169,111,19,.45) 49%, rgba(169,111,19,.45) 51%, transparent 52%),
        #fff;
    color:#8f641e;
    box-shadow:0 8px 24px rgba(7,27,45,.10);
    font-family:Georgia,serif;
    font-size:10px;
    font-weight:700;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.wp-block-image{
    position:relative;
    width:100%;
    aspect-ratio:1.32/1;
    overflow:hidden;
    border:0;
    border-radius:30px;
    background:
        url("../images/tfz-location-3d.webp") center center / cover no-repeat;
    box-shadow:
        0 28px 65px rgba(7,27,45,.14),
        0 0 0 1px rgba(7,27,45,.045);
}

/* The old uploaded map remains in the DOM for accessibility/fallback,
   but is visually replaced by the new approved 3D asset. */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.wp-block-image img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    pointer-events:none;
}

/* Location chip over the map. */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::after{
    content:"طبرق • شرق ليبيا • البحر المتوسط";
    inset-inline-end:22px;
    bottom:22px;
    min-height:45px;
    padding:0 17px;
    border-radius:12px;
    background:rgba(7,27,45,.94);
    backdrop-filter:blur(7px);
}
html[dir="ltr"] .tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::after{
    content:"TOBRUK • EASTERN LIBYA • MEDITERRANEAN";
}

/* ---------- Responsive ---------- */
@media(max-width:1050px){
    .tfz-home-runtime .tfz-journey-actions{
        grid-template-columns:1fr;
        gap:22px;
        margin-bottom:58px;
    }

    .tfz-home-runtime .tfz-journey-actions::after{
        display:none;
    }

    .tfz-home-runtime .tfz-journey-actions__lead{
        padding-inline-end:0;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .tfz-split{
        grid-template-columns:1fr 1fr!important;
        gap:42px!important;
    }
}

@media(max-width:700px){
    .tfz-home-runtime .tfz-journey-actions{
        margin-top:20px;
        margin-bottom:44px;
        padding:22px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft{
        padding-bottom:72px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    > .wp-block-group__inner-container{
        padding:33px 20px 39px;
        border-radius:21px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .tfz-split{
        grid-template-columns:1fr!important;
        gap:36px!important;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    h2{
        font-size:33px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .wp-block-image{
        aspect-ratio:1.08/1;
        border-radius:22px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .tfz-split
    .wp-block-column:last-child::before{
        width:58px;
        height:58px;
        top:-13px;
        inset-inline-start:-7px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .tfz-split
    .wp-block-column:last-child::after{
        inset-inline-end:12px;
        bottom:12px;
        font-size:8px;
    }
}


/* ==========================================================
   v1.0.17 — LOCATION SCALE + NEWS SECTION POLISH
   - Enlarges location canvas and 3D map
   - Adds stronger separation before news
   - Polishes latest news section on homepage
   ========================================================== */

/* Give the action card and map section more breathing room */
.tfz-home-runtime .tfz-journey-actions{
    margin-bottom: 96px;
    padding: 34px 38px;
}

.tfz-home-runtime .tfz-journey-actions .tfz-btn{
    min-width: 240px;
}

/* Larger premium location section */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft{
    padding: 0 0 136px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
> .wp-block-group__inner-container{
    max-width: 1660px;
    padding: 72px 72px 68px;
    border-radius: 30px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split{
    grid-template-columns: minmax(760px,1.34fr) minmax(420px,.66fr)!important;
    gap: 88px!important;
    align-items: center!important;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child{
    max-width: 620px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
h2{
    font-size: clamp(44px,3.8vw,68px);
    line-height: 1.12;
    margin-bottom: 24px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child
> p:not(.tfz-kicker){
    max-width: 600px;
    font-size: 14px;
    line-height: 2.05;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child::after{
    margin-top: 34px;
    padding-top: 22px;
    font-size: 11px;
}

/* Bigger map and stronger presence */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.wp-block-image{
    aspect-ratio: 1.42 / 1;
    border-radius: 34px;
    box-shadow:
        0 32px 72px rgba(7,27,45,.16),
        0 0 0 1px rgba(7,27,45,.05);
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::before{
    top: -28px;
    inset-inline-start: -26px;
    width: 92px;
    height: 92px;
    font-size: 11px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::after{
    bottom: 26px;
    inset-inline-end: 26px;
    min-height: 50px;
    padding: 0 19px;
    border-radius: 14px;
    font-size: 9px;
}

/* Strong visible separation before the news section */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
+ .tfz-section{
    margin-top: 18px;
    padding-top: 98px;
    position: relative;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
+ .tfz-section::before{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(calc(100% - 88px), 1520px);
    height: 1px;
    background: linear-gradient(90deg, transparent, #d8e1e7 12%, #d8e1e7 88%, transparent);
}

/* Polished Latest News section */
.tfz-home-runtime .tfz-section:has(.tfz-news-grid){
    background: #f7f9fb;
    padding: 102px 0 108px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) > .wp-block-group__inner-container{
    width: min(calc(100% - 48px), 1560px);
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-section-head{
    margin-bottom: 34px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-section-head h2,
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) > .wp-block-group__inner-container > h2{
    font-size: clamp(38px,3vw,56px);
    line-height: 1.15;
    margin-bottom: 14px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-kicker{
    color: #758898;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-news-grid{
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 26px;
    margin-top: 10px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-news-card,
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card{
    position: relative;
    border: 1px solid #d8e2e8;
    border-radius: 24px;
    background: linear-gradient(180deg,#ffffff 0%, #fbfcfd 100%);
    box-shadow: 0 16px 42px rgba(7,27,45,.06);
    overflow: hidden;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card::after{
    content: "";
    position: absolute;
    inset-inline-start: 24px;
    inset-inline-end: 24px;
    bottom: 0;
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, var(--gold), #edc063 50%, transparent 50%);
    opacity: .95;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card__media{
    aspect-ratio: 16/10;
    background: #dfe8ee;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card__body{
    padding: 24px 24px 28px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card__meta{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #eef4f8;
    color: var(--navy);
    font-size: 12px;
    margin-bottom: 12px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card h2,
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card h3{
    font-size: 23px;
    line-height: 1.45;
    margin-bottom: 12px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card p{
    font-size: 14px;
    line-height: 1.9;
    color: #657683;
    margin-bottom: 18px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-text-link{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--blue);
    font-weight: 800;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-text-link::after{
    content: "←";
    color: var(--gold);
    font-size: 12px;
    transform: translateY(-1px);
}
html[dir="ltr"] .tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-text-link::after{
    content: "→";
}

@media(max-width:1200px){
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .tfz-split{
        grid-template-columns: minmax(0,1fr) minmax(360px,.84fr)!important;
        gap: 48px!important;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-news-grid{
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media(max-width:900px){
    .tfz-home-runtime .tfz-journey-actions{
        margin-bottom: 64px;
    }
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft{
        padding-bottom: 86px;
    }
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    > .wp-block-group__inner-container{
        padding: 42px 28px 44px;
    }
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .tfz-split{
        grid-template-columns: 1fr!important;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid){
        padding: 80px 0 86px;
    }
}

@media(max-width:700px){
    .tfz-home-runtime .tfz-journey-actions .tfz-btn{
        min-width: 0;
        width: 100%;
    }
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    > .wp-block-group__inner-container{
        padding: 28px 18px 34px;
        border-radius: 22px;
    }
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    h2{
        font-size: 36px;
    }
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .wp-block-image{
        aspect-ratio: 1.08/1;
        border-radius: 24px;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-news-grid{
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card__body{
        padding: 20px 18px 24px;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card h2,
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card h3{
        font-size: 20px;
    }
}


/* ==========================================================
   v1.0.18 — LOCATION MAP FINAL
   ========================================================== */

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split{
    grid-template-columns:minmax(390px,.72fr) minmax(820px,1.28fr)!important;
    gap:68px!important;
    align-items:center!important;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:first-child{
    max-width:540px!important;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
h2{
    max-width:520px!important;
    font-size:clamp(42px,3.45vw,61px)!important;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child{
    width:100%;
    min-width:0;
    padding:0!important;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.wp-block-image{
    width:100%!important;
    max-width:none!important;
    min-height:590px;
    aspect-ratio:1.34/1!important;
    border-radius:32px!important;
    background-position:center center!important;
    background-size:cover!important;
    box-shadow:0 34px 76px rgba(7,27,45,.17),0 0 0 1px rgba(7,27,45,.045)!important;
}

/* Remove the unwanted X/compass overlay completely */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::before{
    content:none!important;
    display:none!important;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split
.wp-block-column:last-child::after{
    inset-inline-end:24px!important;
    bottom:24px!important;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
> .wp-block-group__inner-container{
    max-width:1720px!important;
    padding:64px 64px 62px!important;
}

@media(max-width:1250px){
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .tfz-split{
        grid-template-columns:minmax(340px,.82fr) minmax(620px,1.18fr)!important;
        gap:48px!important;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .wp-block-image{
        min-height:500px;
    }
}

@media(max-width:950px){
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .tfz-split{
        grid-template-columns:1fr!important;
        gap:38px!important;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .wp-block-image{
        min-height:0;
        aspect-ratio:1.34/1!important;
    }
}

@media(max-width:700px){
    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    > .wp-block-group__inner-container{
        padding:27px 16px 32px!important;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    .wp-block-image{
        aspect-ratio:1.05/1!important;
        border-radius:22px!important;
    }
}


/* ==========================================================
   v1.0.19 — HOMEPAGE FINAL
   News + Branches + Final CTA + Footer + responsive refinement
   ========================================================== */

/* ---------- Shared section closing rhythm ---------- */
.tfz-home-runtime .tfz-listing-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
    margin-top:28px;
}
html[dir="ltr"] .tfz-home-runtime .tfz-listing-actions{
    justify-content:flex-start;
}
.tfz-home-runtime .tfz-listing-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    border:1px solid #d4dfe5;
    border-radius:11px;
    background:#fff;
    color:var(--navy);
    font-size:9.5px;
    font-weight:800;
    box-shadow:0 8px 20px rgba(7,27,45,.035);
    transition:transform .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.tfz-home-runtime .tfz-listing-actions a::after{
    content:"←";
    margin-inline-start:9px;
    color:var(--gold);
    font-size:13px;
}
html[dir="ltr"] .tfz-home-runtime .tfz-listing-actions a::after{
    content:"→";
}
.tfz-home-runtime .tfz-listing-actions a:hover{
    transform:translateY(-2px);
    border-color:#b9ccd7;
    color:var(--blue);
    box-shadow:0 12px 27px rgba(7,27,45,.07);
}

/* ==========================================================
   NEWS — editorial/media-center layout
   Exact homepage news section immediately after Location.
   ========================================================== */
.tfz-home-runtime .tfz-section:has(.tfz-news-grid){
    position:relative;
    overflow:hidden;
    margin-top:92px;
    padding:102px 0 112px;
    background:#f6f8fa;
    border-top:1px solid #dfe7ec;
    border-bottom:1px solid #e3eaee;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid)::before{
    content:"";
    position:absolute;
    width:340px;
    height:340px;
    inset-inline-end:-145px;
    top:-165px;
    border:1px solid rgba(10,111,174,.07);
    border-radius:50%;
    box-shadow:
        0 0 0 52px rgba(10,111,174,.018),
        0 0 0 104px rgba(10,111,174,.012);
    pointer-events:none;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) > .wp-block-group__inner-container{
    position:relative;
    z-index:1;
    width:min(calc(100% - 56px),1560px);
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-section-title{
    max-width:760px;
    margin-bottom:42px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-section-title .tfz-kicker{
    color:#738797;
    font-size:10px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-section-title h2{
    margin-top:10px;
    font-size:clamp(38px,3.2vw,56px);
    letter-spacing:-.018em;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-news-grid{
    display:grid!important;
    grid-template-columns:1.12fr .94fr .94fr;
    gap:24px!important;
    align-items:stretch;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:100%;
    overflow:hidden;
    border:1px solid #d8e2e8;
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 38px rgba(7,27,45,.055);
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card:hover{
    transform:translateY(-6px);
    border-color:#c6d7e0;
    box-shadow:0 24px 55px rgba(7,27,45,.10);
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card::after{
    content:"";
    position:absolute;
    inset-inline-start:22px;
    bottom:0;
    width:42px;
    height:3px;
    border-radius:999px 999px 0 0;
    background:var(--gold);
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card__media{
    position:relative;
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#dfe7ec;
}
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card:first-child .tfz-card__media{
    aspect-ratio:16/9;
}
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card__media::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 58%,rgba(7,27,45,.22) 100%);
    pointer-events:none;
}
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card__media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* No-featured-image news remains intentional, not empty. */
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card:not(:has(.tfz-card__media))::before{
    content:"";
    display:block;
    height:126px;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v14H4z'/%3E%3Cpath d='M8 9h4M8 13h8M8 17h6M15 8h2v3h-2z'/%3E%3C/svg%3E") center / 42px 42px no-repeat,
        radial-gradient(circle at 72% 20%,rgba(10,111,174,.07),transparent 25%),
        #eef4f7;
    border-bottom:1px solid #e1e9ee;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:23px 22px 25px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card__meta{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    min-height:26px;
    margin:0 0 13px;
    padding:0 10px;
    border:1px solid #dbe6ec;
    border-radius:999px;
    background:#f2f6f8;
    color:#607784;
    font-size:12px;
    font-weight:800;
}
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card__meta::before{
    content:"";
    width:6px;
    height:6px;
    margin-inline-end:7px;
    border-radius:50%;
    background:var(--gold);
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card h3{
    margin:0 0 10px;
    color:var(--navy);
    font-size:18px;
    line-height:1.55;
}
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card:first-child h3{
    font-size:20px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card h3 a{
    color:inherit;
}
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card p{
    margin:0 0 18px;
    color:#6a7c88;
    font-size:14px;
    line-height:1.95;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-text-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    margin-top:auto;
    color:#0a6fae;
    font-size:14px;
    font-weight:800;
}
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-text-link::after{
    content:"←";
    color:var(--gold);
    font-size:13px;
}
html[dir="ltr"] .tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-text-link::after{
    content:"→";
}

/* ==========================================================
   BRANCHES — TFZ network cards
   ========================================================== */
.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid){
    position:relative;
    overflow:hidden;
    padding:102px 0 110px;
    background:#fff;
    border-bottom:1px solid #e4ebef;
}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) > .wp-block-group__inner-container{
    width:min(calc(100% - 56px),1560px);
}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-section-title{
    max-width:760px;
    margin-bottom:40px;
}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-section-title h2{
    font-size:clamp(36px,3vw,52px);
}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branches-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px!important;
}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card{
    position:relative;
    min-height:250px;
    overflow:hidden;
    padding:82px 25px 25px;
    border:1px solid #dce5ea;
    border-radius:20px;
    background:
        radial-gradient(circle at 92% 10%,rgba(10,111,174,.045),transparent 27%),
        #fff;
    box-shadow:0 12px 34px rgba(7,27,45,.045);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card:hover{
    transform:translateY(-5px);
    border-color:#c8d7df;
    box-shadow:0 20px 48px rgba(7,27,45,.09);
}

/* Location icon */
.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card::before{
    content:"";
    position:absolute;
    top:23px;
    inset-inline-start:24px;
    width:43px;
    height:43px;
    border:1px solid #d9e5eb;
    border-radius:12px;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center / 21px 21px no-repeat,
        #f3f8fb;
}

/* Editorial branch numbering */
.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card::after{
    position:absolute;
    top:31px;
    inset-inline-end:24px;
    color:#8da1ae;
    font-size:9px;
    font-weight:800;
    letter-spacing:.10em;
}
.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card:nth-child(1)::after{content:"01";}
.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card:nth-child(2)::after{content:"02";}
.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card:nth-child(3)::after{content:"03";}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card h3{
    margin:0 0 13px;
    color:var(--navy);
    font-size:17px;
    line-height:1.5;
}
.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card h3 a{
    color:inherit;
}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card p{
    margin:0 0 9px;
    color:#6c7d88;
    font-size:14px;
    line-height:1.85;
}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card .tfz-text-link{
    position:absolute;
    inset-inline-start:25px;
    bottom:23px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#0a6fae;
    font-size:14px;
    font-weight:800;
}
.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card .tfz-text-link::after{
    content:"←";
    color:var(--gold);
    font-size:13px;
}
html[dir="ltr"] .tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card .tfz-text-link::after{
    content:"→";
}

/* ==========================================================
   FINAL CTA — clear conversion point before footer
   ========================================================== */
.tfz-home-runtime .tfz-cta{
    position:relative;
    isolation:isolate;
    width:min(calc(100% - 56px),1560px)!important;
    margin:84px auto 92px!important;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    background:#071b2d;
    box-shadow:0 30px 70px rgba(7,27,45,.16);
}

.tfz-home-runtime .tfz-cta::before{
    content:"";
    position:absolute;
    z-index:-1;
    width:370px;
    height:370px;
    inset-inline-end:-135px;
    top:-165px;
    border:1px solid rgba(239,169,47,.20);
    border-radius:50%;
    box-shadow:
        0 0 0 48px rgba(239,169,47,.035),
        0 0 0 96px rgba(239,169,47,.018);
}
.tfz-home-runtime .tfz-cta::after{
    content:"";
    position:absolute;
    top:0;
    inset-inline-start:0;
    width:100%;
    height:4px;
    background:var(--gold);
}

.tfz-home-runtime .tfz-cta > .wp-block-group__inner-container{
    padding:58px 62px;
}

.tfz-home-runtime .tfz-cta .wp-block-columns{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 280px;
    gap:56px!important;
    align-items:center!important;
    margin:0!important;
}

.tfz-home-runtime .tfz-cta h2{
    max-width:760px;
    margin:0 0 12px;
    color:#fff;
    font-size:clamp(32px,3vw,48px);
    line-height:1.3;
}
.tfz-home-runtime .tfz-cta p{
    max-width:700px;
    color:#b5c6d1;
    font-size:12px;
    line-height:1.95;
}

.tfz-home-runtime .tfz-cta .wp-block-column[style]{
    flex-basis:auto!important;
}

.tfz-home-runtime .tfz-cta .wp-block-buttons{
    justify-content:flex-end;
}
.tfz-home-runtime .tfz-cta .wp-block-button__link{
    width:100%;
    min-height:56px;
    border-radius:13px!important;
    background:var(--gold)!important;
    border-color:var(--gold)!important;
    color:var(--navy)!important;
    box-shadow:0 14px 32px rgba(239,169,47,.20);
    transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.tfz-home-runtime .tfz-cta .wp-block-button__link::after{
    content:"←";
    margin-inline-start:9px;
    font-size:14px;
}
html[dir="ltr"] .tfz-home-runtime .tfz-cta .wp-block-button__link::after{
    content:"→";
}
.tfz-home-runtime .tfz-cta .wp-block-button__link:hover{
    transform:translateY(-2px);
    background:#f4b847!important;
    box-shadow:0 18px 38px rgba(239,169,47,.28);
}

/* ==========================================================
   FOOTER — official institutional finish
   ========================================================== */
.tfz-footer{
    position:relative;
    overflow:hidden;
    padding:78px 0 0;
    background:#041522;
    color:#aebfca;
    border-top:1px solid rgba(255,255,255,.05);
}

.tfz-footer::before{
    content:"";
    position:absolute;
    width:410px;
    height:410px;
    inset-inline-start:-190px;
    bottom:-230px;
    border:1px solid rgba(255,255,255,.025);
    border-radius:50%;
    box-shadow:
        0 0 0 55px rgba(255,255,255,.012),
        0 0 0 110px rgba(255,255,255,.007);
    pointer-events:none;
}

.tfz-footer .tfz-container{
    position:relative;
    z-index:1;
    width:min(calc(100% - 56px),1560px);
}

.tfz-footer__grid{
    display:grid;
    grid-template-columns:1.45fr .75fr .9fr 1fr;
    gap:52px;
}

.tfz-footer-brand{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:20px;
}
.tfz-footer-brand__logo{
    display:flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    flex:0 0 64px;
    padding:7px;
    border-radius:15px;
    background:#fff;
    box-shadow:0 10px 26px rgba(0,0,0,.16);
}
.tfz-footer-brand__img{
    display:block;
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
}
.tfz-footer-brand__name{
    display:flex;
    flex-direction:column;
    line-height:1.35;
}
.tfz-footer-brand__name strong{
    color:#fff;
    font-size:16px;
    font-weight:800;
}
.tfz-footer-brand__name small{
    margin-top:4px;
    color:#6e8797;
    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
}
html[dir="rtl"] .tfz-footer-brand__name small{
    letter-spacing:0;
}

.tfz-footer__about > p{
    max-width:390px;
    margin:0 0 22px;
    color:#9fb1bd;
    font-size:14px;
    line-height:1.95;
}

.tfz-footer .tfz-btn--light{
    min-height:45px;
    padding:0 17px!important;
    border:1px solid rgba(255,255,255,.15);
    border-radius:11px;
    background:rgba(255,255,255,.07);
    color:#fff;
    font-size:14px!important;
}
.tfz-footer .tfz-btn--light:hover{
    background:#fff;
    color:var(--navy);
}

.tfz-footer h3{
    position:relative;
    margin:4px 0 22px;
    padding-bottom:12px;
    color:#fff;
    font-size:14px;
}
.tfz-footer h3::after{
    content:"";
    position:absolute;
    bottom:0;
    inset-inline-start:0;
    width:29px;
    height:2px;
    border-radius:999px;
    background:var(--gold);
}

.tfz-footer-menu li,
.tfz-contact-list li{
    margin:10px 0;
    color:#9fb1bd;
    font-size:13px;
    line-height:1.8;
}

.tfz-footer-menu a{
    transition:color .2s ease,transform .2s ease;
}
.tfz-footer-menu a::before{
    content:"›";
    display:inline-block;
    margin-inline-end:7px;
    color:#6c8798;
}
html[dir="rtl"] .tfz-footer-menu a::before{
    content:"‹";
}
.tfz-footer-menu a:hover{
    color:#fff;
}

.tfz-contact-list li{
    position:relative;
    padding-inline-start:21px;
}
.tfz-contact-list li::before{
    content:"";
    position:absolute;
    inset-inline-start:0;
    top:.72em;
    width:7px;
    height:7px;
    border:1px solid #7d98aa;
    border-radius:50%;
}

.tfz-footer__bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-top:58px;
    padding:22px 0;
    border-top:1px solid rgba(255,255,255,.08);
    color:#718796;
    font-size:12px;
}

/* ---------- Empty states across final homepage sections ---------- */
.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-empty,
.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-empty{
    min-height:150px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px dashed #cbd9e1;
    border-radius:18px;
    background:#fff;
    color:#72858f;
    font-size:10px;
}

/* ---------- Responsive final pass ---------- */
@media(max-width:1150px){
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-news-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branches-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tfz-home-runtime .tfz-cta .wp-block-columns{
        grid-template-columns:minmax(0,1fr) 240px;
        gap:35px!important;
    }
    .tfz-footer__grid{
        grid-template-columns:1.2fr 1fr 1fr;
    }
    .tfz-footer__about{
        grid-column:1/-1;
        padding-bottom:8px;
    }
}

@media(max-width:800px){
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid),
    .tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid){
        padding:78px 0 84px;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid){
        margin-top:58px;
    }
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-news-grid,
    .tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branches-grid{
        grid-template-columns:1fr;
        gap:16px!important;
    }
    .tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card{
        min-height:230px;
    }
    .tfz-home-runtime .tfz-cta{
        margin:62px auto 72px!important;
    }
    .tfz-home-runtime .tfz-cta > .wp-block-group__inner-container{
        padding:42px 32px;
    }
    .tfz-home-runtime .tfz-cta .wp-block-columns{
        grid-template-columns:1fr;
        gap:24px!important;
    }
    .tfz-home-runtime .tfz-cta .wp-block-buttons{
        justify-content:flex-start;
    }
    .tfz-home-runtime .tfz-cta .wp-block-button__link{
        width:auto;
        min-width:220px;
    }
    .tfz-footer__grid{
        grid-template-columns:1fr 1fr;
        gap:38px 28px;
    }
    .tfz-footer__about{
        grid-column:1/-1;
    }
}

@media(max-width:600px){
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid) > .wp-block-group__inner-container,
    .tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) > .wp-block-group__inner-container,
    .tfz-footer .tfz-container{
        width:min(calc(100% - 28px),1560px);
    }
    .tfz-home-runtime .tfz-listing-actions{
        justify-content:stretch;
    }
    .tfz-home-runtime .tfz-listing-actions a{
        width:100%;
    }
    .tfz-home-runtime .tfz-cta{
        width:min(calc(100% - 28px),1560px)!important;
        border-radius:22px;
    }
    .tfz-home-runtime .tfz-cta > .wp-block-group__inner-container{
        padding:34px 22px;
    }
    .tfz-home-runtime .tfz-cta h2{
        font-size:29px;
    }
    .tfz-home-runtime .tfz-cta .wp-block-button__link{
        width:100%;
        min-width:0;
    }
    .tfz-footer{
        padding-top:60px;
    }
    .tfz-footer__grid{
        grid-template-columns:1fr;
        gap:34px;
    }
    .tfz-footer__about{
        grid-column:auto;
    }
    .tfz-footer-brand__logo{
        width:56px;
        height:56px;
        flex-basis:56px;
    }
    .tfz-footer-brand__name strong{
        font-size:14px;
    }
    .tfz-footer__bottom{
        display:grid;
        grid-template-columns:1fr;
        gap:4px;
        margin-top:42px;
    }
}


/* ==========================================================
   v1.0.20 — HOMEPAGE COMPACT RHYTHM
   Goal: shorten the homepage without changing its visual identity.
   ========================================================== */

/* ---------- Global homepage section rhythm ---------- */
.tfz-home-runtime .tfz-section{
    padding-top:72px;
    padding-bottom:72px;
}

.tfz-home-runtime .tfz-section-title{
    margin-bottom:30px;
}

.tfz-home-runtime .tfz-section-title h2{
    margin-bottom:10px;
}

/* ---------- Why TFZ ---------- */
.tfz-home-runtime .tfz-section:has(.tfz-feature-card){
    padding-top:72px;
    padding-bottom:76px;
}

.tfz-home-runtime .tfz-section:has(.tfz-feature-card) .tfz-section-title{
    margin-bottom:30px;
}

.tfz-home-runtime .tfz-feature-card{
    min-height:238px;
    padding:26px 22px 22px;
}

.tfz-home-runtime .tfz-feature-card::before{
    margin-bottom:22px;
}

/* ---------- Strategic Gateway ---------- */
.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft{
    padding-top:74px;
    padding-bottom:78px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-feature-card)
+ .tfz-section--soft
.tfz-split{
    gap:58px!important;
}

/* ---------- Business platform / metrics ---------- */
.tfz-home-runtime .tfz-section:has(.tfz-metrics){
    padding-top:68px;
    padding-bottom:72px;
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-section-title{
    margin-bottom:26px;
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric{
    min-height:160px;
    padding:28px 26px 25px;
}

.tfz-home-runtime .tfz-section:has(.tfz-metrics) .tfz-metric::before{
    margin-bottom:17px;
}

/* ---------- Port ---------- */
.tfz-home-runtime .tfz-section--dark:has(.tfz-port-panel){
    padding-top:72px;
    padding-bottom:76px;
}

.tfz-home-runtime .tfz-port-panel > .wp-block-group__inner-container{
    padding:42px 42px 38px;
}

.tfz-home-runtime .tfz-vessel-board{
    margin-top:26px;
}

/* ---------- Opportunities ---------- */
.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft{
    padding-top:72px;
    padding-bottom:76px;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-section-title{
    margin-bottom:28px;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:not(:has(.tfz-card__media)){
    min-height:248px;
}

.tfz-home-runtime
.tfz-section--dark:has(.tfz-port-panel)
+ .tfz-section--soft
.tfz-opportunities-grid
.tfz-card:not(:has(.tfz-card__media))
.tfz-card__body{
    padding-top:74px;
}

/* ---------- Investor Journey ---------- */
.tfz-home-runtime .tfz-section:has(.tfz-journey){
    padding-top:70px;
    padding-bottom:68px;
}

.tfz-home-runtime .tfz-journey{
    margin-top:28px;
}

.tfz-home-runtime .tfz-journey > *{
    min-height:220px;
    padding:72px 22px 22px;
}

/* Journey actions: tighter and clearly separate */
.tfz-home-runtime .tfz-journey-actions{
    margin-top:22px;
    margin-bottom:58px;
    padding:26px 30px;
}

/* ---------- Location ---------- */
.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft{
    padding-bottom:82px;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
> .wp-block-group__inner-container{
    padding-top:52px!important;
    padding-bottom:52px!important;
}

.tfz-home-runtime
.tfz-section:has(.tfz-journey)
+ .tfz-journey-actions
+ .tfz-section--soft
.tfz-split{
    gap:54px!important;
}

/* ---------- News ---------- */
.tfz-home-runtime .tfz-section:has(.tfz-news-grid){
    margin-top:42px;
    padding-top:72px;
    padding-bottom:76px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-section-title{
    margin-bottom:28px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-card__body{
    padding:20px 20px 22px;
}

.tfz-home-runtime .tfz-section:has(.tfz-news-grid) .tfz-listing-actions{
    margin-top:20px;
}

/* When there is only one news item, avoid a huge empty visual field. */
.tfz-home-runtime .tfz-news-grid:has(> .tfz-card:only-child){
    grid-template-columns:minmax(320px,560px)!important;
    justify-content:start;
}
html[dir="rtl"] .tfz-home-runtime .tfz-news-grid:has(> .tfz-card:only-child){
    justify-content:end;
}

/* ---------- Branches ---------- */
.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid){
    padding-top:72px;
    padding-bottom:76px;
}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-section-title{
    margin-bottom:28px;
}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-branch-card{
    min-height:220px;
    padding-top:72px;
}

.tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid) .tfz-listing-actions{
    margin-top:20px;
}

/* Two branches should form a compact centered pair instead of leaving a huge field. */
.tfz-home-runtime .tfz-branches-grid:has(> .tfz-branch-card:nth-child(2):last-child){
    grid-template-columns:repeat(2,minmax(300px,440px))!important;
    justify-content:start;
}
html[dir="rtl"] .tfz-home-runtime .tfz-branches-grid:has(> .tfz-branch-card:nth-child(2):last-child){
    justify-content:end;
}

/* ---------- Final CTA ---------- */
.tfz-home-runtime .tfz-cta{
    margin-top:56px!important;
    margin-bottom:58px!important;
}

.tfz-home-runtime .tfz-cta > .wp-block-group__inner-container{
    padding:44px 50px;
}

/* ---------- Footer ---------- */
.tfz-footer{
    padding-top:60px;
}

.tfz-footer__grid{
    gap:40px;
}

.tfz-footer__bottom{
    margin-top:42px;
}

/* ---------- Compact tablet ---------- */
@media(max-width:1000px){
    .tfz-home-runtime .tfz-section{
        padding-top:62px;
        padding-bottom:62px;
    }

    .tfz-home-runtime .tfz-journey-actions{
        margin-bottom:48px;
    }

    .tfz-home-runtime .tfz-news-grid:has(> .tfz-card:only-child),
    .tfz-home-runtime .tfz-branches-grid:has(> .tfz-branch-card:nth-child(2):last-child){
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .tfz-home-runtime .tfz-news-grid:has(> .tfz-card:only-child){
        grid-template-columns:minmax(300px,560px)!important;
    }
}

/* ---------- Compact mobile ---------- */
@media(max-width:700px){
    .tfz-home-runtime .tfz-section{
        padding-top:52px;
        padding-bottom:52px;
    }

    .tfz-home-runtime .tfz-section-title{
        margin-bottom:22px;
    }

    .tfz-home-runtime .tfz-section:has(.tfz-feature-card),
    .tfz-home-runtime .tfz-section--dark:has(.tfz-port-panel),
    .tfz-home-runtime
    .tfz-section--dark:has(.tfz-port-panel)
    + .tfz-section--soft,
    .tfz-home-runtime .tfz-section:has(.tfz-news-grid),
    .tfz-home-runtime .tfz-section--soft:has(.tfz-branches-grid){
        padding-top:54px;
        padding-bottom:56px;
    }

    .tfz-home-runtime .tfz-feature-card{
        padding-top:22px;
        padding-bottom:38px;
    }

    .tfz-home-runtime .tfz-journey > *{
        padding-top:68px;
        padding-bottom:20px;
    }

    .tfz-home-runtime .tfz-journey-actions{
        margin-bottom:38px;
        padding:20px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft{
        padding-bottom:58px;
    }

    .tfz-home-runtime
    .tfz-section:has(.tfz-journey)
    + .tfz-journey-actions
    + .tfz-section--soft
    > .wp-block-group__inner-container{
        padding-top:28px!important;
        padding-bottom:32px!important;
    }

    .tfz-home-runtime .tfz-section:has(.tfz-news-grid){
        margin-top:26px;
    }

    .tfz-home-runtime .tfz-news-grid:has(> .tfz-card:only-child),
    .tfz-home-runtime .tfz-branches-grid:has(> .tfz-branch-card:nth-child(2):last-child){
        grid-template-columns:1fr!important;
    }

    .tfz-home-runtime .tfz-cta{
        margin-top:42px!important;
        margin-bottom:44px!important;
    }

    .tfz-home-runtime .tfz-cta > .wp-block-group__inner-container{
        padding:30px 22px;
    }

    .tfz-footer{
        padding-top:48px;
    }
}


/* ==========================================================
   v1.0.21 — Investor Journey title collision FIX
   ========================================================== */

/* Reserve a guaranteed title lane below the numbered node.
   This fixes Arabic RTL titles touching/overlapping the 01–04 circle. */
.tfz-home-runtime .tfz-journey > *{
    padding-top:102px!important;
    min-height:220px;
}

.tfz-home-runtime .tfz-journey > *::before{
    top:22px!important;
}

.tfz-home-runtime .tfz-journey > *::after{
    top:32px!important;
}

.tfz-home-runtime .tfz-journey h3{
    position:relative;
    z-index:2;
    margin-top:0!important;
    margin-bottom:10px!important;
    padding:0!important;
    line-height:1.5!important;
}

/* Keep titles clear on compact mobile cards too. */
@media(max-width:700px){
    .tfz-home-runtime .tfz-journey > *{
        padding-top:94px!important;
    }

    .tfz-home-runtime .tfz-journey > *::before{
        top:19px!important;
    }

    .tfz-home-runtime .tfz-journey > *::after{
        top:28px!important;
    }
}


/* ==========================================================
   v1.0.22 — INVESTOR / INTERNAL PAGES PACK
   About + Investment + Opportunity Archive + Opportunity Detail
   ========================================================== */

/* ---------- Shared internal hero ---------- */
.tfz-inner-hero{
    position:relative;
    overflow:hidden;
    padding:92px 0;
    background:#071b2d;
    color:#fff;
}
.tfz-inner-hero::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    inset-inline-end:-220px;
    top:-275px;
    border:1px solid rgba(239,169,47,.18);
    border-radius:50%;
    box-shadow:
        0 0 0 62px rgba(239,169,47,.025),
        0 0 0 124px rgba(239,169,47,.012);
}
.tfz-inner-hero__grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) 440px;
    gap:70px;
    align-items:center;
}
.tfz-inner-hero__content{
    max-width:820px;
}
.tfz-inner-hero .tfz-kicker{
    color:#f0b54d;
}
.tfz-inner-hero h1{
    margin:12px 0 18px;
    color:#fff;
    font-size:clamp(42px,4.5vw,70px);
    line-height:1.16;
    letter-spacing:-.025em;
}
.tfz-inner-hero__content > p{
    max-width:720px;
    margin:0;
    color:#b9c9d3;
    font-size:14px;
    line-height:2;
}
.tfz-inner-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:28px;
}
.tfz-btn--gold{
    background:var(--gold);
    border:1px solid var(--gold);
    color:var(--navy)!important;
    box-shadow:0 14px 30px rgba(239,169,47,.18);
}
.tfz-btn--gold:hover{
    transform:translateY(-2px);
    background:#f4b847;
    border-color:#f4b847;
}
.tfz-btn--ghost{
    background:transparent;
    border:1px solid rgba(255,255,255,.20);
    color:#fff!important;
}
.tfz-btn--ghost:hover{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.34);
}
.tfz-inner-hero__facts{
    display:grid;
    gap:1px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.09);
    border-radius:20px;
    background:rgba(255,255,255,.07);
}
.tfz-inner-hero__facts > div{
    padding:22px 24px;
    background:rgba(7,27,45,.56);
}
.tfz-inner-hero__facts small{
    display:block;
    margin-bottom:5px;
    color:#7894a6;
    font-size:8px;
    font-weight:800;
}
.tfz-inner-hero__facts strong{
    color:#fff;
    font-size:13px;
}

/* ---------- About ---------- */
.tfz-about-story{
    padding:86px 0 94px;
    background:#f7f9fa;
}
.tfz-about-story__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 520px;
    gap:70px;
    align-items:start;
}
.tfz-about-copy{
    padding:0;
}
.tfz-about-copy > p:first-child{
    margin-top:0;
    padding:28px 30px;
    border-inline-start:4px solid var(--gold);
    border-radius:0 16px 16px 0;
    background:#fff;
    color:#334a59;
    box-shadow:0 12px 32px rgba(7,27,45,.045);
    font-size:15px;
    line-height:2.05;
}
html[dir="ltr"] .tfz-about-copy > p:first-child{
    border-radius:16px 0 0 16px;
}
.tfz-about-copy h2{
    position:relative;
    margin-top:50px;
    margin-bottom:22px;
    padding-bottom:13px;
    font-size:30px;
}
.tfz-about-copy h2::after{
    content:"";
    position:absolute;
    bottom:0;
    inset-inline-start:0;
    width:46px;
    height:3px;
    border-radius:999px;
    background:var(--gold);
}
.tfz-about-copy h2 + ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
    padding:0;
    list-style:none;
}
.tfz-about-copy h2 + ul li{
    position:relative;
    min-height:92px;
    padding:20px 48px 20px 18px;
    border:1px solid #dce5ea;
    border-radius:15px;
    background:#fff;
    color:#425a68;
    box-shadow:0 8px 22px rgba(7,27,45,.035);
}
html[dir="ltr"] .tfz-about-copy h2 + ul li{
    padding:20px 18px 20px 48px;
}
.tfz-about-copy h2 + ul li::before{
    content:"✓";
    position:absolute;
    top:20px;
    inset-inline-start:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:23px;
    height:23px;
    border-radius:50%;
    background:#eef6fa;
    color:#0a6fae;
    font-size:11px;
    font-weight:800;
}
.tfz-about-location-card{
    position:sticky;
    top:28px;
    overflow:hidden;
    border:1px solid #d9e3e8;
    border-radius:24px;
    background:#fff;
    box-shadow:0 22px 50px rgba(7,27,45,.09);
}
.tfz-about-location-card__visual{
    min-height:390px;
    background:
        url("../images/tfz-location-3d.webp") center / cover no-repeat,
        #e8eef1;
}
.tfz-about-location-card__body{
    padding:23px 24px 25px;
}
.tfz-about-location-card__body span{
    color:#9a6a13;
    font-size:8px;
    font-weight:800;
}
.tfz-about-location-card__body strong{
    display:block;
    margin:7px 0 8px;
    color:var(--navy);
    font-size:16px;
}
.tfz-about-location-card__body p{
    margin:0;
    color:#71828d;
    font-size:10px;
    line-height:1.9;
}

/* ---------- Investment ---------- */
.tfz-investment-hero__matrix{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.tfz-investment-hero__matrix > div{
    min-height:130px;
    padding:20px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:16px;
    background:rgba(255,255,255,.045);
}
.tfz-investment-hero__matrix span{
    display:block;
    margin-bottom:26px;
    color:#efa92f;
    font-size:9px;
    font-weight:800;
}
.tfz-investment-hero__matrix strong{
    color:#fff;
    font-size:12px;
    line-height:1.6;
}
.tfz-investment-content{
    padding:82px 0 92px;
    background:#f7f9fa;
}
.tfz-investment-rich{
    max-width:none;
}
.tfz-investment-rich > p:first-child{
    max-width:1000px;
    margin:0 auto 55px;
    color:#455d6c;
    font-size:16px;
    line-height:2.1;
    text-align:center;
}
.tfz-investment-rich > h2{
    margin:62px 0 28px;
    color:var(--navy);
    font-size:34px;
}
.tfz-investment-rich > h2:first-of-type + ul{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:15px;
    padding:0;
    list-style:none;
}
.tfz-investment-rich > h2:first-of-type + ul li{
    position:relative;
    min-height:155px;
    padding:58px 20px 20px;
    border:1px solid #dce5ea;
    border-radius:18px;
    background:#fff;
    color:#526875;
    box-shadow:0 10px 28px rgba(7,27,45,.04);
}
.tfz-investment-rich > h2:first-of-type + ul li::before{
    content:"";
    position:absolute;
    top:19px;
    inset-inline-start:20px;
    width:28px;
    height:28px;
    border-radius:9px;
    background:
        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='%230a6fae' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19h16M6 16l4-4 3 3 5-7'/%3E%3Cpath d='M16 8h2v2'/%3E%3C/svg%3E") center / 18px 18px no-repeat,
        #eef6fa;
}
.tfz-investment-page .tfz-opportunities-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.tfz-investment-page .tfz-opportunities-grid .tfz-card{
    border-radius:18px;
    box-shadow:0 10px 30px rgba(7,27,45,.05);
}

/* ---------- Shared internal CTA ---------- */
.tfz-inner-cta{
    padding:0 0 88px;
    background:#f7f9fa;
}
.tfz-inner-cta__panel{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    padding:40px 44px;
    border-radius:24px;
    background:#071b2d;
    box-shadow:0 24px 55px rgba(7,27,45,.13);
}
.tfz-inner-cta__panel::after{
    content:"";
    position:absolute;
    top:0;
    inset-inline-start:0;
    width:100%;
    height:3px;
    background:var(--gold);
}
.tfz-inner-cta__panel span{
    color:#efa92f;
    font-size:8px;
    font-weight:800;
}
.tfz-inner-cta__panel h2{
    max-width:780px;
    margin:7px 0 0;
    color:#fff;
    font-size:27px;
    line-height:1.45;
}

/* ---------- Opportunity archive ---------- */
.tfz-archive-hero{
    padding:82px 0 74px;
    background:#071b2d;
    color:#fff;
}
.tfz-archive-hero .tfz-container{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:60px;
}
.tfz-archive-hero__copy{
    max-width:780px;
}
.tfz-archive-hero__copy .tfz-kicker{
    color:#efa92f;
}
.tfz-archive-hero h1{
    margin:10px 0 15px;
    color:#fff;
    font-size:clamp(42px,4vw,66px);
    line-height:1.18;
}
.tfz-archive-hero__copy p{
    margin:0;
    color:#b6c7d1;
    font-size:13px;
    line-height:2;
}
.tfz-archive-hero__stats{
    display:grid;
    grid-template-columns:repeat(3,110px);
    gap:1px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:rgba(255,255,255,.06);
}
.tfz-archive-hero__stats > div{
    padding:18px 15px;
    background:rgba(7,27,45,.65);
    text-align:center;
}
.tfz-archive-hero__stats strong{
    display:block;
    color:#fff;
    font-size:24px;
}
.tfz-archive-hero__stats span{
    color:#819aa9;
    font-size:8px;
}
.tfz-opportunity-browser{
    padding:70px 0 88px;
    background:#f7f9fa;
}
.tfz-sector-filter{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-bottom:30px;
}
.tfz-sector-filter a{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:0 14px;
    border:1px solid #d8e2e8;
    border-radius:999px;
    background:#fff;
    color:#526976;
    font-size:9px;
    font-weight:800;
}
.tfz-sector-filter a.is-active,
.tfz-sector-filter a:hover{
    background:var(--navy);
    border-color:var(--navy);
    color:#fff;
}
.tfz-opportunity-list-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}
.tfz-opportunity-list-card{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    min-height:285px;
    overflow:hidden;
    border:1px solid #d9e3e8;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 34px rgba(7,27,45,.045);
    transition:transform .24s ease,box-shadow .24s ease;
}
.tfz-opportunity-list-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 46px rgba(7,27,45,.085);
}
.tfz-opportunity-list-card__media{
    display:block;
    min-height:100%;
    overflow:hidden;
    background:#dfe8ed;
}
.tfz-opportunity-list-card__media img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.tfz-opportunity-list-card__media--empty{
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 24 24' fill='none' stroke='%230a6fae' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16M6 20V9l6-5 6 5v11M9 12h6M9 16h6'/%3E%3C/svg%3E") center / 48px 48px no-repeat,
        radial-gradient(circle at 75% 20%,rgba(10,111,174,.07),transparent 26%),
        #eef4f7;
}
.tfz-opportunity-list-card__body{
    display:flex;
    flex-direction:column;
    padding:22px;
}
.tfz-opportunity-list-card__topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:13px;
}
.tfz-opportunity-status,
.tfz-opportunity-sector{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:0 9px;
    border-radius:999px;
    font-size:7.8px;
    font-weight:800;
}
.tfz-opportunity-status{
    border:1px solid #d9e5eb;
    background:#f2f7fa;
    color:#536d7b;
    /* Typography refinement (Fix #2): the shared badge rule above sets
       7.8px for both .tfz-opportunity-status and .tfz-opportunity-sector.
       This raises only the status badge's text to a readable size —
       .tfz-opportunity-sector is untouched, out of this task's scope.
       min-height/padding bumped slightly so the larger text doesn't feel
       cramped inside the pill; shape/border-radius/colors unchanged. */
    font-size:12px;
    min-height:28px;
    padding:0 12px;
}
.tfz-opportunity-status--open{
    border-color:rgba(46,160,105,.20);
    background:rgba(46,160,105,.08);
    color:#278454;
}
.tfz-opportunity-status--planned{
    border-color:rgba(239,169,47,.25);
    background:rgba(239,169,47,.10);
    color:#9a6a13;
}
.tfz-opportunity-status--closed{
    border-color:rgba(142,154,163,.22);
    background:rgba(142,154,163,.10);
    color:#667782;
}
.tfz-opportunity-sector{
    /* Readability pass (Fix #3): the shared badge rule above still sets
       7.8px; Fix #2 already raised the status badge alone the same way.
       Same targeted approach here for the sector tag — shape/colors
       unchanged. */
    background:#071b2d;
    color:#fff;
    font-size:12px;
    min-height:28px;
    padding:0 12px;
}
.tfz-opportunity-list-card h2{
    margin:0 0 9px;
    color:var(--navy);
    font-size:18px;
    line-height:1.5;
}
.tfz-opportunity-list-card h2 a{
    color:inherit;
}
.tfz-opportunity-list-card p{
    margin:0 0 17px;
    color:#6a7c88;
    font-size:14px;
    line-height:1.85;
}
.tfz-opportunity-list-card__facts{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:auto;
    padding-top:13px;
    border-top:1px solid #edf1f4;
}
.tfz-opportunity-list-card__facts span{
    color:#3f5867;
    font-size:13px;
    font-weight:700;
}
.tfz-opportunity-list-card__facts small{
    display:block;
    margin-bottom:3px;
    color:#9aabb5;
    font-size:12px;
}
.tfz-opportunity-list-card .tfz-text-link{
    margin-top:15px;
    width:max-content;
}

/* ---------- Opportunity single ---------- */
.tfz-opportunity-hero{
    position:relative;
    overflow:hidden;
    padding:76px 0 72px;
    background:#071b2d;
}
.tfz-opportunity-hero__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 500px;
    gap:70px;
    align-items:center;
}
.tfz-opportunity-hero__copy h1{
    margin:18px 0 14px;
    color:#fff;
    font-size:clamp(40px,4vw,62px);
    line-height:1.2;
}
.tfz-opportunity-hero__copy > p{
    max-width:700px;
    color:#b7c8d2;
    font-size:13px;
    line-height:2;
}
.tfz-opportunity-hero__meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
}
.tfz-opportunity-hero__meta > a{
    display:inline-flex;
    min-height:27px;
    align-items:center;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    color:#dce7ed;
    font-size:8px;
    font-weight:800;
}
.tfz-opportunity-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:11px;
    margin-top:26px;
}
.tfz-opportunity-hero__visual{
    position:relative;
    min-height:385px;
    overflow:hidden;
    border-radius:24px;
    background:
        radial-gradient(circle at 70% 20%,rgba(239,169,47,.16),transparent 24%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 24 24' fill='none' stroke='%23efa92f' stroke-width='1.0' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16M6 20V9l6-5 6 5v11M9 12h6M9 16h6'/%3E%3C/svg%3E") center / 90px 90px no-repeat,
        #0a2940;
    box-shadow:0 25px 55px rgba(0,0,0,.18);
}
.tfz-opportunity-hero__visual img{
    width:100%;
    height:100%;
    min-height:385px;
    object-fit:cover;
}
.tfz-opportunity-hero__badge{
    position:absolute;
    inset-inline-start:18px;
    bottom:18px;
    min-height:34px;
    display:flex;
    align-items:center;
    padding:0 13px;
    border-radius:10px;
    background:rgba(7,27,45,.90);
    color:#fff;
    backdrop-filter:blur(6px);
    font-size:8px;
    font-weight:800;
}
.tfz-opportunity-detail{
    padding:70px 0 90px;
    background:#f7f9fa;
}
.tfz-opportunity-detail__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 350px;
    gap:55px;
    align-items:start;
}
.tfz-opportunity-detail__main{
    min-width:0;
}
.tfz-opportunity-overview,
.tfz-structured-block{
    margin-bottom:24px;
    padding:30px 32px;
    border:1px solid #dce5ea;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 28px rgba(7,27,45,.035);
}
.tfz-detail-section-label{
    display:block;
    margin-bottom:12px;
    color:#9a6a13;
    font-size:12px;
    font-weight:800;
}
.tfz-opportunity-overview > *:first-child{
    margin-top:0;
}
.tfz-structured-block__head{
    display:flex;
    align-items:center;
    gap:13px;
    margin-bottom:18px;
}
.tfz-structured-block__head span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:35px;
    height:35px;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
    font-size:8px;
    font-weight:800;
}
.tfz-structured-block__head h2{
    margin:0;
    color:var(--navy);
    font-size:21px;
}
.tfz-structured-block ul{
    display:grid;
    gap:10px;
    margin:0;
    padding:0;
    list-style:none;
}
.tfz-structured-block li{
    position:relative;
    padding:12px 38px 12px 14px;
    border-radius:11px;
    background:#f5f8fa;
    color:#526976;
    font-size:10.5px;
    line-height:1.8;
}
html[dir="ltr"] .tfz-structured-block li{
    padding:12px 14px 12px 38px;
}
.tfz-structured-block li::before{
    content:"✓";
    position:absolute;
    top:12px;
    inset-inline-start:14px;
    color:#0a6fae;
    font-weight:800;
}
.tfz-opportunity-sidebar{
    position:sticky;
    top:24px;
}
.tfz-opportunity-sidebar__card{
    overflow:hidden;
    padding:24px;
    border:1px solid #d8e2e8;
    border-radius:20px;
    background:#fff;
    box-shadow:0 16px 42px rgba(7,27,45,.07);
}
.tfz-opportunity-sidebar__title{
    display:block;
    margin:-24px -24px 12px;
    padding:18px 24px;
    background:#071b2d;
    color:#fff;
    font-size:13px;
    font-weight:800;
}
.tfz-opportunity-sidebar__card > div{
    padding:13px 0;
    border-bottom:1px solid #edf1f4;
}
.tfz-opportunity-sidebar__card small{
    display:block;
    margin-bottom:3px;
    color:#9aabb5;
    font-size:12px;
}
.tfz-opportunity-sidebar__card strong{
    color:var(--navy);
    font-size:13px;
}
.tfz-opportunity-sidebar__card .tfz-btn{
    width:100%;
    margin-top:12px;
}
.tfz-btn--outline-dark{
    background:#fff;
    border:1px solid #ccd9e0;
    color:var(--navy)!important;
}

/* ---------- Responsive ---------- */
@media(max-width:1150px){
    .tfz-inner-hero__grid,
    .tfz-opportunity-hero__grid{
        grid-template-columns:minmax(0,1fr) 360px;
        gap:45px;
    }
    .tfz-about-story__grid{
        grid-template-columns:minmax(0,1fr) 400px;
        gap:45px;
    }
    .tfz-investment-rich > h2:first-of-type + ul,
    .tfz-investment-page .tfz-opportunities-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tfz-opportunity-list-card{
        grid-template-columns:170px minmax(0,1fr);
    }
}

@media(max-width:900px){
    .tfz-inner-hero{
        padding:72px 0;
    }
    .tfz-inner-hero__grid,
    .tfz-opportunity-hero__grid,
    .tfz-about-story__grid,
    .tfz-opportunity-detail__grid{
        grid-template-columns:1fr;
    }
    .tfz-inner-hero__facts{
        grid-template-columns:repeat(3,1fr);
    }
    .tfz-about-location-card,
    .tfz-opportunity-sidebar{
        position:static;
    }
    .tfz-about-location-card__visual{
        min-height:330px;
    }
    .tfz-archive-hero .tfz-container{
        display:block;
    }
    .tfz-archive-hero__stats{
        width:max-content;
        margin-top:28px;
    }
    .tfz-opportunity-list-grid{
        grid-template-columns:1fr;
    }
    .tfz-opportunity-hero__visual{
        min-height:330px;
    }
}

@media(max-width:700px){
    .tfz-inner-hero,
    .tfz-archive-hero,
    .tfz-opportunity-hero{
        padding:58px 0;
    }
    .tfz-inner-hero h1,
    .tfz-archive-hero h1,
    .tfz-opportunity-hero__copy h1{
        font-size:36px;
    }
    .tfz-inner-hero__facts{
        grid-template-columns:1fr;
    }
    .tfz-investment-hero__matrix{
        grid-template-columns:1fr 1fr;
    }
    .tfz-about-story,
    .tfz-investment-content,
    .tfz-opportunity-browser,
    .tfz-opportunity-detail{
        padding:58px 0 66px;
    }
    .tfz-about-copy > p:first-child,
    .tfz-opportunity-overview,
    .tfz-structured-block{
        padding:22px 20px;
    }
    .tfz-about-copy h2 + ul,
    .tfz-investment-rich > h2:first-of-type + ul,
    .tfz-investment-page .tfz-opportunities-grid{
        grid-template-columns:1fr;
    }
    .tfz-inner-cta{
        padding-bottom:62px;
    }
    .tfz-inner-cta__panel{
        display:block;
        padding:30px 24px;
    }
    .tfz-inner-cta__panel .tfz-btn{
        width:100%;
        margin-top:22px;
    }
    .tfz-archive-hero__stats{
        width:100%;
        grid-template-columns:repeat(3,1fr);
    }
    .tfz-opportunity-list-card{
        grid-template-columns:1fr;
    }
    .tfz-opportunity-list-card__media{
        min-height:210px;
        aspect-ratio:16/9;
    }
    .tfz-sector-filter{
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:5px;
        scrollbar-width:none;
    }
    .tfz-sector-filter::-webkit-scrollbar{display:none}
    .tfz-sector-filter a{flex:0 0 auto}
    .tfz-opportunity-hero__actions .tfz-btn{
        width:100%;
    }
}

/* Branch Management Phase 2 — single-tfz_branch.php / branch-advanced.php /
   archive-tfz_branch.php component styles. Reuses existing tokens
   (--navy/--gold/--line/--soft/--blue/--shadow) and existing layout
   classes (tfz-detail__*, tfz-prose, tfz-structured-block) wherever they
   already fit; the rules below are only the pieces those didn't already
   cover: service tags, the image gallery grid, and the embedded map
   frame. Kept in this one place rather than a separate stylesheet, per
   the project's existing single-main.css convention. */
.tfz-branch-services{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.tfz-branch-service-tag{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;background:var(--soft);border:1px solid var(--line);color:var(--navy);font-size:13px;font-weight:700}
.tfz-branch-gallery{margin-top:36px}
.tfz-branch-gallery h2{font-size:20px;margin-bottom:16px}
.tfz-branch-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tfz-branch-gallery__item{width:100%;height:180px;object-fit:cover;border-radius:14px;border:1px solid var(--line);display:block}
.tfz-branch-map{margin-top:32px;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.tfz-branch-map iframe{width:100%;height:320px;border:0;display:block}
@media(max-width:1024px){.tfz-branch-gallery__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tfz-branch-gallery__grid{grid-template-columns:1fr 1fr}.tfz-branch-gallery__item{height:140px}.tfz-branch-map iframe{height:240px}}

/* Branch Management Phase 4 — Advanced Branch Landing
   (TFZ_BRANCH_MANAGEMENT_PHASE3_ARCHITECTURE.md, Section 18/17). Every
   rule below is scoped under .tfz-branch-advanced so nothing here can
   affect a Standard branch page. Reuses existing tokens
   (--navy/--gold/--line/--soft/--blue/--shadow) and, wherever a
   pre-existing class already covers the need (.tfz-branch-gallery__grid/
   __item, .tfz-branch-map, .tfz-branch-services/.tfz-branch-service-tag,
   .tfz-prose, .tfz-btn variants — all Phase 2/earlier), this block adds
   nothing new for it at all: gallery, map, and service-tag styling are
   inherited automatically since the Advanced partials output the exact
   same class names Standard already does. Only genuinely new structures
   (hero, stat tiles, contact grid, CTA panel) get new rules here. Logical
   properties throughout for RTL/LTR correctness. */
.tfz-branch-advanced section{padding:56px 0}
.tfz-branch-advanced section+section{border-top:1px solid var(--line)}
.tfz-branch-advanced h2{font-size:24px;margin-bottom:22px}

.tfz-branch-hero{padding:88px 0;background:var(--navy);color:#fff}
.tfz-branch-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:center}
.tfz-branch-hero.no-image .tfz-branch-hero__grid{grid-template-columns:1fr}
.tfz-branch-hero__excerpt{font-size:16px;line-height:1.9;color:#d8e6ef;margin-top:14px}
.tfz-branch-code-badge{display:inline-flex;margin-top:18px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);font-size:13px;font-weight:700}
.tfz-branch-hero__visual img{width:100%;border-radius:20px;box-shadow:var(--shadow);display:block}

.tfz-branch-content{padding-bottom:0}
.tfz-branch-content .tfz-prose{padding:0}

.tfz-branch-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.tfz-branch-stat{padding:22px;border-radius:16px;background:var(--soft);border:1px solid var(--line);text-align:center}
.tfz-branch-stat strong{display:block;font-size:26px;color:var(--navy)}
.tfz-branch-stat span{display:block;margin-top:6px;font-size:13px;color:var(--muted)}
.tfz-branch-highlight-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.tfz-branch-highlight-list li{padding-inline-start:22px;position:relative;font-size:15px;line-height:1.8}
.tfz-branch-highlight-list li::before{content:"";position:absolute;inset-inline-start:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--gold)}

.tfz-branch-contact__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tfz-branch-contact__item{padding:20px;border-radius:16px;background:var(--soft);border:1px solid var(--line)}
.tfz-branch-contact__item small{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.tfz-branch-contact__item strong{font-size:15px}

.tfz-branch-cta{background:var(--soft)}
.tfz-branch-cta__panel{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.tfz-branch-cta__panel span{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--gold)}
.tfz-branch-cta__panel h2{margin:6px 0 0;font-size:22px}
.tfz-branch-cta__actions{display:flex;gap:12px;flex-wrap:wrap}

@media(max-width:1100px){
    .tfz-branch-hero__grid{grid-template-columns:1fr}
    .tfz-branch-hero__visual{order:-1}
    .tfz-branch-stats{grid-template-columns:repeat(2,1fr)}
    .tfz-branch-contact__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .tfz-branch-advanced section{padding:40px 0}
    .tfz-branch-hero{padding:56px 0}
    .tfz-branch-highlight-list{grid-template-columns:1fr}
}
@media(max-width:600px){
    .tfz-branch-stats{grid-template-columns:1fr}
    .tfz-branch-contact__grid{grid-template-columns:1fr}
    .tfz-branch-cta__panel{flex-direction:column;align-items:flex-start}
    .tfz-branch-cta__actions .tfz-btn{width:100%;text-align:center}
}
.tfz-media-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 20%, rgba(35, 150, 138, .2), transparent 34rem),
        linear-gradient(135deg, #062b39 0%, #0a4150 68%, #0d5a63 100%);
    color: #fff;
}

.tfz-media-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, #000, transparent 90%);
}

.tfz-media-hero .tfz-container {
    position: relative;
    z-index: 1;
}

.tfz-media-hero .tfz-kicker,
.tfz-media-hero h1,
.tfz-media-hero p {
    color: inherit;
}

.tfz-media-hero p {
    max-width: 720px;
    margin: 18px 0 0;
    color: rgba(255,255,255,.78);
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    line-height: 1.9;
}

.tfz-media-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.tfz-media-tabs a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 9px 20px;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 999px;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.tfz-media-tabs a:hover,
.tfz-media-tabs a:focus-visible,
.tfz-media-tabs a.is-current {
    border-color: #fff;
    background: #fff;
    color: #083743;
}

.tfz-media-listing {
    padding-block: clamp(48px, 7vw, 88px);
}

.tfz-media-listing__title {
    margin-bottom: 28px;
}

.tfz-media-intro {
    max-width: 780px;
    margin: -12px 0 32px;
}

.tfz-news-index .tfz-card {
    height: 100%;
}

.tfz-news-index .tfz-card__media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.tfz-news-index .tfz-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.tfz-news-index .tfz-card:hover .tfz-card__media img {
    transform: scale(1.035);
}

.tfz-news-index .tfz-card__body {
    display: flex;
    flex-direction: column;
}

.tfz-news-index .tfz-text-link {
    margin-top: auto;
}

.tfz-media-empty {
    display: grid;
    gap: 8px;
    min-height: 180px;
    align-content: center;
    text-align: center;
}

.tfz-media-empty strong {
    color: #0b3d49;
    font-size: 1.2rem;
}

.tfz-media-empty span {
    color: #63747a;
}

.tfz-gallery-content .wp-block-gallery {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
}

.tfz-gallery-content .wp-block-image {
    grid-column: span 4;
    width: 100% !important;
    min-height: 280px;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 18px;
    background: #e7eef0;
    box-shadow: 0 12px 30px rgba(6,43,57,.09);
}

.tfz-gallery-content .wp-block-image:first-child {
    grid-column: span 7;
}

.tfz-gallery-content .wp-block-image:nth-child(2) {
    grid-column: span 5;
}

.tfz-gallery-content .wp-block-image img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform .35s ease, filter .35s ease;
}

.tfz-gallery-content .wp-block-image:hover img {
    transform: scale(1.025);
    filter: saturate(1.08);
}

.tfz-gallery-content .wp-element-caption {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    margin: 0;
    padding: 42px 18px 16px;
    background: linear-gradient(transparent, rgba(2,25,32,.8));
    color: #fff;
    text-align: start;
}

@media (max-width: 900px) {
    .tfz-gallery-content .wp-block-image,
    .tfz-gallery-content .wp-block-image:first-child,
    .tfz-gallery-content .wp-block-image:nth-child(2) {
        grid-column: span 6;
        min-height: 230px;
    }
}

@media (max-width: 600px) {
    .tfz-media-tabs a {
        flex: 1 1 0;
        justify-content: center;
    }

    .tfz-gallery-content .wp-block-image,
    .tfz-gallery-content .wp-block-image:first-child,
    .tfz-gallery-content .wp-block-image:nth-child(2) {
        grid-column: 1 / -1;
        min-height: 240px;
    }
}

/* Media Center gap closure: accessible whole-card links. The visible CTA is
   the only anchor in each card and its pseudo-element covers the card, so
   there are no nested or duplicate links. */
.tfz-card--clickable {
    position: relative;
    cursor: pointer;
}

.tfz-card--clickable:focus-within {
    outline: 3px solid #d9a63a;
    outline-offset: 4px;
}

.tfz-card__primary-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
}

.tfz-card__primary-link:focus {
    outline: none;
}

.tfz-album-index .tfz-card {
    height: 100%;
}

.tfz-album-card__cover {
    aspect-ratio: 16 / 10;
}

.tfz-album-card__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tfz-album-card .tfz-card__body {
    display: flex;
    min-height: 235px;
    flex-direction: column;
}

.tfz-album-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid #e6edef;
}

.tfz-album-card__count {
    color: #63747a;
    font-size: .84rem;
    font-weight: 700;
}

.tfz-news-single__header,
.tfz-album-single__header {
    background:
        radial-gradient(circle at 15% 15%, rgba(35,150,138,.18), transparent 30rem),
        linear-gradient(135deg, #062b39, #0a4150 72%, #0d5a63);
    color: #fff;
}

.tfz-news-single__header .tfz-kicker,
.tfz-news-single__header h1,
.tfz-news-single__header .tfz-article__meta,
.tfz-album-single__header .tfz-kicker,
.tfz-album-single__header h1,
.tfz-album-single__header .tfz-article__meta {
    color: inherit;
}

.tfz-news-single__lead {
    max-width: 760px;
    margin: 18px 0 0;
    color: rgba(255,255,255,.8);
    font-size: 1.1rem;
    line-height: 1.9;
}

.tfz-news-single__image,
.tfz-album-single__cover {
    margin-top: clamp(-54px, -5vw, -32px);
    position: relative;
    z-index: 2;
}

.tfz-news-single__image img,
.tfz-album-single__cover img {
    display: block;
    width: 100%;
    max-height: 680px;
    object-fit: cover;
    border-radius: 22px;
    box-shadow: 0 22px 55px rgba(6,43,57,.2);
}

.tfz-news-single__content,
.tfz-album-single__description {
    padding-block: clamp(46px, 7vw, 78px);
    font-size: 1.06rem;
    line-height: 2;
}

.tfz-news-single__content > *:first-child,
.tfz-album-single__description > *:first-child {
    margin-top: 0;
}

.tfz-news-single__content img,
.tfz-news-single__content .wp-block-gallery img {
    border-radius: 14px;
}

.tfz-news-single__content figcaption {
    margin-top: 8px;
    color: #63747a;
    font-size: .82rem;
    text-align: center;
}

.tfz-news-single__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: clamp(60px, 8vw, 100px);
    padding-top: 24px;
    border-top: 1px solid #dfe8ea;
}

.tfz-news-single__adjacent {
    display: flex;
    gap: 18px;
}

.tfz-news-single__adjacent a {
    color: #0b5361;
    font-weight: 700;
}

.tfz-album-single__images {
    padding-bottom: 42px;
}

.tfz-album-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
}

.tfz-album-grid__item {
    grid-column: span 4;
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 18px;
    background: #e7eef0;
    box-shadow: 0 12px 30px rgba(6,43,57,.09);
}

.tfz-album-grid__item:nth-child(1),
.tfz-album-grid__item:nth-child(5n) {
    grid-column: span 7;
}

.tfz-album-grid__item:nth-child(2),
.tfz-album-grid__item:nth-child(5n + 1) {
    grid-column: span 5;
}

.tfz-album-grid__item a {
    display: block;
    height: 100%;
    min-height: 300px;
}

.tfz-album-grid__item img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover;
    transition: transform .35s ease;
}

.tfz-album-grid__item:hover img {
    transform: scale(1.025);
}

.tfz-album-grid__item figcaption {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    margin: 0;
    padding: 44px 18px 16px;
    background: linear-gradient(transparent, rgba(2,25,32,.82));
    color: #fff;
}

.tfz-article-return {
    padding-bottom: clamp(60px, 8vw, 100px);
}

@media (max-width: 900px) {
    .tfz-album-grid__item,
    .tfz-album-grid__item:nth-child(1),
    .tfz-album-grid__item:nth-child(5n),
    .tfz-album-grid__item:nth-child(2),
    .tfz-album-grid__item:nth-child(5n + 1) {
        grid-column: span 6;
    }
}

@media (max-width: 600px) {
    .tfz-news-single__nav,
    .tfz-news-single__adjacent {
        align-items: flex-start;
        flex-direction: column;
    }

    .tfz-album-grid__item,
    .tfz-album-grid__item:nth-child(1),
    .tfz-album-grid__item:nth-child(5n),
    .tfz-album-grid__item:nth-child(2),
    .tfz-album-grid__item:nth-child(5n + 1) {
        grid-column: 1 / -1;
    }

    .tfz-album-grid__item a,
    .tfz-album-grid__item img {
        min-height: 240px;
    }
}
