/*
Theme Name: to THE Flow / from THE Point
Author: Project build
Description: Visual-system upgrade build for Kocsis Attila / to THE Flow / from THE Point.
Version: 11.1.1
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: to-the-flow
*/

:root{
  --color-ink:#0D1E2A;
  --color-blue-dark:#2B3944;
  --color-blue-muted:#56666B;
  --color-green-dark:#034737;
  --color-green-primary:#246052;
  --color-green-mid:#4F8874;
  --color-green-muted:#70938A;
  --color-green-soft:#9CAAA9;
  --color-green-pale:#AEC5B7;
  --color-green-mist:#B9C9C5;
  --color-bg-green:#EAF3EF;
  --color-bg-main:#FDFEF9;
  --color-border:#D9E5E0;
  --color-card:#F7FBF8;
  --text-primary:var(--color-ink);
  --text-secondary:var(--color-blue-dark);
  --text-muted:var(--color-blue-muted);
  --accent-primary:var(--color-green-primary);
  --accent-primary-hover:var(--color-green-dark);
  --accent-secondary:var(--color-blue-dark);
  --bg-page:var(--color-bg-main);
  --bg-section:#FFFFFF;
  --bg-card:var(--color-card);
  --border-default:var(--color-border);
  --ttf-grid:1200px;
  --ttf-reading:760px;
  --ttf-header:96px;
  --ttf-transition:180ms ease;
  --ttf-radius-sm:6px;
  --ttf-radius-md:10px;
  --ttf-radius-lg:16px;
  --ttf-shadow:0 16px 40px rgba(13,30,42,.05);
  --ttf-guide:rgba(36,96,82,.25);
  --ttf-guide-strong:rgba(36,96,82,.4);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--bg-page);color:var(--text-primary);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
.wp-site-blocks{min-height:100vh}
::selection{background:var(--color-bg-green);color:var(--text-primary)}
a{text-underline-offset:.18em;text-decoration-thickness:.08em}
:where(a,button,input,select,textarea,.wp-element-button):focus-visible{outline:3px solid rgba(36,96,82,.28);outline-offset:3px}
.wp-block-post-content>*{margin-left:0;margin-right:0}
.wp-block-post-content>p,.wp-block-post-content>ul,.wp-block-post-content>ol,.wp-block-post-content>h2,.wp-block-post-content>h3,.wp-block-post-content>h4{max-width:var(--ttf-reading)}
.wp-block-post-content>h1{max-width:920px;margin-top:0}
.wp-block-post-content h1,.wp-block-post-content h2,.wp-block-post-content h3{overflow-wrap:break-word;hyphens:auto}

/* Header */
.ttf-site-header{position:sticky;top:0;z-index:40;background:rgba(253,254,249,.94);border-bottom:1px solid rgba(13,30,42,.08)}
@supports(backdrop-filter:blur(10px)){.ttf-site-header{backdrop-filter:blur(10px)}}
.ttf-header-inner,.ttf-footer-inner{width:min(calc(100% - 2.5rem),var(--ttf-grid));margin-inline:auto}
.ttf-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.75rem;min-height:var(--ttf-header)}
.ttf-brand-lockup{flex:0 0 auto;display:flex;align-items:center}
.ttf-brand-home{display:block;flex:0 0 auto}
.ttf-site-header .wp-block-navigation{font-size:.94rem;font-weight:630;gap:1.1rem}
.ttf-site-header .wp-block-navigation-item__content{position:relative;padding:.62rem .12rem;color:var(--text-primary);text-decoration:none;border-bottom:2px solid transparent;transition:color var(--ttf-transition),border-color var(--ttf-transition)}
.ttf-site-header .wp-block-navigation-item__content:hover,.ttf-site-header .wp-block-navigation-item__content:focus-visible{color:var(--accent-primary);border-bottom-color:var(--color-green-mist)}
.ttf-site-header .current-menu-item>.wp-block-navigation-item__content,.ttf-site-header .current-menu-ancestor>.wp-block-navigation-item__content{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}

/* Main layout */
.ttf-main{padding:clamp(3rem,5vw,5.5rem) 1.25rem 5rem}
.ttf-main--front{padding-top:clamp(2rem,3.3vw,3.5rem)}
.ttf-section{position:relative;padding-block:clamp(3.75rem,6vw,6.25rem);border-top:1px solid var(--border-default)}
.ttf-section:first-child{padding-top:0;border-top:0}
.ttf-section>h2,.ttf-section>.wp-block-heading:not(h1){max-width:840px}
.ttf-kicker{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem!important;color:var(--accent-primary);font-size:.76rem;font-weight:770;letter-spacing:.16em;text-transform:uppercase}
.ttf-kicker:before{content:"";width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--color-green-mid));box-shadow:0 0 0 5px rgba(174,197,183,.28)}
.ttf-kicker:after{content:"";width:2.35rem;height:1px;background:linear-gradient(to right,var(--ttf-guide-strong),transparent)}
.ttf-lead{max-width:800px!important;color:var(--text-secondary);font-size:clamp(1.1rem,1.35vw,1.27rem);line-height:1.66}
.ttf-muted{color:var(--text-muted)}
.ttf-section-intro{max-width:780px;color:var(--text-secondary);font-size:1.04rem;line-height:1.68}
.ttf-eyebrow{margin:0 0 .5rem;color:var(--accent-primary);font-size:.72rem;font-weight:770;letter-spacing:.145em;text-transform:uppercase}
.ttf-note{max-width:760px;padding:1rem 1.15rem;border-left:3px solid var(--accent-primary);background:linear-gradient(180deg,rgba(234,243,239,.6),rgba(247,251,248,.8));color:var(--text-secondary)}

/* Buttons and links */
.wp-element-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;transition:background-color var(--ttf-transition),color var(--ttf-transition),border-color var(--ttf-transition),transform var(--ttf-transition);box-shadow:none!important}
.wp-block-button:not(.is-style-outline) .wp-element-button{background:var(--accent-primary)!important;color:#fff!important}
.wp-block-button:not(.is-style-outline) .wp-element-button:hover{background:var(--accent-primary-hover)!important;transform:translateY(-1px)}
.wp-block-button.is-style-outline .wp-element-button{background:transparent!important;color:var(--accent-secondary)!important;border:1px solid var(--border-default)!important}
.wp-block-button.is-style-outline .wp-element-button:hover{color:var(--accent-primary)!important;border-color:var(--accent-primary)!important;background:rgba(234,243,239,.62)!important}
.wp-element-button:after{content:"→";display:inline-block;margin-left:.55rem;transition:transform var(--ttf-transition)}
.wp-element-button:hover:after{transform:translateX(2px)}
.wp-site-blocks a:not(.wp-element-button){color:var(--accent-primary);text-decoration-color:rgba(36,96,82,.28);transition:color var(--ttf-transition),text-decoration-color var(--ttf-transition)}
.wp-site-blocks a:not(.wp-element-button):hover{color:var(--accent-primary-hover);text-decoration-color:var(--accent-primary-hover)}

/* Hero */
.ttf-home-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1.4rem,2.2vw,2.4rem);row-gap:1rem;align-items:start;min-height:min(640px,72vh)}
.ttf-home-hero>.ttf-kicker,.ttf-home-hero>h1,.ttf-home-hero>.ttf-lead,.ttf-home-hero>.wp-block-buttons{grid-column:1/9}
.ttf-home-hero>h1{margin:0;max-width:840px;font-size:clamp(3rem,4.9vw,4.95rem)!important;line-height:1.01;letter-spacing:-.055em;text-wrap:balance}
.ttf-home-hero>.wp-block-buttons{margin-top:.4rem;gap:.85rem}
.ttf-home-hero::after{content:"";grid-column:9/13;grid-row:1/8;align-self:start;justify-self:stretch;min-height:360px;border:1px solid rgba(217,229,224,.7);border-radius:24px;background:radial-gradient(circle at 18% 18%, rgba(174,197,183,.18), transparent 28%),linear-gradient(180deg, rgba(255,255,255,.78), rgba(247,251,248,.8));pointer-events:none;box-shadow:var(--ttf-shadow)}
.ttf-hero-flow-start{grid-column:9/13;grid-row:1/8;position:relative;z-index:1;display:grid;grid-auto-rows:minmax(36px,auto);row-gap:.55rem;align-content:start;margin-top:1.2rem;padding:1.35rem 1.15rem 1rem 1.4rem}
.ttf-hero-flow-start:before{content:"";position:absolute;left:14px;top:2.1rem;bottom:2rem;width:1px;background:linear-gradient(to bottom, transparent 0, var(--ttf-guide) 8%, var(--ttf-guide) 92%, transparent 100%)}
.ttf-hero-flow-node{position:relative;display:flex;align-items:center;min-height:38px;padding-left:1.55rem;color:var(--text-muted);font-size:.69rem;line-height:1.25;letter-spacing:.08em;text-transform:uppercase}
.ttf-hero-flow-node:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--bg-page);border:1.5px solid var(--accent-primary);box-shadow:0 0 0 5px var(--bg-page)}
.ttf-hero-flow-node--origin,.ttf-hero-flow-node--result{color:var(--accent-primary);font-weight:760}
.ttf-hero-flow-node--origin:before,.ttf-hero-flow-node--result:before{background:linear-gradient(135deg,var(--accent-primary),var(--color-green-mid));border-color:transparent}
.ttf-hero-flow-continuation{position:absolute;left:10px;bottom:.85rem;width:8px;height:8px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 0 5px var(--bg-page)}

/* Problem / editorial cards */
.ttf-problem-grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1.2rem,2.4vw,2.4rem);row-gap:0;counter-reset:ttf-item;margin-top:2.25rem}
.ttf-problem-grid:before{content:"";position:absolute;left:50%;top:0;bottom:1.5rem;width:1px;background:linear-gradient(to bottom,var(--ttf-guide),rgba(36,96,82,.05))}
.ttf-problem-card,.ttf-capability,.ttf-step,.ttf-case-card{position:relative;padding:1.45rem 0 2rem;background:transparent;counter-increment:ttf-item}
.ttf-problem-card{grid-column:1/6;padding-right:1rem;border-top:1px solid var(--border-default)}
.ttf-problem-card:nth-child(even){grid-column:8/13}
.ttf-problem-card:nth-child(5){grid-column:1/6;max-width:none}
.ttf-problem-card:before,.ttf-capability:before,.ttf-step:before{content:counter(ttf-item,decimal-leading-zero);display:block;margin-bottom:.85rem;color:var(--accent-primary);font-size:.72rem;font-weight:780;letter-spacing:.12em}
.ttf-problem-card:after{content:"";position:absolute;top:1.42rem;right:calc(-20% - 3px);width:8px;height:8px;border-radius:50%;background:var(--bg-page);border:1.5px solid var(--accent-primary)}
.ttf-problem-card:nth-child(even):after{left:calc(-20% - 3px);right:auto}
.ttf-problem-card h3,.ttf-capability h3,.ttf-step h3,.ttf-case-card h3,.ttf-layer h3,.ttf-education h3,.ttf-spectrum-group h3,.ttf-contact-aside h2{display:flex;align-items:flex-start;gap:.75rem;margin:.1rem 0 .7rem;font-size:clamp(1.18rem,1.6vw,1.55rem);line-height:1.18;letter-spacing:-.02em}
.ttf-problem-card p,.ttf-capability p,.ttf-step p,.ttf-case-card p,.ttf-layer p,.ttf-spectrum-group p{margin:.35rem 0 0;color:var(--text-secondary);line-height:1.64}
.ttf-problem-card ul{margin:.75rem 0 0;padding-left:1.15rem;color:var(--text-secondary)}
.ttf-problem-card li+li{margin-top:.28rem}

/* Flow maps and signature diagrams */
.ttf-flow-map{margin:2rem 0 2.25rem;padding:1.4rem 0;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);display:flex;align-items:center;gap:0;overflow:visible;white-space:normal}
.ttf-flow-map .ttf-node{position:relative;flex:1;padding:1rem .6rem .9rem 1.1rem;border:0;background:transparent;font-weight:650;line-height:1.3;color:var(--text-secondary)}
.ttf-flow-map .ttf-node:before{content:"";position:absolute;left:0;top:1.33rem;width:8px;height:8px;border-radius:50%;background:var(--text-primary)}
.ttf-flow-map .ttf-arrow{flex:0 0 auto;color:var(--color-green-soft);padding:0 .15rem;font-size:1rem}
.ttf-signature-map .ttf-node:first-child{font-weight:780;color:var(--text-primary)}
.ttf-signature-map .ttf-node:last-child{color:var(--accent-primary);font-weight:780}
.ttf-signature-map .ttf-node:last-child:before{background:var(--accent-primary);width:10px;height:10px;top:1.25rem}
.ttf-method-map{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center}

.ttf-relationship-map{display:grid;grid-template-columns:minmax(150px,.72fr) 2.5fr;gap:clamp(2rem,4vw,4.5rem);align-items:center;margin:2.3rem 0 2rem;padding:2rem 0;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}
.ttf-relationship-origin{position:relative;padding-left:1.35rem;font-weight:760;color:var(--text-primary)}
.ttf-relationship-origin:before{content:"";position:absolute;left:0;top:.42rem;width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--color-green-mid));box-shadow:0 0 0 5px var(--bg-page)}
.ttf-relationship-origin:after{content:"";position:absolute;left:11px;top:.78rem;width:calc(100% + 3rem);height:1px;background:var(--ttf-guide)}
.ttf-relationship-branches{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem 1.2rem;padding-left:1.3rem}
.ttf-relationship-branches:before{content:"";position:absolute;left:0;top:8%;bottom:8%;width:1px;background:var(--ttf-guide)}
.ttf-relationship-branches span{position:relative;padding:.7rem .55rem .7rem 1rem;color:var(--text-secondary);font-size:.88rem;line-height:1.38;border-bottom:1px solid rgba(217,229,224,.75)}
.ttf-relationship-branches span:before{content:"";position:absolute;left:-1.2rem;top:50%;width:1.15rem;height:1px;background:var(--ttf-guide)}
.ttf-relationship-branches span:after{content:"";position:absolute;left:-.3rem;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:var(--bg-page);border:1px solid var(--accent-primary)}

/* Proof, layer, spectrum */
.ttf-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.2vw,2.2rem);margin-top:2rem}
.ttf-proof>div{padding:1rem 0 0;border-top:1px solid var(--text-primary);font-size:.94rem;line-height:1.48;color:var(--text-muted)}
.ttf-proof strong{display:block;margin-bottom:.35rem;color:var(--text-primary);font-size:1rem;line-height:1.25;font-weight:730}
.ttf-layer-flow{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.8rem,1.8vw,1.8rem);margin-top:2.3rem;padding-top:2.2rem}
.ttf-layer-flow:before{content:"";position:absolute;left:5%;right:5%;top:1rem;height:1px;background:var(--ttf-guide-strong)}
.ttf-layer{position:relative;padding-top:.95rem}
.ttf-layer:before{content:"";position:absolute;top:-1.4rem;left:0;width:9px;height:9px;border-radius:50%;background:var(--bg-page);border:1.5px solid var(--accent-primary);box-shadow:0 0 0 5px var(--bg-page)}
.ttf-layer h3{font-size:1.06rem}
.ttf-capability-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);counter-reset:ttf-item;margin-top:2rem}
.ttf-capability{padding-right:.5rem;border-top:1px solid var(--border-default)}
.ttf-capability h3{font-size:1.08rem}
.ttf-spectrum{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);margin-top:2rem}
.ttf-spectrum-group{padding-top:1rem;border-top:1px solid var(--border-default)}
.ttf-spectrum-group h3{font-size:.83rem;letter-spacing:.09em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.8rem}
.ttf-spectrum-group p{font-size:.95rem}

/* Method */
.ttf-method-steps{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.8rem,1.8vw,1.8rem);counter-reset:ttf-item;margin-top:2.4rem;padding-top:2rem}
.ttf-method-steps:before{content:"";position:absolute;left:3%;right:3%;top:.9rem;height:1px;background:var(--ttf-guide-strong)}
.ttf-method-steps .ttf-step{border-top:0;padding:1rem .5rem 1.2rem 0}
.ttf-method-steps .ttf-step:before{content:counter(ttf-item,decimal-leading-zero);position:absolute;top:-1.63rem;left:0;width:1.8rem;height:1.8rem;border-radius:50%;display:grid;place-items:center;background:var(--bg-page);border:1px solid var(--accent-primary);color:var(--accent-primary);font-size:.61rem;font-weight:800;letter-spacing:.03em;z-index:2}
.ttf-step-question{display:block;margin-top:.75rem;color:var(--accent-primary);font-weight:680}

/* About / career */
.ttf-about-hero{align-items:start!important;gap:clamp(2.5rem,5vw,5.5rem)!important;margin-bottom:clamp(3.5rem,6vw,5rem)}
.ttf-about-hero .wp-block-column:first-child{flex-basis:66%!important}
.ttf-about-hero .wp-block-column:last-child{flex-basis:34%!important}
.ttf-about-hero h1{margin-top:0;max-width:780px}
.ttf-portrait{margin:0;padding-top:.35rem}
.ttf-portrait img{width:min(100%,380px);border-radius:22px;box-shadow:var(--ttf-shadow)}
.ttf-journey{position:relative;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.45rem;margin-top:2rem;padding-top:1.4rem}
.ttf-journey:before{content:"";position:absolute;left:2%;right:2%;top:.55rem;height:1px;background:var(--ttf-guide-strong)}
.ttf-journey span{position:relative;padding-top:.35rem;font-size:.74rem;line-height:1.35;color:var(--text-muted)}
.ttf-journey span:before{content:"";position:absolute;top:-.92rem;left:0;width:8px;height:8px;border-radius:50%;background:var(--bg-page);border:1.5px solid var(--accent-primary)}
.ttf-ops-chain{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:2rem 0 0;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}
.ttf-ops-chain>div{position:relative;padding:1.15rem 1rem 1.2rem 1.3rem;border-right:1px solid var(--border-default);min-height:110px}
.ttf-ops-chain>div:last-child{border-right:0}
.ttf-ops-chain>div:before{content:"";position:absolute;left:.55rem;top:1.5rem;width:7px;height:7px;border-radius:50%;background:var(--accent-primary)}
.ttf-ops-chain strong{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.ttf-ops-chain span{display:block;margin-top:.45rem;color:var(--text-muted);font-size:.88rem;line-height:1.4}
.ttf-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,5vw,5rem);margin-top:2rem}
.ttf-system-group{padding-top:1rem;border-top:1px solid var(--border-default)}
.ttf-system-group h3{margin:0 0 .8rem;font-size:1.08rem}
.ttf-system-group p{margin:0;color:var(--text-secondary);line-height:1.62}
.ttf-timeline{position:relative;margin-top:2rem;padding-left:1.7rem}
.ttf-timeline:before{content:"";position:absolute;left:.28rem;top:.4rem;bottom:.4rem;width:1px;background:var(--ttf-guide-strong)}
.ttf-timeline-row{position:relative;display:grid;grid-template-columns:120px 1.05fr 2fr;gap:1.35rem;padding:1.05rem 0;border-bottom:1px solid var(--border-default)}
.ttf-timeline-row:before{content:"";position:absolute;left:-1.62rem;top:1.32rem;width:8px;height:8px;border-radius:50%;background:var(--bg-page);border:1.5px solid var(--accent-primary)}
.ttf-timeline-row time{color:var(--accent-primary);font-size:.82rem;font-weight:760}
.ttf-timeline-row strong{font-size:.96rem}
.ttf-timeline-row p{margin:0;color:var(--text-secondary);line-height:1.52}

/* Cases and education */
.ttf-education-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4.5rem);margin-top:2rem}
.ttf-education{padding-top:1.2rem;border-top:1px solid var(--text-primary)}
.ttf-education h3{font-size:1.35rem}
.ttf-education ul{margin:0;padding-left:1.1rem;color:var(--text-secondary);columns:2;column-gap:1.8rem}
.ttf-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.4vw,2.6rem);margin-top:2rem}
.ttf-case-card{border-top:1px solid var(--border-default)}
.ttf-case-card h3{font-size:clamp(1.12rem,1.45vw,1.35rem)}
.ttf-case-meta{display:grid;grid-template-columns:110px 1fr;gap:.5rem 1rem;margin-top:1rem}
.ttf-case-meta dt{color:var(--accent-primary);font-size:.71rem;font-weight:780;letter-spacing:.09em;text-transform:uppercase}
.ttf-case-meta dd{margin:0;color:var(--text-secondary);line-height:1.55}

/* CTA */
.ttf-page-cta{margin-top:clamp(4rem,8vw,7rem);padding:clamp(2rem,4vw,3rem) 0;border-top:1px solid var(--text-primary);border-bottom:1px solid var(--border-default)}
.ttf-page-cta h2{max-width:760px;margin-top:0}
.ttf-page-cta p{max-width:700px;color:var(--text-secondary)}

/* Contact */
.ttf-contact-flow{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2.2rem 0 1rem;padding-top:1.5rem;max-width:920px}
.ttf-contact-flow:before{content:"";position:absolute;left:2%;right:2%;top:.55rem;height:1px;background:var(--ttf-guide-strong)}
.ttf-contact-flow span{position:relative;color:var(--text-muted);font-size:.76rem;letter-spacing:.04em}
.ttf-contact-flow span:before{content:"";position:absolute;left:0;top:-1.22rem;width:8px;height:8px;border-radius:50%;background:var(--bg-page);border:1.5px solid var(--accent-primary)}
.ttf-contact-flow--final{grid-template-columns:repeat(5,1fr);max-width:1050px}
.ttf-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:clamp(2rem,6vw,6rem);align-items:start;margin-top:2rem}
.ttf-contact-guided{position:relative;margin-top:1.4rem}
.ttf-contact-guided:before{content:"";position:absolute;left:-1.1rem;top:.6rem;bottom:.6rem;width:1px;background:linear-gradient(to bottom,var(--ttf-guide),transparent)}
.ttf-panel{max-width:960px;padding:clamp(1.4rem,3vw,2.2rem)!important;background:linear-gradient(180deg,#fff,var(--color-card));border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--ttf-shadow)}
.ttf-form{display:grid;gap:1rem}
.ttf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem 1.2rem}
.ttf-form .ttf-span-2{grid-column:1/-1}
.ttf-form fieldset{grid-column:1/-1;border:0;padding:0;margin:0;display:contents}
.ttf-form legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ttf-form label{display:block;margin-bottom:.42rem;font-weight:650}
.ttf-form input,.ttf-form select,.ttf-form textarea{width:100%;min-height:46px;padding:.82rem .9rem;border:1px solid #A9B8B4;border-radius:10px;background:#fff;color:var(--text-primary);font:inherit}
.ttf-form textarea{min-height:180px;resize:vertical}
.ttf-form input:focus,.ttf-form select:focus,.ttf-form textarea:focus{outline:3px solid rgba(36,96,82,.18);outline-offset:2px;border-color:var(--accent-primary)}
.ttf-form .ttf-check{display:flex;gap:.7rem;align-items:flex-start;min-height:44px;font-weight:400;cursor:pointer}
.ttf-form .ttf-check input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin-top:.2rem}
.ttf-form button{cursor:pointer}
.ttf-alert{padding:.95rem 1rem;margin-bottom:1rem;border-left:4px solid currentColor;background:#fff;border-radius:8px}
.ttf-alert--ok{color:#155a43}.ttf-alert--error{color:#842d2d}
.ttf-contact-aside{padding-top:1rem;border-top:1px solid var(--text-primary)}
.ttf-contact-aside h2{font-size:1.3rem}
.ttf-contact-aside ol{padding-left:1.2rem;color:var(--text-secondary)}
.ttf-contact-aside li+li{margin-top:.65rem}

/* Legal */
.ttf-legal-page{max-width:960px}
.ttf-legal-page h2,.ttf-legal-page h3{max-width:900px}
.ttf-legal-page h2{margin-top:2.5rem}
.ttf-legal-page h3{margin-top:1.8rem}
.ttf-legal-status{max-width:900px;padding:1rem 1.15rem;border:1px solid var(--border-default);border-radius:12px;background:linear-gradient(180deg,#fff,rgba(247,251,248,.9));color:var(--text-secondary);font-size:.95rem;line-height:1.58}

/* Guided flow system */
.ttf-guided-section{--ttf-guide-x:.55rem;position:relative;padding-left:clamp(2.1rem,3.5vw,3.2rem)}
.ttf-guided-section:before{content:"";position:absolute;left:var(--ttf-guide-x);top:clamp(3.7rem,5vw,5rem);bottom:-1px;width:1px;background:linear-gradient(to bottom,var(--ttf-guide),rgba(36,96,82,.06))}
.ttf-guided-section:after{content:"";position:absolute;left:calc(var(--ttf-guide-x) - 4px);top:clamp(3.55rem,4.9vw,4.9rem);width:9px;height:9px;border-radius:50%;background:var(--bg-page);border:1.5px solid var(--accent-primary);box-shadow:0 0 0 5px var(--bg-page)}
.ttf-guided-section>.ttf-kicker:before{display:none}
.ttf-guided-section>.ttf-kicker:after{width:2.8rem;background:var(--ttf-guide)}
.ttf-guided-problems{--ttf-guide-x:.55rem}.ttf-guided-relationship{--ttf-guide-x:1.2rem}.ttf-guided-merge{--ttf-guide-x:.78rem}.ttf-guided-about{--ttf-guide-x:.65rem}.ttf-guided-ops{--ttf-guide-x:1.15rem}.ttf-guided-timeline{--ttf-guide-x:.7rem}
.ttf-flow-pause{position:relative}
.ttf-flow-pause:before{content:"";position:absolute;left:.55rem;top:4rem;width:9px;height:9px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 0 6px var(--bg-page)}
.ttf-depth-section{position:relative}
.ttf-depth-section>.ttf-kicker:before{background:var(--bg-page);border:1.5px solid var(--accent-primary);box-shadow:0 0 0 5px var(--bg-page)}
.ttf-flow-next{position:relative;padding-left:clamp(2rem,4vw,3.5rem)}
.ttf-flow-next:before{content:"";position:absolute;left:.55rem;top:1rem;bottom:1rem;width:1px;background:var(--ttf-guide)}
.ttf-flow-next:after{content:"↘";position:absolute;left:.08rem;bottom:.4rem;color:var(--accent-primary);font-size:1rem}

/* Footer */
.ttf-site-footer{margin-top:clamp(4rem,8vw,6rem);padding:2.25rem 0;background:#F6F8F5;border-top:1px solid rgba(13,30,42,.06)}
.ttf-footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem}
.ttf-footer-logo{display:block}
.ttf-footer-name{margin:.9rem 0 .1rem;color:var(--text-primary);font-weight:700}
.ttf-footer-descriptor{margin:0;color:var(--text-secondary)}
.ttf-site-footer .wp-block-navigation{gap:.8rem 1rem;justify-content:flex-end}
.ttf-site-footer .wp-block-navigation-item__content{color:var(--text-secondary);text-decoration:none}
.ttf-site-footer .wp-block-navigation-item__content:hover{color:var(--accent-primary)}

/* Icon mapping */
.ttf-problem-card h3::before,.ttf-step h3::before,.ttf-layer h3::before,.ttf-spectrum-group h3::before,.ttf-contact-aside h2::before,.ttf-education h3::before,.ttf-system-group h3::before{content:"";flex:0 0 auto;width:30px;height:30px;margin-top:.05rem;background-repeat:no-repeat;background-position:center;background-size:contain}
.ttf-spectrum-group h3::before{width:24px;height:24px}
.ttf-contact-aside h2::before{width:28px;height:28px}
.ttf-problem-card:nth-child(1) h3::before{background-image:url('assets/icons/root-cause.svg')}
.ttf-problem-card:nth-child(2) h3::before{background-image:url('assets/icons/process.svg')}
.ttf-problem-card:nth-child(3) h3::before{background-image:url('assets/icons/data.svg')}
.ttf-problem-card:nth-child(4) h3::before{background-image:url('assets/icons/enterprise.svg')}
.ttf-problem-card:nth-child(5) h3::before{background-image:url('assets/icons/people.svg')}
.ttf-problem-card:nth-child(6) h3::before{background-image:url('assets/icons/optimization.svg')}
.ttf-method-steps .ttf-step:nth-child(1) h3::before{background-image:url('assets/icons/point-insight.svg')}
.ttf-method-steps .ttf-step:nth-child(2) h3::before{background-image:url('assets/icons/root-cause.svg')}
.ttf-method-steps .ttf-step:nth-child(3) h3::before{background-image:url('assets/icons/connection.svg')}
.ttf-method-steps .ttf-step:nth-child(4) h3::before{background-image:url('assets/icons/intervention.svg')}
.ttf-method-steps .ttf-step:nth-child(5) h3::before{background-image:url('assets/icons/strategy.svg')}
.ttf-method-steps .ttf-step:nth-child(6) h3::before{background-image:url('assets/icons/progress.svg')}
.ttf-layer-flow .ttf-layer:nth-child(1) h3::before,.ttf-proof>div:nth-child(1) strong::before{background-image:url('assets/icons/strategy.svg')}
.ttf-layer-flow .ttf-layer:nth-child(2) h3::before,.ttf-proof>div:nth-child(2) strong::before{background-image:url('assets/icons/enterprise.svg')}
.ttf-layer-flow .ttf-layer:nth-child(3) h3::before,.ttf-proof>div:nth-child(3) strong::before{background-image:url('assets/icons/progress.svg')}
.ttf-layer-flow .ttf-layer:nth-child(4) h3::before,.ttf-proof>div:nth-child(4) strong::before{background-image:url('assets/icons/people.svg')}
.ttf-layer-flow .ttf-layer:nth-child(5) h3::before{background-image:url('assets/icons/contact.svg')}
.ttf-proof strong{display:flex;align-items:flex-start;gap:.7rem}
.ttf-proof strong::before{content:"";flex:0 0 auto;width:24px;height:24px;background-repeat:no-repeat;background-position:center;background-size:contain;margin-top:.02rem}
.ttf-spectrum-group:nth-child(1) h3::before{background-image:url('assets/icons/process.svg')}
.ttf-spectrum-group:nth-child(2) h3::before{background-image:url('assets/icons/flow.svg')}
.ttf-spectrum-group:nth-child(3) h3::before{background-image:url('assets/icons/connection.svg')}
.ttf-spectrum-group:nth-child(4) h3::before{background-image:url('assets/icons/data.svg')}
.ttf-spectrum-group:nth-child(5) h3::before{background-image:url('assets/icons/system.svg')}
.ttf-contact-aside h2::before{background-image:url('assets/icons/contact.svg')}
.ttf-education:nth-child(1) h3::before{background-image:url('assets/icons/progress.svg')}
.ttf-education:nth-child(2) h3::before{background-image:url('assets/icons/enterprise.svg')}
.ttf-system-group:nth-child(1) h3::before{background-image:url('assets/icons/people.svg')}
.ttf-system-group:nth-child(2) h3::before{background-image:url('assets/icons/system.svg')}

/* Responsive */
@media(max-width:1080px){
  .ttf-layer-flow,.ttf-capability-grid,.ttf-spectrum{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ttf-proof{grid-template-columns:1fr 1fr}
  .ttf-contact-flow--final{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){
  .ttf-header-inner{min-height:88px}
  .ttf-home-hero{display:block;min-height:0}
  .ttf-home-hero::after{display:none}
  .ttf-hero-flow-start{margin:2rem 0 0;padding:1.1rem 0 .8rem 1.35rem;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}
  .ttf-hero-flow-start:before{left:5px;top:1.85rem;bottom:1.15rem}
  .ttf-guided-section{padding-left:2.2rem}
  .ttf-relationship-map{grid-template-columns:1fr;gap:1.4rem}
  .ttf-relationship-origin:after{display:none}
  .ttf-about-hero{flex-direction:column!important;gap:2rem!important}
  .ttf-about-hero .wp-block-column:first-child,.ttf-about-hero .wp-block-column:last-child{flex-basis:100%!important;width:100%}
  .ttf-portrait img{max-width:320px}
  .ttf-ops-chain,.ttf-method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ttf-system-grid,.ttf-education-grid,.ttf-case-grid,.ttf-contact-layout{grid-template-columns:1fr}
  .ttf-contact-guided:before{display:none}
  .ttf-footer-inner{flex-direction:column}
}
@media(max-width:782px){
  .ttf-header-inner{width:calc(100% - 1.8rem)}
  .ttf-main{padding-inline:.95rem;padding-bottom:4rem}
  .ttf-home-hero>h1{font-size:clamp(2.55rem,10vw,4rem)!important;max-width:15ch}
  .ttf-home-hero>.ttf-lead{max-width:680px!important}
  .ttf-site-header .wp-block-navigation__responsive-container{padding:1.1rem}
  .ttf-site-header .wp-block-navigation__responsive-container-content{padding-top:1.75rem}
  .ttf-problem-grid{grid-template-columns:1fr}
  .ttf-problem-grid:before{display:none}
  .ttf-problem-card,.ttf-problem-card:nth-child(even),.ttf-problem-card:nth-child(5){grid-column:auto;padding-right:0}
  .ttf-problem-card:after,.ttf-problem-card:nth-child(even):after{display:none}
  .ttf-flow-map{display:grid;grid-template-columns:1fr;gap:.15rem;padding:1.25rem 0}
  .ttf-flow-map .ttf-node{padding:.75rem .7rem .75rem 1.2rem}
  .ttf-flow-map .ttf-node:before{top:1.05rem}
  .ttf-flow-map .ttf-arrow{position:relative;width:1.25rem;height:16px;padding:0 0 0 1.25rem;font-size:0}
  .ttf-flow-map .ttf-arrow:before{content:"";position:absolute;left:3px;top:1px;width:1px;height:14px;background:var(--border-default)}
  .ttf-relationship-map{padding:1.35rem 0 1.5rem}
  .ttf-relationship-branches{grid-template-columns:1fr;padding-left:1.5rem}
  .ttf-layer-flow,.ttf-capability-grid,.ttf-spectrum,.ttf-proof{grid-template-columns:1fr 1fr}
  .ttf-method-steps{display:block;margin-left:.6rem;padding-left:1.7rem}
  .ttf-method-steps:before{display:block;left:.45rem;right:auto;top:.4rem;bottom:.4rem;width:1px;height:auto}
  .ttf-method-steps .ttf-step{position:relative;border-top:0;border-bottom:1px solid var(--border-default);padding:1.1rem 0 1.35rem}
  .ttf-method-steps .ttf-step:before{top:1.25rem;left:-2.13rem;width:1.65rem;height:1.65rem}
  .ttf-journey{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:1.5rem}
  .ttf-journey:before{display:none}
  .ttf-journey span{border-top:1px solid var(--border-default);padding-top:.8rem}
  .ttf-journey span:before{top:-.3rem}
  .ttf-ops-chain{grid-template-columns:1fr}
  .ttf-ops-chain>div{border-right:0;border-bottom:1px solid var(--border-default)}
  .ttf-ops-chain>div:last-child{border-bottom:0}
  .ttf-timeline-row{grid-template-columns:100px 1fr;gap:.5rem 1rem}
  .ttf-timeline-row p{grid-column:2}
  .ttf-contact-flow--final{display:block;padding-left:1.7rem;margin-left:.1rem}
  .ttf-contact-flow--final:before{display:block;left:.35rem;right:auto;top:.3rem;bottom:.3rem;width:1px;height:auto;background:var(--ttf-guide)}
  .ttf-contact-flow--final span{display:block;margin:0;padding:.72rem 0 .72rem .35rem;border-top:0;border-bottom:1px solid var(--border-default)}
  .ttf-contact-flow--final span:before{left:-1.72rem;top:50%}
  .ttf-form-grid{grid-template-columns:1fr}
  .ttf-form .ttf-span-2{grid-column:auto}
}
@media(max-width:560px){
  .ttf-brand-home,.ttf-footer-logo{width:min(100%,240px)}
  .ttf-header-inner{width:calc(100% - 1.2rem)}
  .ttf-main{padding-inline:.82rem}
  .ttf-home-hero>h1{font-size:clamp(2.32rem,11.6vw,3.25rem)!important;max-width:none}
  .ttf-layer-flow,.ttf-capability-grid,.ttf-spectrum,.ttf-proof{grid-template-columns:1fr}
  .ttf-journey{grid-template-columns:1fr 1fr}
  .ttf-education ul{columns:1}
  .ttf-timeline-row{grid-template-columns:1fr}
  .ttf-timeline-row p{grid-column:auto}
  .wp-block-buttons{gap:.65rem}
  .wp-block-button,.wp-block-button__link{width:100%}
  .wp-block-button__link{text-align:center}
  .ttf-guided-section{padding-left:1.55rem}
  .ttf-guided-section>.ttf-kicker:after{width:1.4rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* =========================================================
   v11.1.1 VISUAL QA PATCH
   Source: approved logo web package + production XML structure.
   Content is unchanged; these rules correct presentation only.
   ========================================================= */

/* Baseline typography: keep theme.json and frontend aligned. */
body{
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",Aptos,"Helvetica Neue",Arial,sans-serif;
  font-size:1.0625rem;
  line-height:1.66;
}
.wp-block-post-content h1{font-size:clamp(2.65rem,4.35vw,4.65rem);line-height:1.02;letter-spacing:-.052em}
.wp-block-post-content h2{font-size:clamp(1.75rem,2.5vw,2.65rem);line-height:1.08;letter-spacing:-.038em}
.wp-block-post-content h3{font-size:clamp(1.08rem,1.4vw,1.34rem);line-height:1.22;letter-spacing:-.018em}
.wp-block-post-content p{max-width:76ch}

/* Stronger, WCAG-visible focus indicator. */
:where(a,button,input,select,textarea,.wp-element-button):focus-visible{
  outline:3px solid var(--color-green-dark);
  outline-offset:3px;
  box-shadow:0 0 0 2px var(--bg-page);
}

/* Approved logo assets: use the supplied tight transparent web exports exactly. */
.ttf-brand-home,.ttf-footer-logo{
  aspect-ratio:auto;
  background:none!important;
  text-indent:0;
  overflow:visible;
  white-space:normal;
  line-height:0;
}
.ttf-brand-home{width:clamp(238px,21vw,292px)}
.ttf-footer-logo{width:clamp(260px,25vw,340px)}
.ttf-brand-picture,.ttf-brand-picture img{display:block;width:100%;height:auto}
.ttf-brand-picture img{object-fit:contain}
.ttf-header-inner{min-height:104px}
.ttf-site-header .wp-block-navigation{font-size:.93rem;line-height:1.2}
.ttf-site-header .wp-block-navigation-item__content{padding:.72rem .15rem}

/* Hero: remove the card-like block around the flow rail and restore negative space. */
.ttf-home-hero{min-height:min(600px,68vh);padding-top:.45rem}
.ttf-home-hero::after{
  min-height:390px;
  border:0;
  border-radius:0;
  background:
    radial-gradient(circle at 18% 14%,rgba(174,197,183,.16),transparent 31%),
    linear-gradient(115deg,transparent 0 39%,rgba(185,201,197,.24) 39.2% 39.5%,transparent 39.7% 100%);
  box-shadow:none;
}
.ttf-hero-flow-start{margin-top:.55rem;padding:1.1rem .65rem 1rem 1.4rem}
.ttf-hero-flow-node{font-size:.72rem;letter-spacing:.075em}

/* Odd problem-card count: avoid a visually empty lower-right quadrant. */
.ttf-problem-card:nth-child(5){grid-column:4/10;max-width:none;padding-right:0}
.ttf-problem-card:nth-child(5):after{display:none}

/* Signature section: clearer node/connection rhythm without turning into a boxed diagram. */
.ttf-relationship-map{padding:2.35rem 0 2.45rem}
.ttf-relationship-branches{gap:.9rem 1.4rem}
.ttf-relationship-branches span{padding:.82rem .55rem .82rem 1.05rem}

/* Method page actually contains five methodology cards in the supplied XML. */
.ttf-method-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1rem,2vw,2rem)}
.ttf-method-steps .ttf-step{padding-right:.75rem}
.ttf-method-steps .ttf-step h3{min-height:2.7em}

/* Cards/sections: stronger editorial hierarchy, fewer "generic card" cues. */
.ttf-panel{border-color:rgba(185,201,197,.78);box-shadow:0 18px 46px rgba(13,30,42,.045)}
.ttf-case-card,.ttf-education,.ttf-system-group,.ttf-spectrum-group,.ttf-capability{border-top-color:rgba(86,102,107,.28)}
.ttf-proof>div{border-top-color:rgba(13,30,42,.82)}
.ttf-note{background:linear-gradient(90deg,rgba(234,243,239,.78),rgba(247,251,248,.36));border-left-color:var(--accent-primary)}

/* CTA: remove the long decorative vertical rail that visually overpowered the CTA. */
.ttf-page-cta.ttf-flow-next{padding-left:0}
.ttf-page-cta.ttf-flow-next:before{display:none}
.ttf-page-cta.ttf-flow-next:after{content:"";left:auto;right:0;bottom:auto;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 0 5px var(--bg-page)}
.ttf-page-cta{padding:clamp(2.2rem,4vw,3.25rem) 0;max-width:100%}
.ttf-page-cta h2{max-width:800px}

/* Forms: native submit button previously fell back to browser-grey in the rendered UI. */
.ttf-form button,
.ttf-form input[type="submit"]{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:168px;
  min-height:48px;
  padding:.86rem 1.2rem;
  border:1px solid var(--accent-primary);
  border-radius:8px;
  background:var(--accent-primary);
  color:#fff;
  font:inherit;
  font-weight:680;
  line-height:1.2;
  cursor:pointer;
  transition:background-color var(--ttf-transition),border-color var(--ttf-transition),transform var(--ttf-transition);
}
.ttf-form button:hover,.ttf-form input[type="submit"]:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover);transform:translateY(-1px)}
.ttf-form button:disabled,.ttf-form input[type="submit"]:disabled{background:var(--color-green-soft);border-color:var(--color-green-soft);color:var(--color-ink);cursor:not-allowed;transform:none}

/* Footer: explicit spacing and wrap, avoiding concatenated legal navigation. */
.ttf-site-footer{padding:2.6rem 0 2.8rem}
.ttf-footer-inner{gap:clamp(2rem,5vw,5rem)}
.ttf-site-footer .wp-block-navigation{max-width:520px;gap:.65rem 1.15rem;row-gap:.7rem}
.ttf-site-footer .wp-block-navigation-item__content{padding:.2rem 0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em}
.ttf-site-footer .wp-block-navigation-item__content:hover{ text-decoration-color:currentColor }

/* Icon audit: use consistent feature-icon scale; utility UI stays smaller. */
.ttf-problem-card h3::before,.ttf-step h3::before,.ttf-layer h3::before,.ttf-contact-aside h2::before,.ttf-education h3::before,.ttf-system-group h3::before{width:28px;height:28px}
.ttf-spectrum-group h3::before{width:22px;height:22px}
.ttf-proof strong::before{width:22px;height:22px}

@media(max-width:980px){
  .ttf-header-inner{min-height:92px}
  .ttf-brand-home{width:clamp(220px,35vw,270px)}
  .ttf-home-hero{padding-top:0}
  .ttf-method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ttf-method-steps:before{display:none}
  .ttf-method-steps .ttf-step{border-top:1px solid var(--border-default);padding-top:1.35rem}
  .ttf-method-steps .ttf-step:before{position:static;display:grid;margin-bottom:.85rem}
}
@media(max-width:782px){
  body{font-size:1rem}
  .ttf-header-inner{min-height:84px;gap:.75rem}
  .ttf-brand-home{width:clamp(190px,54vw,240px)}
  .ttf-home-hero>h1{font-size:clamp(2.45rem,10.5vw,3.8rem)!important;line-height:1.02}
  .ttf-problem-card:nth-child(5){grid-column:auto}
  .ttf-method-steps{display:block;margin-left:0;padding:0}
  .ttf-method-steps .ttf-step{padding:1.15rem 0 1.35rem}
  .ttf-method-steps .ttf-step:before{width:1.72rem;height:1.72rem}
  .ttf-page-cta.ttf-flow-next:after{right:.2rem}
  .ttf-footer-logo{width:min(100%,300px)}
}
@media(max-width:560px){
  .ttf-header-inner{min-height:78px}
  .ttf-brand-home{width:min(61vw,222px)}
  .ttf-footer-logo{width:min(100%,270px)}
  .ttf-form button,.ttf-form input[type="submit"]{width:100%}
}


/* Audited semantic icon mapping for the actual XML content order. */
.ttf-problem-card:nth-child(1) h3::before{background-image:url('assets/icons/flow.svg')}
.ttf-problem-card:nth-child(2) h3::before{background-image:url('assets/icons/process.svg')}
.ttf-problem-card:nth-child(3) h3::before{background-image:url('assets/icons/people.svg')}
.ttf-problem-card:nth-child(4) h3::before{background-image:url('assets/icons/data.svg')}
.ttf-problem-card:nth-child(5) h3::before{background-image:url('assets/icons/system.svg')}

.ttf-method-steps .ttf-step:nth-child(1) h3::before{background-image:url('assets/icons/point-insight.svg')}
.ttf-method-steps .ttf-step:nth-child(2) h3::before{background-image:url('assets/icons/root-cause.svg')}
.ttf-method-steps .ttf-step:nth-child(3) h3::before{background-image:url('assets/icons/strategy.svg')}
.ttf-method-steps .ttf-step:nth-child(4) h3::before{background-image:url('assets/icons/intervention.svg')}
.ttf-method-steps .ttf-step:nth-child(5) h3::before{background-image:url('assets/icons/progress.svg')}

.ttf-layer-flow .ttf-layer:nth-child(1) h3::before{background-image:url('assets/icons/system.svg')}
.ttf-layer-flow .ttf-layer:nth-child(2) h3::before{background-image:url('assets/icons/process.svg')}
.ttf-layer-flow .ttf-layer:nth-child(3) h3::before{background-image:url('assets/icons/data.svg')}
.ttf-layer-flow .ttf-layer:nth-child(4) h3::before{background-image:url('assets/icons/enterprise.svg')}
.ttf-layer-flow .ttf-layer:nth-child(5) h3::before{background-image:url('assets/icons/intervention.svg')}

.ttf-spectrum-group:nth-child(1) h3::before{background-image:url('assets/icons/flow.svg')}
.ttf-spectrum-group:nth-child(2) h3::before{background-image:url('assets/icons/process.svg')}
.ttf-spectrum-group:nth-child(3) h3::before{background-image:url('assets/icons/data.svg')}
.ttf-spectrum-group:nth-child(4) h3::before{background-image:url('assets/icons/system.svg')}
.ttf-spectrum-group:nth-child(5) h3::before{background-image:url('assets/icons/enterprise.svg')}

/* About page intentionally uses fewer icons; narrative and portrait stay dominant. */
.ttf-system-group h3::before{display:none}
.ttf-contact-aside h2:nth-of-type(2)::before{background-image:url('assets/icons/mail.svg')}

/* Navigation layout stays robust even before WP block CSS finishes loading. */
.ttf-site-header .wp-block-navigation,.ttf-site-footer .wp-block-navigation{display:flex;flex-wrap:wrap;align-items:center}
