/* All selectors are scoped to this plugin to avoid changing the existing theme. */
.tfftm-section { --tfftm-ink:#1f3435; --tfftm-muted:#637170; --tfftm-accent:#b9856c; --tfftm-cream:#f5f3ee; box-sizing:border-box; width:100%; margin:0; padding:clamp(64px,7vw,112px) 22px clamp(56px,6vw,90px); background:var(--tfftm-cream); color:var(--tfftm-ink); font-family:'DM Sans', 'Helvetica Neue',Arial,sans-serif; isolation:isolate; }
.tfftm-section *, .tfftm-section *::before, .tfftm-section *::after { box-sizing:border-box; }
.tfftm-section .tfftm-wrap { max-width:1320px; margin:0 auto; }
.tfftm-section .tfftm-heading { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:36px; align-items:end; margin-bottom:36px; }
.tfftm-section .tfftm-eyebrow, .tfftm-section .tfftm-member-label { font-size:11px; line-height:1.5; letter-spacing:.19em; font-weight:700; color:var(--tfftm-accent); margin:0 0 20px; }
.tfftm-section .tfftm-heading h2 { font-family:'Playfair Display',Georgia,serif; color:var(--tfftm-ink);font-size:clamp(38px,4.2vw,66px);font-weight:400;line-height:1.09;letter-spacing:-.045em;max-width:780px;margin:0; }
.tfftm-section .tfftm-intro { color:var(--tfftm-muted);font-size:15px;line-height:1.85;margin:0 0 5px;max-width:390px; }
.tfftm-section .tfftm-feature { display:grid;grid-template-columns:51% 49%;min-height:660px; overflow:hidden;border:1px solid #dedfd8;border-radius:8px;background:#fff;box-shadow:0 17px 60px rgba(27,50,48,.045); }
.tfftm-section .tfftm-visual { display:grid;grid-template-rows:59% 41%;min-height:630px; min-width:0;gap:5px;background:var(--tfftm-cream);overflow:hidden; }
.tfftm-section .tfftm-photo {position:relative;min-width:0;min-height:0;overflow:hidden;background:#dfddd7; }
.tfftm-section .tfftm-photo img {width:100%;height:100%;object-fit:cover;display:block;max-width:none;border-radius:0;transition:transform .5s ease;}
.tfftm-section .tfftm-photo:hover img {transform:scale(1.025);}
.tfftm-section .tfftm-photo-large img { object-position:center 44%;}
.tfftm-section .tfftm-photo-pair {display:grid;grid-template-columns:1fr 1fr; gap:5px; min-height:0;}
.tfftm-section .tfftm-photo-outdoors img {object-position:center 44%;}
.tfftm-section .tfftm-photo-edit img {object-position:center 52%;}
.tfftm-section .tfftm-photo-tag {position:absolute;left:22px;bottom:20px;color:#fff;background:rgba(29,45,42,.7);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:10px;letter-spacing:.16em;font-weight:700;padding:9px 13px;}
.tfftm-section .tfftm-bio {align-self:stretch;padding:clamp(38px,5vw,78px) clamp(28px,4.4vw,72px) 36px;display:flex;flex-direction:column;justify-content:center;min-width:0;}
.tfftm-section .tfftm-member-label {margin-bottom:10px;}
.tfftm-section .tfftm-bio h3 {font-family:'Playfair Display',Georgia,serif;font-size:clamp(36px,3vw,54px);font-weight:400;letter-spacing:-.04em;line-height:1.13;color:var(--tfftm-ink);margin:0 0 15px;}
.tfftm-section .tfftm-role {color:#697674;font-size:12px;letter-spacing:.03em;display:flex;gap:9px;align-items:center;line-height:1.6;}
.tfftm-section .tfftm-role-dot {width:7px;height:7px;flex:0 0 7px;background:var(--tfftm-accent);border-radius:50%;}
.tfftm-section .tfftm-rule {height:1px;background:#e7e5df;margin:27px 0 23px;}
.tfftm-section .tfftm-copy p {font-size:14px;line-height:1.86;color:#4d5c5a;margin:0 0 15px;max-width:520px;}
.tfftm-section .tfftm-copy p:last-child {margin-bottom:0;}
.tfftm-section .tfftm-bottom {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:19px;border-top:1px solid #e7e5df;}
.tfftm-section .tfftm-handwritten {font-family:'Playfair Display',Georgia,serif;font-size:18px;font-style:italic;color:#a87761;}
.tfftm-section .tfftm-bottom-decor {font-size:18px;color:#b9856c;}
.tfftm-section .tfftm-outro {font-size:10px;letter-spacing:.18em;font-weight:700;text-align:center;color:#81908b;margin:24px auto 0;line-height:1.7;}
.tfftm-section .tfftm-outro span {color:#be927a;padding:0 14px;}
@media(max-width:1050px) { .tfftm-section .tfftm-feature {grid-template-columns:48% 52%;} .tfftm-section .tfftm-bio {padding:38px 32px;} .tfftm-section .tfftm-copy p {font-size:13px;line-height:1.75;} }
@media(max-width:800px) { .tfftm-section {padding:65px 19px;} .tfftm-section .tfftm-heading {grid-template-columns:1fr;gap:18px;} .tfftm-section .tfftm-feature {grid-template-columns:1fr;} .tfftm-section .tfftm-visual {min-height:unset;height:550px;grid-template-rows:62% 38%;} .tfftm-section .tfftm-bio {padding:43px 38px 35px;} .tfftm-section .tfftm-copy p {font-size:14px;} }
@media(max-width:480px) { .tfftm-section {padding:48px 14px 57px;} .tfftm-section .tfftm-heading {margin-bottom:23px;gap:14px;} .tfftm-section .tfftm-heading h2 {font-size:36px;} .tfftm-section .tfftm-intro {font-size:13px;line-height:1.7;} .tfftm-section .tfftm-visual {height:400px;grid-template-rows:59% 41%;} .tfftm-section .tfftm-photo-tag {left:12px;bottom:13px;font-size:9px;padding:7px 10px;} .tfftm-section .tfftm-bio {padding:34px 22px 28px;} .tfftm-section .tfftm-bio h3 {font-size:35px;} .tfftm-section .tfftm-copy p {font-size:13px;line-height:1.77;} .tfftm-section .tfftm-outro {font-size:9px;letter-spacing:.08em;} .tfftm-section .tfftm-outro span {padding:0 4px;} }
@media(prefers-reduced-motion:reduce) { .tfftm-section .tfftm-photo img {transition:none;} }

/* Photo and video work gallery */
.tfftm-section .tfftm-work {margin-top:72px;padding-top:55px;border-top:1px solid #dbded8;}
.tfftm-section .tfftm-work-head {display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.6fr);align-items:end;gap:36px;margin:0 0 27px;}
.tfftm-section .tfftm-work-head .tfftm-eyebrow {margin-bottom:12px;}
.tfftm-section .tfftm-work-head h3 {font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(32px,3.3vw,49px);letter-spacing:-.034em;line-height:1.14;margin:0;}
.tfftm-section .tfftm-work-head>p {font-size:14px;line-height:1.8;color:var(--tfftm-muted);margin:0;max-width:490px;}
.tfftm-section .tfftm-work-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:300px;gap:10px;}
.tfftm-section .tfftm-work-item {position:relative;overflow:hidden;background:#e5e6e2;border-radius:4px;margin:0;}
.tfftm-section .tfftm-work-item-wide {grid-column:span 2;}
.tfftm-section .tfftm-work-item img {width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.tfftm-section .tfftm-work-item:hover img {transform:scale(1.035);}
.tfftm-section .tfftm-work-item figcaption {position:absolute;bottom:0;left:0;right:0;display:flex;align-items:flex-end;padding:44px 17px 16px;background:linear-gradient(transparent,rgba(8,22,21,.66));color:white;font-size:10px;letter-spacing:.12em;font-weight:700;}
.tfftm-section .tfftm-videos {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;}
.tfftm-section .tfftm-video {aspect-ratio:16/9;overflow:hidden;background:#182826;border-radius:4px;}
.tfftm-section .tfftm-video iframe,.tfftm-section .tfftm-video video,.tfftm-section .tfftm-video .wp-video {width:100%!important;height:100%!important;border:0;max-width:none;}
@media(max-width:800px) { .tfftm-section .tfftm-work{margin-top:52px;padding-top:35px;} .tfftm-section .tfftm-work-head{grid-template-columns:1fr;gap:14px;} .tfftm-section .tfftm-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px;gap:7px;} .tfftm-section .tfftm-work-item-wide{grid-column:span 2;grid-row:span 2;} }
@media(max-width:480px) { .tfftm-section .tfftm-work-grid{grid-auto-rows:138px;} .tfftm-section .tfftm-work-item-wide{grid-row:span 2;} .tfftm-section .tfftm-videos{grid-template-columns:1fr;} .tfftm-section .tfftm-work-head h3{font-size:33px;} }

/* 1.2.0: language switching and responsive horizontal swipe gallery */
.tfftm-section .tfftm-langbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;margin:0 0 20px}
.tfftm-section .tfftm-lang-hint{font-size:9px;font-weight:700;letter-spacing:.19em;color:#87938f}
.tfftm-section .tfftm-translate{cursor:pointer;background:transparent;border:1px solid #d5c7bc;color:#a3735b;border-radius:40px;padding:10px 15px;font:600 11px/1.4 'DM Sans',Arial,sans-serif;transition:background .2s}
.tfftm-section .tfftm-translate:hover,.tfftm-section .tfftm-translate:focus-visible{background:#f7efe9;outline-offset:2px}
.tfftm-section .tfftm-lang-copy[hidden]{display:none!important}
.tfftm-section .tfftm-carousel{position:relative;min-width:0}
.tfftm-section .tfftm-carousel-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;color:#69807a;font-size:10px;letter-spacing:.13em;font-weight:700}
.tfftm-section .tfftm-controls{display:flex;align-items:center;gap:8px}
.tfftm-section .tfftm-counter{font-size:12px;color:var(--tfftm-ink);font-weight:600;letter-spacing:.05em;padding-right:8px;font-variant-numeric:tabular-nums}
.tfftm-section .tfftm-arrow{display:grid;place-items:center;width:45px;height:45px;background:#fff;border:1px solid #d9d9d2;border-radius:50%;font-size:21px;color:#1f3435;cursor:pointer;transition:background .2s,border-color .2s}
.tfftm-section .tfftm-arrow:hover:not(:disabled){background:#e8d9cd;border-color:#d5aa91}
.tfftm-section .tfftm-arrow:disabled{opacity:.35;cursor:not-allowed}
.tfftm-section .tfftm-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;scroll-behavior:smooth;align-items:stretch;padding-bottom:2px}
.tfftm-section .tfftm-track::-webkit-scrollbar{display:none}
.tfftm-section .tfftm-slide{margin:0;flex:0 0 min(39%,490px);scroll-snap-align:start;min-width:0;position:relative;height:clamp(270px,33vw,430px);overflow:hidden;border-radius:7px;background:#e5e6e2}
.tfftm-section .tfftm-slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;max-width:none;border:0}
.tfftm-section .tfftm-slide:hover img{transform:scale(1.035)}
.tfftm-section .tfftm-slide figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;gap:12px;align-items:center;padding:48px 22px 22px;background:linear-gradient(transparent,rgba(10,29,26,.79));color:#fff;font-size:10px;font-weight:700;letter-spacing:.12em}
.tfftm-section .tfftm-slide figcaption span{color:#dcaf93;font-variant-numeric:tabular-nums}
@media(max-width:900px){.tfftm-section .tfftm-slide{flex-basis:67%;height:370px}}
@media(max-width:550px){.tfftm-section .tfftm-slide{flex-basis:87%;height:400px}.tfftm-section .tfftm-carousel-bar>span{max-width:115px;line-height:1.4}.tfftm-section .tfftm-controls{gap:5px}.tfftm-section .tfftm-arrow{height:37px;width:37px;font-size:19px}}
@media(prefers-reduced-motion:reduce){.tfftm-section .tfftm-track{scroll-behavior:auto}.tfftm-section .tfftm-slide img{transition:none}}



/* v1.3.0 · Premium editorial frames with true image aspect ratios, no blur or clipping. */
.tfftm-section .tfftm-carousel{overflow:visible}
.tfftm-section .tfftm-track{gap:17px;align-items:stretch;padding:5px 2px 15px;scroll-padding-inline:2px}
.tfftm-section .tfftm-slide{
  flex:0 0 auto!important; width:480px; height:clamp(320px,31vw,420px)!important;
  display:flex;flex-direction:column;border:1px solid #e0dcd5!important;
  border-radius:14px!important;background:#fdfcf9!important;box-shadow:0 8px 24px rgba(31,46,43,.055);
  scroll-snap-align:start;overflow:hidden;isolation:auto;
}
.tfftm-section .tfftm-slide::before{display:none!important;content:none!important}
.tfftm-section .tfftm-slide>img{
  position:static!important;display:block!important;flex:1 1 auto!important;
  min-height:0!important;width:100%!important;height:calc(100% - 49px)!important;
  max-width:100%!important;object-fit:contain!important;object-position:center!important;
  background:#f3f1ed!important;transform:none!important;filter:none!important;
}
.tfftm-section .tfftm-slide:hover>img{transform:none!important}
.tfftm-section .tfftm-slide figcaption{
  position:static!important;display:flex!important;flex:0 0 49px;height:49px!important;
  align-items:center!important;padding:0 19px!important;gap:13px!important;
  background:#fdfcf9!important;color:#243b39!important;font-size:10px!important;
  text-shadow:none!important;letter-spacing:.105em!important;
}
.tfftm-section .tfftm-slide figcaption span{color:#b9856c!important;font-weight:700}
.tfftm-section .tfftm-slide[data-tfftm-orientation="portrait"]{width:280px}
.tfftm-section .tfftm-slide[data-tfftm-orientation="landscape"]{width:525px}
@media(max-width:850px){
 .tfftm-section .tfftm-slide{height:350px!important}
 .tfftm-section .tfftm-slide[data-tfftm-orientation="portrait"]{width:250px}
 .tfftm-section .tfftm-slide[data-tfftm-orientation="landscape"]{width:440px}
}
@media(max-width:550px){
 .tfftm-section .tfftm-slide{height:300px!important}
 .tfftm-section .tfftm-slide[data-tfftm-orientation="portrait"]{width:205px}
 .tfftm-section .tfftm-slide[data-tfftm-orientation="landscape"]{width:355px}
 .tfftm-section .tfftm-track{gap:12px}
 .tfftm-section .tfftm-slide figcaption{font-size:9px!important;flex-basis:46px;height:46px!important}
}
/* Editorial redesign of the separate 'persoonlijk & professioneel' image/text card. */
.tfftm-story-premium{
  display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  gap:0!important;align-items:stretch!important;overflow:hidden!important;
  max-width:1320px!important;margin:24px auto 34px!important;
  border:1px solid #e1d9d0!important;border-radius:20px!important;
  background:#fdfbf7!important;box-shadow:0 18px 52px rgba(34,47,42,.075)!important;
  color:#213739!important;
}
.tfftm-story-premium *{box-sizing:border-box}
.tfftm-story-premium .tfftm-story-image{
  margin:0!important;background:#eae8e1!important;align-self:stretch!important;
  min-height:340px!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
.tfftm-story-premium .tfftm-story-image img{
  display:block!important;width:100%!important;height:100%!important;
  aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important;
  transform:none!important;filter:none!important;opacity:1!important;border:0!important;
}
.tfftm-story-premium .tfftm-story-copy{
  padding:clamp(28px,4vw,70px)!important;display:flex!important;flex-direction:column!important;
  justify-content:center!important;min-width:0!important;background:#fdfbf7!important;
}
.tfftm-story-premium .tfftm-story-kicker{font:700 10px/1.45 Arial,sans-serif;letter-spacing:.17em;color:#ad7d64;margin:0 0 15px}
.tfftm-story-premium h3{font:400 clamp(30px,3vw,46px)/1.14 Georgia,serif!important;letter-spacing:-.035em!important;color:#1f3435!important;margin:0 0 23px!important}
.tfftm-story-premium p:not(.tfftm-story-kicker){font:400 14px/1.85 Arial,sans-serif!important;color:#576660!important;margin:0 0 17px!important}
@media(max-width:780px){
 .tfftm-story-premium{grid-template-columns:1fr!important;margin:20px 14px 28px!important;border-radius:16px!important}
 .tfftm-story-premium .tfftm-story-image{min-height:0!important}
 .tfftm-story-premium .tfftm-story-image img{height:auto!important;aspect-ratio:4/3!important;object-fit:contain!important}
 .tfftm-story-premium .tfftm-story-copy{padding:30px 26px 36px!important}
}
