/* Twentyfive 1.1: integrated marketing, creative and learning offer. */
.t25 .t25-marketing-marquee { animation-duration:75s; }
.t25 .t25-overview-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; }
.t25 .t25-overview-heading h2,.t25 .t25-service-cta h2,.t25 .t25-workshop-intro h2 { font-size:clamp(36px,4.4vw,60px); line-height:1.06; margin:0; }
.t25 .t25-overview-heading h2 span,.t25 .t25-services-heading h2 span,.t25 .t25-service-cta h2 span,.t25 .t25-workshop-intro h2 span { font-weight:300; }
.t25 .t25-inline-link { display:inline-flex; align-items:center; gap:12px; flex-shrink:0; color:hsl(var(--primary)); font-size:12px; text-transform:uppercase; letter-spacing:.12em; padding-bottom:6px; }
.t25 .t25-inline-link:hover { text-decoration:underline; text-underline-offset:5px; }
.t25 .t25-overview-intro { max-width:740px; color:hsl(var(--muted-foreground)); margin:26px 0 40px; font-size:18px; line-height:1.7; }
.t25 .t25-overview-grid,.t25 .t25-services-grid,.t25 .t25-workshop-audiences { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.t25 .t25-overview-card,.t25 .t25-service-card { padding:32px; border:1px solid hsl(var(--border)); border-radius:4px; background:hsl(var(--card)); transition:border-color .2s,transform .2s; }
.t25 .t25-overview-card { display:flex; flex-direction:column; min-width:0; }
.t25 .t25-overview-card:hover { border-color:hsl(var(--primary)); transform:translateY(-4px); }
.t25 .t25-card-number { font-family:Archivo,Inter,sans-serif; color:hsl(var(--primary)); font-size:14px; font-weight:500; display:block; margin-bottom:32px; letter-spacing:.1em; }
.t25 .t25-overview-card h3 { font-size:30px; font-weight:600; line-height:1.08; margin:0 0 18px; }
.t25 .t25-overview-card .t25-card-subtitle { font-size:14px; color:hsl(var(--foreground)); margin:0 0 12px; }
.t25 .t25-card-description { font-size:14px; line-height:1.75; color:hsl(var(--muted-foreground)); margin:0 0 36px; }
.t25 .t25-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:auto; padding-top:24px; border-top:1px solid hsl(var(--border)); }
.t25 .t25-card-bottom span { font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:hsl(var(--muted-foreground)); line-height:1.8; }
.t25 .t25-card-bottom svg { color:hsl(var(--primary)); flex-shrink:0; }
.t25 .t25-services-lead { max-width:740px; color:hsl(var(--muted-foreground)); font-size:18px; line-height:1.75; margin:32px 0 0; }
.t25 .t25-services-heading { margin-bottom:48px; }
.t25 .t25-services-heading h2 { font-size:clamp(30px,3.2vw,44px); line-height:1.1; margin:20px 0; }
.t25 .t25-services-heading > p:last-child { max-width:680px; font-size:16px; line-height:1.75; color:hsl(var(--muted-foreground)); }
.t25 .t25-service-card { scroll-margin-top:104px; }
.t25 #business-optimization { grid-column:1 / -1; background:hsl(var(--primary) / .045); border-color:hsl(var(--primary) / .3); }
.t25 #business-optimization p { max-width:850px; }
.t25 .t25-service-card:target { border-color:hsl(var(--primary)); }
.t25 .t25-service-card h3 { font-size:25px; font-weight:600; line-height:1.15; margin:0 0 18px; }
.t25 .t25-service-card p { font-size:14px; line-height:1.8; color:hsl(var(--muted-foreground)); margin:0; }
.t25 .t25-service-cta { text-align:center; }
.t25 .t25-service-cta h2 { margin:24px 0; }
.t25 .t25-service-cta h2 span { color:hsl(var(--primary)); }
.t25 .t25-service-cta > p:not(:first-child) { color:hsl(var(--muted-foreground)); max-width:580px; margin:0 auto 32px; line-height:1.8; }
.t25 .t25-workshops { background:hsl(var(--primary) / .035); scroll-margin-top:96px; }
.t25 .t25-workshop-intro { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; margin:28px 0 48px; }
.t25 .t25-workshop-intro h2 span { color:hsl(var(--primary)); }
.t25 .t25-workshop-intro > p { color:hsl(var(--muted-foreground)); font-size:16px; line-height:1.8; margin:0; }
.t25 .t25-workshop-audience { border-top:1px solid hsl(var(--primary) / .35); padding-top:24px; }
.t25 .t25-workshop-audience h3 { font-size:23px; font-weight:500; margin:0 0 14px; }
.t25 .t25-workshop-audience p { color:hsl(var(--muted-foreground)); font-size:14px; line-height:1.8; margin:0; }
@media(max-width:1023px) {
 .t25 .t25-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .t25 .t25-overview-grid { gap:16px; }
 .t25 .t25-overview-card { padding:24px; }
 .t25 .t25-overview-card h3 { font-size:25px; }
 .t25 .t25-overview-heading { display:block; }
 .t25 .t25-inline-link { margin-top:24px; }
 .t25 .t25-workshop-intro { gap:32px; }
}
@media(max-width:767px) {
 .t25 .t25-overview-grid,.t25 .t25-services-grid,.t25 .t25-workshop-audiences,.t25 .t25-workshop-intro { grid-template-columns:1fr; }
 .t25 .t25-overview-card,.t25 .t25-service-card { padding:28px; }
 .t25 .t25-overview-card h3 { font-size:30px; }
 .t25 .t25-card-number { margin-bottom:24px; }
 .t25 .t25-workshop-audiences { gap:32px; }
 .t25 .t25-services-lead,.t25 .t25-overview-intro { font-size:16px; }
}

/* 1.2 — a clearer service directory and editorial project stories. */
.t25 .t25-service-directory { padding-top:64px; padding-bottom:88px; }
.t25 .t25-service-nav { display:flex; flex-wrap:wrap; gap:10px; margin:32px 0 64px; }
.t25 .t25-service-nav a { display:flex; align-items:center; gap:12px; border:1px solid hsl(var(--border)); border-radius:4px; padding:12px 16px; color:hsl(var(--muted-foreground)); font-size:12px; transition:color .2s,border-color .2s; }
.t25 .t25-service-nav a span { color:hsl(var(--primary)); font-size:10px; }
.t25 .t25-service-nav a:hover { color:hsl(var(--foreground)); border-color:hsl(var(--primary)); }
.t25 .t25-service-group { margin-top:64px; scroll-margin-top:104px; }
.t25 .t25-service-group-heading { display:flex; gap:20px; justify-content:space-between; align-items:baseline; padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid hsl(var(--border)); }
.t25 .t25-service-group-heading h3 { font-size:clamp(24px,2.6vw,34px); line-height:1.2; margin:0; font-weight:500; }
.t25 .t25-service-group-heading p { font-size:13px; line-height:1.6; color:hsl(var(--muted-foreground)); margin:0; max-width:300px; }
.t25 .t25-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.t25 .t25-service-card { position:relative; padding:30px 32px 32px; border-radius:4px; transition:border-color .2s,background .2s,transform .2s; }
.t25 .t25-service-card .t25-card-number { display:flex; align-items:center; justify-content:center; width:36px; height:36px; margin:0 0 24px; border:1px solid hsl(var(--primary) / .4); border-radius:3px; background:hsl(var(--primary) / .08); letter-spacing:0; font-size:12px; }
.t25 .t25-service-card h4 { font-size:clamp(22px,2vw,28px); font-weight:500; line-height:1.18; margin:0 0 16px; max-width:420px; text-wrap:balance; }
.t25 .t25-service-card p { font-size:15px; line-height:1.8; max-width:520px; }
.t25 #business-optimization { grid-column:auto; background:hsl(var(--card)); border-color:hsl(var(--border)); }
.t25 .t25-service-card:hover,.t25 .t25-service-card:focus-within,.t25 .t25-service-card:target { border-color:hsl(var(--primary)); background:hsl(var(--primary) / .035); transform:translateY(-3px); }
.t25 .t25-service-card:hover .t25-card-number,.t25 .t25-service-card:target .t25-card-number { background:hsl(var(--primary)); color:hsl(var(--primary-foreground)); }
.t25 .t25-workshop-audience { border:1px solid hsl(var(--border)); background:hsl(var(--card)); border-radius:4px; padding:28px; transition:border-color .2s,transform .2s; }
.t25 .t25-workshop-audience:before { content:''; display:block; width:12px; height:12px; background:hsl(var(--primary)); margin-bottom:24px; }
.t25 .t25-workshop-audience:hover { border-color:hsl(var(--primary)); transform:translateY(-3px); }
.t25 .t25-project-search { max-width:850px; margin:0 0 42px; }
.t25 .t25-project-search label { display:block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px; color:hsl(var(--foreground)); }
.t25 .t25-search-row { display:flex; align-items:center; gap:16px; border:1px solid hsl(var(--border)); background:hsl(var(--card)); border-radius:4px; padding:8px 8px 8px 20px; }
.t25 .t25-search-row:focus-within { border-color:hsl(var(--primary)); }
.t25 .t25-search-icon { display:flex; color:hsl(var(--primary)); flex-shrink:0; }
.t25 .t25-search-row input { color:hsl(var(--foreground)); border:0; padding:14px 0; flex:1; min-width:0; width:100%; font-size:15px; line-height:1.4; }
.t25 .t25-search-row input::placeholder { color:hsl(var(--muted-foreground)); opacity:1; }
.t25 .t25-search-row input:focus-visible { outline-offset:1px; }
.t25 .t25-search-row button { border:0; background:hsl(var(--primary)); color:hsl(var(--primary-foreground)); font-size:14px; font-weight:600; padding:16px 24px; border-radius:3px; white-space:nowrap; }
.t25 .t25-work-results { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:20px; margin-bottom:28px; border-bottom:1px solid hsl(var(--border)); font-size:13px; }
.t25 .t25-work-results p { margin:0; overflow-wrap:anywhere; }
.t25 .t25-result-count { display:inline-block; color:hsl(var(--primary)); padding:2px 8px; border:1px solid hsl(var(--border)); margin-left:8px; font-size:11px; }
.t25 .t25-search-term { color:hsl(var(--muted-foreground)); }
.t25 .t25-work-results > a { color:hsl(var(--primary)); flex-shrink:0; }
.t25 .t25-project-card { display:flex; flex-direction:column; min-width:0; transition:border-color .2s,transform .2s; }
.t25 .t25-project-card:hover { transform:translateY(-4px); }
.t25 .t25-project-card-body { display:flex; flex-direction:column; flex:1; padding:26px; }
.t25 .t25-project-card-body time { font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:hsl(var(--muted-foreground)); margin-bottom:16px; }
.t25 .t25-project-card-body h2 { font-size:25px; font-weight:500; line-height:1.2; margin:0 0 16px; overflow-wrap:anywhere; }
.t25 .t25-project-card-body p { color:hsl(var(--muted-foreground)); font-size:14px; line-height:1.7; margin:0 0 28px; overflow-wrap:anywhere; }
.t25 .t25-project-read { display:flex; justify-content:space-between; align-items:center; color:hsl(var(--primary)); font-size:12px; margin-top:auto; border-top:1px solid hsl(var(--border)); padding-top:20px; }
.t25 .t25-project-read > span { font-size:20px; }
.t25 .t25-project-placeholder { aspect-ratio:16/10; display:flex; justify-content:space-between; align-items:flex-end; padding:28px; color:hsl(var(--primary)); background:linear-gradient(135deg,hsl(var(--primary) / .12),transparent); border-bottom:1px solid hsl(var(--border)); }
.t25 .t25-project-placeholder > span:first-child { font-family:Archivo,sans-serif; font-size:88px; font-weight:700; line-height:1; letter-spacing:-.07em; opacity:.45; }
.t25 .t25-project-placeholder > span:last-child { font-size:36px; }
.t25 .t25-work-empty { padding:56px 28px; border:1px solid hsl(var(--border)); border-radius:4px; background:hsl(var(--card)); text-align:center; }
.t25 .t25-empty-mark { display:inline-block; color:hsl(var(--primary)); font-size:32px; margin-bottom:16px; }
.t25 .t25-work-empty h2 { font-size:clamp(26px,3vw,36px); font-weight:500; margin:0 0 18px; line-height:1.15; }
.t25 .t25-work-empty p { max-width:480px; margin:0 auto; color:hsl(var(--muted-foreground)); font-size:15px; line-height:1.75; }
.t25 .t25-work-empty a { display:inline-block; color:hsl(var(--primary)); margin-top:24px; }
.t25 .t25-story-header { max-width:1000px; }
.t25 .t25-story-intro { max-width:740px; color:hsl(var(--muted-foreground)); font-size:clamp(18px,2vw,22px); line-height:1.7; margin:0 0 40px; }
.t25 .t25-project-content { max-width:800px; margin:0 auto; overflow-wrap:anywhere; }
.t25 .t25-project-content figure { margin:32px 0; }
.t25 .t25-project-content figcaption { font-size:13px; color:hsl(var(--muted-foreground)); }
.t25 .t25-project-content img { height:auto; border-radius:4px; }
.t25 .t25-project-content video,.t25 .t25-project-content iframe { max-width:100%; }
.t25 .t25-story-footer { display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; border-top:1px solid hsl(var(--border)); padding-top:28px; margin-top:64px; color:hsl(var(--primary)); font-size:14px; }
@media(max-width:767px) {
 .t25 .t25-service-directory { padding-top:40px; padding-bottom:56px; }
 .t25 .t25-service-nav { margin-bottom:40px; gap:8px; }
 .t25 .t25-service-nav a { width:100%; }
 .t25 .t25-service-group { margin-top:40px; }
 .t25 .t25-service-group-heading { display:block; }
 .t25 .t25-service-group-heading p { margin-top:10px; max-width:none; }
 .t25 .t25-services-grid { grid-template-columns:1fr; gap:16px; }
 .t25 .t25-service-card { padding:24px; }
 .t25 .t25-service-card h4 { font-size:25px; }
 .t25 .t25-search-row { flex-wrap:wrap; gap:8px; padding:12px; }
 .t25 .t25-search-icon { display:none; }
 .t25 .t25-search-row input { flex-basis:100%; padding:10px 4px; font-size:16px; }
 .t25 .t25-search-row button { width:100%; padding:13px; }
 .t25 .t25-work-results { align-items:flex-start; flex-wrap:wrap; }
 .t25 .t25-project-content { font-size:16px; }
 .t25 .t25-project-content h2 { font-size:28px; }
}

/* 1.3 — lightweight, consistent outline icons for every service. */
.t25 .t25-service-card-heading { display:flex; align-items:center; gap:24px; margin-bottom:24px; }
.t25 .t25-service-icon { display:block; flex:0 0 56px; width:56px; height:56px; color:hsl(var(--primary)); overflow:visible; }
.t25 .t25-service-card-heading h4 { margin:0; flex:1; min-width:0; text-wrap:initial; }
.t25 .t25-service-card { padding-top:32px; }
.t25 .t25-workshop-title { display:flex; align-items:flex-start; gap:24px; }
.t25 .t25-workshop-title .t25-service-icon { margin-top:5px; }
@media(max-width:767px) {
 .t25 .t25-service-card-heading { gap:18px; margin-bottom:20px; }
 .t25 .t25-service-icon { flex-basis:48px; width:48px; height:48px; }
 .t25 .t25-service-card-heading h4 { font-size:23px; }
 .t25 .t25-workshop-title { display:block; }
 .t25 .t25-workshop-title .t25-service-icon { margin:0 0 24px; }
}

/* 1.4 — paragraph alignment and emphasis; saved copy stays untouched. */
.t25 .t25-section p.leading-relaxed,
.t25 .elementor-widget-t25-home-2 p.font-display,
.t25 .elementor-widget-t25-about-2 p:not(.uppercase),
.t25 .t25-overview-intro,
.t25 .t25-card-description,
.t25 .t25-services-lead,
.t25 .t25-services-heading > p:last-child,
.t25 .t25-service-group-heading p,
.t25 .t25-service-card p,
.t25 .t25-workshop-intro > p,
.t25 .t25-workshop-audience p,
.t25 .t25-service-cta > p:not(:first-child),
.t25 .t25-project-card-body p,
.t25 .t25-work-empty p,
.t25 .t25-story-intro,
.t25 .t25-project-content p,
.t25 > footer p.max-w-sm {
 text-align:justify;
 text-align-last:start;
 text-wrap:wrap;
}
.t25 .elementor-widget-t25-home-2 p .text-primary,
.t25 .elementor-widget-t25-about-2 p .text-primary {
 font-weight:700;
}
